	.file	"extr_dpp.c_dpp_set_pubkey_point_group.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"DPP: Out of memory"
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC1:
	.string	"DPP: OpenSSL: EC_POINT_set_affine_coordinates_GFp failed: %s"
	.section	.rodata.str1.1
.LC2:
	.string	"DPP: Invalid point"
	.section	.rodata.str1.8
	.align 8
.LC3:
	.string	"DPP: dpp_set_pubkey_point_group"
	.section	.rodata.str1.1
.LC4:
	.string	"DPP: Failed to set EC_KEY: %s"
	.section	.rodata.str1.8
	.align 8
.LC5:
	.string	"DPP: Could not create EVP_PKEY"
	.text
	.p2align 4
	.type	dpp_set_pubkey_point_group, @function
dpp_set_pubkey_point_group:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	xor	eax, eax
	mov	r15, rcx
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	mov	r14, rsi
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	mov	r13, rdi
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	mov	rbx, rdx
	sub	rsp, 8
	.cfi_def_cfa_offset 64
	call	BN_CTX_new@PLT
	test	rax, rax
	je	.L19
	mov	rdi, r13
	mov	r12, rax
	call	EC_POINT_new@PLT
	xor	edx, edx
	mov	rsi, r15
	mov	rdi, r14
	mov	rbp, rax
	call	BN_bin2bn@PLT
	xor	edx, edx
	mov	rsi, r15
	mov	rdi, rbx
	mov	r14, rax
	call	BN_bin2bn@PLT
	test	rbp, rbp
	sete	dl
	test	r14, r14
	mov	r15, rax
	sete	al
	or	dl, al
	jne	.L15
	test	r15, r15
	je	.L15
	mov	r8, r12
	mov	rcx, r15
	mov	rdx, r14
	mov	rsi, rbp
	mov	rdi, r13
	call	EC_POINT_set_affine_coordinates_GFp@PLT
	test	eax, eax
	je	.L20
	mov	rdx, r12
	mov	rsi, rbp
	mov	rdi, r13
	call	EC_POINT_is_on_curve@PLT
	test	eax, eax
	je	.L9
	mov	rsi, rbp
	mov	rdi, r13
	call	EC_POINT_is_at_infinity@PLT
	test	rax, rax
	je	.L21
.L9:
	lea	rsi, .LC2[rip]
.L17:
	mov	edi, DWORD PTR MSG_ERROR[rip]
	xor	eax, eax
	xor	r13d, r13d
	xor	ebx, ebx
	call	wpa_printf@PLT
.L6:
	mov	rdi, r13
	xor	r13d, r13d
	call	EVP_PKEY_free@PLT
.L14:
	mov	rdi, r14
	call	BN_free@PLT
	mov	rdi, r15
	call	BN_free@PLT
	mov	rdi, rbx
	call	EC_KEY_free@PLT
	mov	rdi, rbp
	call	EC_POINT_free@PLT
	mov	rdi, r12
	call	BN_CTX_free@PLT
.L1:
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	mov	rax, r13
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L15:
	.cfi_restore_state
	lea	rsi, .LC0[rip]
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L20:
	call	ERR_get_error@PLT
	xor	esi, esi
	xor	r13d, r13d
	xor	ebx, ebx
	mov	edi, eax
	call	ERR_error_string@PLT
	mov	edi, DWORD PTR MSG_ERROR[rip]
	lea	rsi, .LC1[rip]
	mov	edx, eax
	xor	eax, eax
	call	wpa_printf@PLT
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L21:
	mov	rdx, rbp
	mov	rsi, r13
	lea	rdi, .LC3[rip]
	call	dpp_debug_print_point@PLT
	xor	eax, eax
	call	EC_KEY_new@PLT
	mov	rbx, rax
	test	rax, rax
	je	.L11
	mov	rsi, r13
	mov	rdi, rax
	call	EC_KEY_set_group@PLT
	cmp	eax, 1
	je	.L22
.L11:
	xor	eax, eax
	xor	r13d, r13d
	call	ERR_get_error@PLT
	xor	esi, esi
	mov	edi, eax
	call	ERR_error_string@PLT
	mov	edi, DWORD PTR MSG_ERROR[rip]
	lea	rsi, .LC4[rip]
	mov	edx, eax
	xor	eax, eax
	call	wpa_printf@PLT
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L19:
	mov	edi, DWORD PTR MSG_ERROR[rip]
	lea	rsi, .LC0[rip]
	xor	eax, eax
	xor	r13d, r13d
	call	wpa_printf@PLT
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L22:
	mov	rsi, rbp
	mov	rdi, rbx
	call	EC_KEY_set_public_key@PLT
	cmp	eax, 1
	jne	.L11
	mov	esi, DWORD PTR OPENSSL_EC_NAMED_CURVE[rip]
	mov	rdi, rbx
	call	EC_KEY_set_asn1_flag@PLT
	xor	eax, eax
	call	EVP_PKEY_new@PLT
	mov	r13, rax
	test	rax, rax
	je	.L13
	mov	rsi, rbx
	mov	rdi, rax
	call	EVP_PKEY_set1_EC_KEY@PLT
	cmp	eax, 1
	je	.L14
.L13:
	mov	edi, DWORD PTR MSG_ERROR[rip]
	lea	rsi, .LC5[rip]
	xor	eax, eax
	call	wpa_printf@PLT
	jmp	.L6
	.cfi_endproc
.LFE0:
	.size	dpp_set_pubkey_point_group, .-dpp_set_pubkey_point_group
	.comm	OPENSSL_EC_NAMED_CURVE,4,4
	.comm	MSG_ERROR,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_dpp.c_dpp_set_pubkey_point_group.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"DPP: Out of memory\000"
	.align	2
.LC1:
	.ascii	"DPP: OpenSSL: EC_POINT_set_affine_coordinates_GFp f"
	.ascii	"ailed: %s\000"
	.align	2
.LC2:
	.ascii	"DPP: Invalid point\000"
	.align	2
.LC3:
	.ascii	"DPP: dpp_set_pubkey_point_group\000"
	.align	2
.LC4:
	.ascii	"DPP: Failed to set EC_KEY: %s\000"
	.align	2
.LC5:
	.ascii	"DPP: Could not create EVP_PKEY\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	dpp_set_pubkey_point_group, %function
dpp_set_pubkey_point_group:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	sub	sp, sp, #12
	mov	r6, r0
	mov	r7, r1
	mov	r9, r2
	mov	r8, r3
	bl	BN_CTX_new
	subs	r4, r0, #0
	beq	.L16
	mov	r0, r6
	bl	EC_POINT_new
	mov	r1, r8
	mov	r5, r0
	mov	r2, #0
	mov	r0, r7
	bl	BN_bin2bn
	mov	r7, r0
	mov	r1, r8
	mov	r2, #0
	mov	r0, r9
	bl	BN_bin2bn
	clz	r2, r7
	cmp	r5, #0
	lsr	r2, r2, #5
	moveq	r2, #1
	cmp	r0, #0
	moveq	r2, #1
	cmp	r2, #0
	mov	r8, r0
	bne	.L17
	mov	r3, r0
	mov	r2, r7
	mov	r1, r5
	mov	r0, r6
	str	r4, [sp]
	bl	EC_POINT_set_affine_coordinates_GFp
	subs	r9, r0, #0
	beq	.L18
	mov	r2, r4
	mov	r1, r5
	mov	r0, r6
	bl	EC_POINT_is_on_curve
	cmp	r0, #0
	beq	.L8
	mov	r1, r5
	mov	r0, r6
	bl	EC_POINT_is_at_infinity
	cmp	r0, #0
	beq	.L19
.L8:
	mov	r6, #0
	ldr	r3, .L21
	ldr	r1, .L21+4
	ldr	r0, [r3]
	bl	wpa_printf
	mov	r10, r6
.L5:
	mov	r0, r6
	bl	EVP_PKEY_free
	mov	r6, #0
.L13:
	mov	r0, r7
	bl	BN_free
	mov	r0, r8
	bl	BN_free
	mov	r0, r10
	bl	EC_KEY_free
	mov	r0, r5
	bl	EC_POINT_free
	mov	r0, r4
	bl	BN_CTX_free
.L1:
	mov	r0, r6
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L17:
	mov	r6, #0
	ldr	r3, .L21
	ldr	r1, .L21+8
	ldr	r0, [r3]
	bl	wpa_printf
	mov	r10, r6
	b	.L5
.L18:
	ldr	r3, .L21
	mov	r6, r9
	ldr	fp, [r3]
	bl	ERR_get_error
	mov	r1, r9
	bl	ERR_error_string
	ldr	r1, .L21+12
	mov	r2, r0
	mov	r0, fp
	mov	r10, r9
	bl	wpa_printf
	b	.L5
.L19:
	mov	r2, r5
	mov	r1, r6
	ldr	r0, .L21+16
	bl	dpp_debug_print_point
	bl	EC_KEY_new
	subs	r10, r0, #0
	beq	.L10
	mov	r1, r6
	bl	EC_KEY_set_group
	cmp	r0, #1
	beq	.L20
.L10:
	mov	r6, #0
	ldr	r3, .L21
	ldr	r9, [r3]
	bl	ERR_get_error
	mov	r1, r6
	bl	ERR_error_string
	ldr	r1, .L21+20
	mov	r2, r0
	mov	r0, r9
	bl	wpa_printf
	b	.L5
.L16:
	ldr	r3, .L21
	ldr	r1, .L21+8
	ldr	r0, [r3]
	mov	r6, r4
	bl	wpa_printf
	b	.L1
.L20:
	mov	r1, r5
	mov	r0, r10
	bl	EC_KEY_set_public_key
	cmp	r0, #1
	bne	.L10
	ldr	r3, .L21+24
	mov	r0, r10
	ldr	r1, [r3]
	bl	EC_KEY_set_asn1_flag
	bl	EVP_PKEY_new
	subs	r6, r0, #0
	beq	.L12
	mov	r1, r10
	bl	EVP_PKEY_set1_EC_KEY
	cmp	r0, #1
	beq	.L13
.L12:
	ldr	r3, .L21
	ldr	r1, .L21+28
	ldr	r0, [r3]
	bl	wpa_printf
	b	.L5
.L22:
	.align	2
.L21:
	.word	MSG_ERROR
	.word	.LC2
	.word	.LC0
	.word	.LC1
	.word	.LC3
	.word	.LC4
	.word	OPENSSL_EC_NAMED_CURVE
	.word	.LC5
	.size	dpp_set_pubkey_point_group, .-dpp_set_pubkey_point_group
	.comm	OPENSSL_EC_NAMED_CURVE,4,4
	.comm	MSG_ERROR,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
