	.file	"272083.c"
	.intel_syntax noprefix
	.text
	.type	fiat_secp256k1_value_barrier_u32, @function
fiat_secp256k1_value_barrier_u32:
.LFB0:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	fiat_secp256k1_value_barrier_u32, .-fiat_secp256k1_value_barrier_u32
	.type	fiat_secp256k1_addcarryx_u32, @function
fiat_secp256k1_addcarryx_u32:
.LFB1:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	eax, edx
	mov	DWORD PTR -40[rbp], ecx
	mov	DWORD PTR -44[rbp], r8d
	mov	BYTE PTR -36[rbp], al
	movzx	edx, BYTE PTR -36[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -44[rbp]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 32
	mov	BYTE PTR -13[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -32[rbp]
	movzx	edx, BYTE PTR -13[rbp]
	mov	BYTE PTR [rax], dl
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	fiat_secp256k1_addcarryx_u32, .-fiat_secp256k1_addcarryx_u32
	.type	fiat_secp256k1_subborrowx_u32, @function
fiat_secp256k1_subborrowx_u32:
.LFB2:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	eax, edx
	mov	DWORD PTR -40[rbp], ecx
	mov	DWORD PTR -44[rbp], r8d
	mov	BYTE PTR -36[rbp], al
	mov	eax, DWORD PTR -40[rbp]
	movzx	edx, BYTE PTR -36[rbp]
	sub	rax, rdx
	mov	edx, DWORD PTR -44[rbp]
	sub	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sar	rax, 32
	mov	BYTE PTR -13[rbp], al
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR [rax], edx
	movzx	eax, BYTE PTR -13[rbp]
	neg	eax
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	fiat_secp256k1_subborrowx_u32, .-fiat_secp256k1_subborrowx_u32
	.type	fiat_secp256k1_mulx_u32, @function
fiat_secp256k1_mulx_u32:
.LFB3:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	DWORD PTR -40[rbp], ecx
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -40[rbp]
	imul	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 32
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR [rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	fiat_secp256k1_mulx_u32, .-fiat_secp256k1_mulx_u32
	.type	fiat_secp256k1_cmovznz_u32, @function
fiat_secp256k1_cmovznz_u32:
.LFB4:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -32[rbp], rdi
	mov	eax, esi
	mov	DWORD PTR -40[rbp], edx
	mov	DWORD PTR -44[rbp], ecx
	mov	BYTE PTR -36[rbp], al
	cmp	BYTE PTR -36[rbp], 0
	setne	al
	mov	BYTE PTR -17[rbp], al
	movzx	eax, BYTE PTR -17[rbp]
	neg	eax
	movsx	eax, al
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	fiat_secp256k1_value_barrier_u32
	and	eax, DWORD PTR -44[rbp]
	mov	ebx, eax
	mov	eax, DWORD PTR -16[rbp]
	not	eax
	mov	edi, eax
	call	fiat_secp256k1_value_barrier_u32
	and	eax, DWORD PTR -40[rbp]
	or	eax, ebx
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR [rax], edx
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	fiat_secp256k1_cmovznz_u32, .-fiat_secp256k1_cmovznz_u32
	.type	fiat_secp256k1_mul, @function
fiat_secp256k1_mul:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 2576
	mov	QWORD PTR -2552[rbp], rdi
	mov	QWORD PTR -2560[rbp], rsi
	mov	QWORD PTR -2568[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -2560[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -132[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -128[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR -124[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	mov	eax, DWORD PTR 20[rax]
	mov	DWORD PTR -116[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -112[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR -108[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -104[rbp], eax
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	lea	rsi, -2272[rbp]
	lea	rax, -2276[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	lea	rsi, -2264[rbp]
	lea	rax, -2268[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	lea	rsi, -2256[rbp]
	lea	rax, -2260[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	lea	rsi, -2248[rbp]
	lea	rax, -2252[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	lea	rsi, -2240[rbp]
	lea	rax, -2244[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	lea	rsi, -2232[rbp]
	lea	rax, -2236[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	lea	rsi, -2224[rbp]
	lea	rax, -2228[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	lea	rsi, -2216[rbp]
	lea	rax, -2220[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -2228[rbp]
	mov	edx, DWORD PTR -2216[rbp]
	lea	rsi, -2532[rbp]
	lea	rax, -2212[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2236[rbp]
	mov	ecx, DWORD PTR -2224[rbp]
	movzx	eax, BYTE PTR -2532[rbp]
	movzx	edx, al
	lea	rsi, -2531[rbp]
	lea	rax, -2208[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2244[rbp]
	mov	ecx, DWORD PTR -2232[rbp]
	movzx	eax, BYTE PTR -2531[rbp]
	movzx	edx, al
	lea	rsi, -2530[rbp]
	lea	rax, -2204[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2252[rbp]
	mov	ecx, DWORD PTR -2240[rbp]
	movzx	eax, BYTE PTR -2530[rbp]
	movzx	edx, al
	lea	rsi, -2529[rbp]
	lea	rax, -2200[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2260[rbp]
	mov	ecx, DWORD PTR -2248[rbp]
	movzx	eax, BYTE PTR -2529[rbp]
	movzx	edx, al
	lea	rsi, -2528[rbp]
	lea	rax, -2196[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2268[rbp]
	mov	ecx, DWORD PTR -2256[rbp]
	movzx	eax, BYTE PTR -2528[rbp]
	movzx	edx, al
	lea	rsi, -2527[rbp]
	lea	rax, -2192[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2276[rbp]
	mov	ecx, DWORD PTR -2264[rbp]
	movzx	eax, BYTE PTR -2527[rbp]
	movzx	edx, al
	lea	rsi, -2526[rbp]
	lea	rax, -2188[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2526[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2272[rbp]
	add	eax, edx
	mov	DWORD PTR -100[rbp], eax
	mov	edx, DWORD PTR -2220[rbp]
	lea	rsi, -2180[rbp]
	lea	rax, -2184[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -2184[rbp]
	lea	rsi, -2172[rbp]
	lea	rax, -2176[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -2184[rbp]
	lea	rsi, -2164[rbp]
	lea	rax, -2168[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -2184[rbp]
	lea	rsi, -2156[rbp]
	lea	rax, -2160[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -2184[rbp]
	lea	rsi, -2148[rbp]
	lea	rax, -2152[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -2184[rbp]
	lea	rsi, -2140[rbp]
	lea	rax, -2144[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -2184[rbp]
	lea	rsi, -2132[rbp]
	lea	rax, -2136[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -2184[rbp]
	lea	rsi, -2124[rbp]
	lea	rax, -2128[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -2184[rbp]
	lea	rsi, -2116[rbp]
	lea	rax, -2120[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -2128[rbp]
	mov	edx, DWORD PTR -2116[rbp]
	lea	rsi, -2525[rbp]
	lea	rax, -2112[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2136[rbp]
	mov	ecx, DWORD PTR -2124[rbp]
	movzx	eax, BYTE PTR -2525[rbp]
	movzx	edx, al
	lea	rsi, -2524[rbp]
	lea	rax, -2108[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2144[rbp]
	mov	ecx, DWORD PTR -2132[rbp]
	movzx	eax, BYTE PTR -2524[rbp]
	movzx	edx, al
	lea	rsi, -2523[rbp]
	lea	rax, -2104[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2152[rbp]
	mov	ecx, DWORD PTR -2140[rbp]
	movzx	eax, BYTE PTR -2523[rbp]
	movzx	edx, al
	lea	rsi, -2522[rbp]
	lea	rax, -2100[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2160[rbp]
	mov	ecx, DWORD PTR -2148[rbp]
	movzx	eax, BYTE PTR -2522[rbp]
	movzx	edx, al
	lea	rsi, -2521[rbp]
	lea	rax, -2096[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2168[rbp]
	mov	ecx, DWORD PTR -2156[rbp]
	movzx	eax, BYTE PTR -2521[rbp]
	movzx	edx, al
	lea	rsi, -2520[rbp]
	lea	rax, -2092[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2176[rbp]
	mov	ecx, DWORD PTR -2164[rbp]
	movzx	eax, BYTE PTR -2520[rbp]
	movzx	edx, al
	lea	rsi, -2519[rbp]
	lea	rax, -2088[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2519[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2172[rbp]
	add	eax, edx
	mov	DWORD PTR -96[rbp], eax
	mov	ecx, DWORD PTR -2120[rbp]
	mov	edx, DWORD PTR -2220[rbp]
	lea	rsi, -2518[rbp]
	lea	rax, -2084[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2112[rbp]
	mov	ecx, DWORD PTR -2212[rbp]
	movzx	eax, BYTE PTR -2518[rbp]
	movzx	edx, al
	lea	rsi, -2517[rbp]
	lea	rax, -2080[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2108[rbp]
	mov	ecx, DWORD PTR -2208[rbp]
	movzx	eax, BYTE PTR -2517[rbp]
	movzx	edx, al
	lea	rsi, -2516[rbp]
	lea	rax, -2076[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2104[rbp]
	mov	ecx, DWORD PTR -2204[rbp]
	movzx	eax, BYTE PTR -2516[rbp]
	movzx	edx, al
	lea	rsi, -2515[rbp]
	lea	rax, -2072[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2100[rbp]
	mov	ecx, DWORD PTR -2200[rbp]
	movzx	eax, BYTE PTR -2515[rbp]
	movzx	edx, al
	lea	rsi, -2514[rbp]
	lea	rax, -2068[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2096[rbp]
	mov	ecx, DWORD PTR -2196[rbp]
	movzx	eax, BYTE PTR -2514[rbp]
	movzx	edx, al
	lea	rsi, -2513[rbp]
	lea	rax, -2064[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2092[rbp]
	mov	ecx, DWORD PTR -2192[rbp]
	movzx	eax, BYTE PTR -2513[rbp]
	movzx	edx, al
	lea	rsi, -2512[rbp]
	lea	rax, -2060[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2088[rbp]
	mov	ecx, DWORD PTR -2188[rbp]
	movzx	eax, BYTE PTR -2512[rbp]
	movzx	edx, al
	lea	rsi, -2511[rbp]
	lea	rax, -2056[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2511[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -96[rbp]
	mov	ecx, DWORD PTR -100[rbp]
	lea	rsi, -2510[rbp]
	lea	rax, -2052[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -132[rbp]
	lea	rsi, -2044[rbp]
	lea	rax, -2048[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -132[rbp]
	lea	rsi, -2036[rbp]
	lea	rax, -2040[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -132[rbp]
	lea	rsi, -2028[rbp]
	lea	rax, -2032[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -132[rbp]
	lea	rsi, -2020[rbp]
	lea	rax, -2024[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -132[rbp]
	lea	rsi, -2012[rbp]
	lea	rax, -2016[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -132[rbp]
	lea	rsi, -2004[rbp]
	lea	rax, -2008[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -132[rbp]
	lea	rsi, -1996[rbp]
	lea	rax, -2000[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -132[rbp]
	lea	rsi, -1988[rbp]
	lea	rax, -1992[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -2000[rbp]
	mov	edx, DWORD PTR -1988[rbp]
	lea	rsi, -2509[rbp]
	lea	rax, -1984[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2008[rbp]
	mov	ecx, DWORD PTR -1996[rbp]
	movzx	eax, BYTE PTR -2509[rbp]
	movzx	edx, al
	lea	rsi, -2508[rbp]
	lea	rax, -1980[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2016[rbp]
	mov	ecx, DWORD PTR -2004[rbp]
	movzx	eax, BYTE PTR -2508[rbp]
	movzx	edx, al
	lea	rsi, -2507[rbp]
	lea	rax, -1976[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2024[rbp]
	mov	ecx, DWORD PTR -2012[rbp]
	movzx	eax, BYTE PTR -2507[rbp]
	movzx	edx, al
	lea	rsi, -2506[rbp]
	lea	rax, -1972[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2032[rbp]
	mov	ecx, DWORD PTR -2020[rbp]
	movzx	eax, BYTE PTR -2506[rbp]
	movzx	edx, al
	lea	rsi, -2505[rbp]
	lea	rax, -1968[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2040[rbp]
	mov	ecx, DWORD PTR -2028[rbp]
	movzx	eax, BYTE PTR -2505[rbp]
	movzx	edx, al
	lea	rsi, -2504[rbp]
	lea	rax, -1964[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2048[rbp]
	mov	ecx, DWORD PTR -2036[rbp]
	movzx	eax, BYTE PTR -2504[rbp]
	movzx	edx, al
	lea	rsi, -2503[rbp]
	lea	rax, -1960[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2503[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2044[rbp]
	add	eax, edx
	mov	DWORD PTR -92[rbp], eax
	mov	ecx, DWORD PTR -1992[rbp]
	mov	edx, DWORD PTR -2080[rbp]
	lea	rsi, -2502[rbp]
	lea	rax, -1956[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1984[rbp]
	mov	ecx, DWORD PTR -2076[rbp]
	movzx	eax, BYTE PTR -2502[rbp]
	movzx	edx, al
	lea	rsi, -2501[rbp]
	lea	rax, -1952[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1980[rbp]
	mov	ecx, DWORD PTR -2072[rbp]
	movzx	eax, BYTE PTR -2501[rbp]
	movzx	edx, al
	lea	rsi, -2500[rbp]
	lea	rax, -1948[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1976[rbp]
	mov	ecx, DWORD PTR -2068[rbp]
	movzx	eax, BYTE PTR -2500[rbp]
	movzx	edx, al
	lea	rsi, -2499[rbp]
	lea	rax, -1944[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1972[rbp]
	mov	ecx, DWORD PTR -2064[rbp]
	movzx	eax, BYTE PTR -2499[rbp]
	movzx	edx, al
	lea	rsi, -2498[rbp]
	lea	rax, -1940[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1968[rbp]
	mov	ecx, DWORD PTR -2060[rbp]
	movzx	eax, BYTE PTR -2498[rbp]
	movzx	edx, al
	lea	rsi, -2497[rbp]
	lea	rax, -1936[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1964[rbp]
	mov	ecx, DWORD PTR -2056[rbp]
	movzx	eax, BYTE PTR -2497[rbp]
	movzx	edx, al
	lea	rsi, -2496[rbp]
	lea	rax, -1932[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1960[rbp]
	mov	ecx, DWORD PTR -2052[rbp]
	movzx	eax, BYTE PTR -2496[rbp]
	movzx	edx, al
	lea	rsi, -2495[rbp]
	lea	rax, -1928[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2510[rbp]
	movzx	ecx, al
	movzx	eax, BYTE PTR -2495[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -92[rbp]
	lea	rsi, -2494[rbp]
	lea	rax, -1924[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -1956[rbp]
	lea	rsi, -1916[rbp]
	lea	rax, -1920[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1920[rbp]
	lea	rsi, -1908[rbp]
	lea	rax, -1912[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1920[rbp]
	lea	rsi, -1900[rbp]
	lea	rax, -1904[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1920[rbp]
	lea	rsi, -1892[rbp]
	lea	rax, -1896[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1920[rbp]
	lea	rsi, -1884[rbp]
	lea	rax, -1888[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1920[rbp]
	lea	rsi, -1876[rbp]
	lea	rax, -1880[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1920[rbp]
	lea	rsi, -1868[rbp]
	lea	rax, -1872[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1920[rbp]
	lea	rsi, -1860[rbp]
	lea	rax, -1864[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1920[rbp]
	lea	rsi, -1852[rbp]
	lea	rax, -1856[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1864[rbp]
	mov	edx, DWORD PTR -1852[rbp]
	lea	rsi, -2493[rbp]
	lea	rax, -1848[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1872[rbp]
	mov	ecx, DWORD PTR -1860[rbp]
	movzx	eax, BYTE PTR -2493[rbp]
	movzx	edx, al
	lea	rsi, -2492[rbp]
	lea	rax, -1844[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1880[rbp]
	mov	ecx, DWORD PTR -1868[rbp]
	movzx	eax, BYTE PTR -2492[rbp]
	movzx	edx, al
	lea	rsi, -2491[rbp]
	lea	rax, -1840[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1888[rbp]
	mov	ecx, DWORD PTR -1876[rbp]
	movzx	eax, BYTE PTR -2491[rbp]
	movzx	edx, al
	lea	rsi, -2490[rbp]
	lea	rax, -1836[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1896[rbp]
	mov	ecx, DWORD PTR -1884[rbp]
	movzx	eax, BYTE PTR -2490[rbp]
	movzx	edx, al
	lea	rsi, -2489[rbp]
	lea	rax, -1832[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1904[rbp]
	mov	ecx, DWORD PTR -1892[rbp]
	movzx	eax, BYTE PTR -2489[rbp]
	movzx	edx, al
	lea	rsi, -2488[rbp]
	lea	rax, -1828[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1912[rbp]
	mov	ecx, DWORD PTR -1900[rbp]
	movzx	eax, BYTE PTR -2488[rbp]
	movzx	edx, al
	lea	rsi, -2487[rbp]
	lea	rax, -1824[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2487[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1908[rbp]
	add	eax, edx
	mov	DWORD PTR -88[rbp], eax
	mov	ecx, DWORD PTR -1856[rbp]
	mov	edx, DWORD PTR -1956[rbp]
	lea	rsi, -2486[rbp]
	lea	rax, -1820[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1848[rbp]
	mov	ecx, DWORD PTR -1952[rbp]
	movzx	eax, BYTE PTR -2486[rbp]
	movzx	edx, al
	lea	rsi, -2485[rbp]
	lea	rax, -1816[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1844[rbp]
	mov	ecx, DWORD PTR -1948[rbp]
	movzx	eax, BYTE PTR -2485[rbp]
	movzx	edx, al
	lea	rsi, -2484[rbp]
	lea	rax, -1812[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1840[rbp]
	mov	ecx, DWORD PTR -1944[rbp]
	movzx	eax, BYTE PTR -2484[rbp]
	movzx	edx, al
	lea	rsi, -2483[rbp]
	lea	rax, -1808[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1836[rbp]
	mov	ecx, DWORD PTR -1940[rbp]
	movzx	eax, BYTE PTR -2483[rbp]
	movzx	edx, al
	lea	rsi, -2482[rbp]
	lea	rax, -1804[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1832[rbp]
	mov	ecx, DWORD PTR -1936[rbp]
	movzx	eax, BYTE PTR -2482[rbp]
	movzx	edx, al
	lea	rsi, -2481[rbp]
	lea	rax, -1800[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1828[rbp]
	mov	ecx, DWORD PTR -1932[rbp]
	movzx	eax, BYTE PTR -2481[rbp]
	movzx	edx, al
	lea	rsi, -2480[rbp]
	lea	rax, -1796[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1824[rbp]
	mov	ecx, DWORD PTR -1928[rbp]
	movzx	eax, BYTE PTR -2480[rbp]
	movzx	edx, al
	lea	rsi, -2479[rbp]
	lea	rax, -1792[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1924[rbp]
	movzx	eax, BYTE PTR -2479[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -88[rbp]
	lea	rsi, -2478[rbp]
	lea	rax, -1788[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2478[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2494[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -84[rbp], eax
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	lea	rsi, -1780[rbp]
	lea	rax, -1784[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	lea	rsi, -1772[rbp]
	lea	rax, -1776[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	lea	rsi, -1764[rbp]
	lea	rax, -1768[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	lea	rsi, -1756[rbp]
	lea	rax, -1760[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	lea	rsi, -1748[rbp]
	lea	rax, -1752[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	lea	rsi, -1740[rbp]
	lea	rax, -1744[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	lea	rsi, -1732[rbp]
	lea	rax, -1736[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	lea	rsi, -1724[rbp]
	lea	rax, -1728[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1736[rbp]
	mov	edx, DWORD PTR -1724[rbp]
	lea	rsi, -2477[rbp]
	lea	rax, -1720[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1744[rbp]
	mov	ecx, DWORD PTR -1732[rbp]
	movzx	eax, BYTE PTR -2477[rbp]
	movzx	edx, al
	lea	rsi, -2476[rbp]
	lea	rax, -1716[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1752[rbp]
	mov	ecx, DWORD PTR -1740[rbp]
	movzx	eax, BYTE PTR -2476[rbp]
	movzx	edx, al
	lea	rsi, -2475[rbp]
	lea	rax, -1712[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1760[rbp]
	mov	ecx, DWORD PTR -1748[rbp]
	movzx	eax, BYTE PTR -2475[rbp]
	movzx	edx, al
	lea	rsi, -2474[rbp]
	lea	rax, -1708[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1768[rbp]
	mov	ecx, DWORD PTR -1756[rbp]
	movzx	eax, BYTE PTR -2474[rbp]
	movzx	edx, al
	lea	rsi, -2473[rbp]
	lea	rax, -1704[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1776[rbp]
	mov	ecx, DWORD PTR -1764[rbp]
	movzx	eax, BYTE PTR -2473[rbp]
	movzx	edx, al
	lea	rsi, -2472[rbp]
	lea	rax, -1700[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1784[rbp]
	mov	ecx, DWORD PTR -1772[rbp]
	movzx	eax, BYTE PTR -2472[rbp]
	movzx	edx, al
	lea	rsi, -2471[rbp]
	lea	rax, -1696[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2471[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1780[rbp]
	add	eax, edx
	mov	DWORD PTR -80[rbp], eax
	mov	ecx, DWORD PTR -1728[rbp]
	mov	edx, DWORD PTR -1816[rbp]
	lea	rsi, -2470[rbp]
	lea	rax, -1692[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1720[rbp]
	mov	ecx, DWORD PTR -1812[rbp]
	movzx	eax, BYTE PTR -2470[rbp]
	movzx	edx, al
	lea	rsi, -2469[rbp]
	lea	rax, -1688[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1716[rbp]
	mov	ecx, DWORD PTR -1808[rbp]
	movzx	eax, BYTE PTR -2469[rbp]
	movzx	edx, al
	lea	rsi, -2468[rbp]
	lea	rax, -1684[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1712[rbp]
	mov	ecx, DWORD PTR -1804[rbp]
	movzx	eax, BYTE PTR -2468[rbp]
	movzx	edx, al
	lea	rsi, -2467[rbp]
	lea	rax, -1680[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1708[rbp]
	mov	ecx, DWORD PTR -1800[rbp]
	movzx	eax, BYTE PTR -2467[rbp]
	movzx	edx, al
	lea	rsi, -2466[rbp]
	lea	rax, -1676[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1704[rbp]
	mov	ecx, DWORD PTR -1796[rbp]
	movzx	eax, BYTE PTR -2466[rbp]
	movzx	edx, al
	lea	rsi, -2465[rbp]
	lea	rax, -1672[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1700[rbp]
	mov	ecx, DWORD PTR -1792[rbp]
	movzx	eax, BYTE PTR -2465[rbp]
	movzx	edx, al
	lea	rsi, -2464[rbp]
	lea	rax, -1668[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1696[rbp]
	mov	ecx, DWORD PTR -1788[rbp]
	movzx	eax, BYTE PTR -2464[rbp]
	movzx	edx, al
	lea	rsi, -2463[rbp]
	lea	rax, -1664[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2463[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -80[rbp]
	mov	ecx, DWORD PTR -84[rbp]
	lea	rsi, -2462[rbp]
	lea	rax, -1660[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -1692[rbp]
	lea	rsi, -1652[rbp]
	lea	rax, -1656[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1656[rbp]
	lea	rsi, -1644[rbp]
	lea	rax, -1648[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1656[rbp]
	lea	rsi, -1636[rbp]
	lea	rax, -1640[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1656[rbp]
	lea	rsi, -1628[rbp]
	lea	rax, -1632[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1656[rbp]
	lea	rsi, -1620[rbp]
	lea	rax, -1624[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1656[rbp]
	lea	rsi, -1612[rbp]
	lea	rax, -1616[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1656[rbp]
	lea	rsi, -1604[rbp]
	lea	rax, -1608[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1656[rbp]
	lea	rsi, -1596[rbp]
	lea	rax, -1600[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1656[rbp]
	lea	rsi, -1588[rbp]
	lea	rax, -1592[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1600[rbp]
	mov	edx, DWORD PTR -1588[rbp]
	lea	rsi, -2461[rbp]
	lea	rax, -1584[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1608[rbp]
	mov	ecx, DWORD PTR -1596[rbp]
	movzx	eax, BYTE PTR -2461[rbp]
	movzx	edx, al
	lea	rsi, -2460[rbp]
	lea	rax, -1580[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1616[rbp]
	mov	ecx, DWORD PTR -1604[rbp]
	movzx	eax, BYTE PTR -2460[rbp]
	movzx	edx, al
	lea	rsi, -2459[rbp]
	lea	rax, -1576[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1624[rbp]
	mov	ecx, DWORD PTR -1612[rbp]
	movzx	eax, BYTE PTR -2459[rbp]
	movzx	edx, al
	lea	rsi, -2458[rbp]
	lea	rax, -1572[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1632[rbp]
	mov	ecx, DWORD PTR -1620[rbp]
	movzx	eax, BYTE PTR -2458[rbp]
	movzx	edx, al
	lea	rsi, -2457[rbp]
	lea	rax, -1568[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1640[rbp]
	mov	ecx, DWORD PTR -1628[rbp]
	movzx	eax, BYTE PTR -2457[rbp]
	movzx	edx, al
	lea	rsi, -2456[rbp]
	lea	rax, -1564[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1648[rbp]
	mov	ecx, DWORD PTR -1636[rbp]
	movzx	eax, BYTE PTR -2456[rbp]
	movzx	edx, al
	lea	rsi, -2455[rbp]
	lea	rax, -1560[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2455[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1644[rbp]
	add	eax, edx
	mov	DWORD PTR -76[rbp], eax
	mov	ecx, DWORD PTR -1592[rbp]
	mov	edx, DWORD PTR -1692[rbp]
	lea	rsi, -2454[rbp]
	lea	rax, -1556[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1584[rbp]
	mov	ecx, DWORD PTR -1688[rbp]
	movzx	eax, BYTE PTR -2454[rbp]
	movzx	edx, al
	lea	rsi, -2453[rbp]
	lea	rax, -1552[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1580[rbp]
	mov	ecx, DWORD PTR -1684[rbp]
	movzx	eax, BYTE PTR -2453[rbp]
	movzx	edx, al
	lea	rsi, -2452[rbp]
	lea	rax, -1548[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1576[rbp]
	mov	ecx, DWORD PTR -1680[rbp]
	movzx	eax, BYTE PTR -2452[rbp]
	movzx	edx, al
	lea	rsi, -2451[rbp]
	lea	rax, -1544[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1572[rbp]
	mov	ecx, DWORD PTR -1676[rbp]
	movzx	eax, BYTE PTR -2451[rbp]
	movzx	edx, al
	lea	rsi, -2450[rbp]
	lea	rax, -1540[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1568[rbp]
	mov	ecx, DWORD PTR -1672[rbp]
	movzx	eax, BYTE PTR -2450[rbp]
	movzx	edx, al
	lea	rsi, -2449[rbp]
	lea	rax, -1536[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1564[rbp]
	mov	ecx, DWORD PTR -1668[rbp]
	movzx	eax, BYTE PTR -2449[rbp]
	movzx	edx, al
	lea	rsi, -2448[rbp]
	lea	rax, -1532[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1560[rbp]
	mov	ecx, DWORD PTR -1664[rbp]
	movzx	eax, BYTE PTR -2448[rbp]
	movzx	edx, al
	lea	rsi, -2447[rbp]
	lea	rax, -1528[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1660[rbp]
	movzx	eax, BYTE PTR -2447[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -76[rbp]
	lea	rsi, -2446[rbp]
	lea	rax, -1524[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2446[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2462[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	lea	rsi, -1516[rbp]
	lea	rax, -1520[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	lea	rsi, -1508[rbp]
	lea	rax, -1512[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	lea	rsi, -1500[rbp]
	lea	rax, -1504[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	lea	rsi, -1492[rbp]
	lea	rax, -1496[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	lea	rsi, -1484[rbp]
	lea	rax, -1488[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	lea	rsi, -1476[rbp]
	lea	rax, -1480[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	lea	rsi, -1468[rbp]
	lea	rax, -1472[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	lea	rsi, -1460[rbp]
	lea	rax, -1464[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1472[rbp]
	mov	edx, DWORD PTR -1460[rbp]
	lea	rsi, -2445[rbp]
	lea	rax, -1456[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1480[rbp]
	mov	ecx, DWORD PTR -1468[rbp]
	movzx	eax, BYTE PTR -2445[rbp]
	movzx	edx, al
	lea	rsi, -2444[rbp]
	lea	rax, -1452[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1488[rbp]
	mov	ecx, DWORD PTR -1476[rbp]
	movzx	eax, BYTE PTR -2444[rbp]
	movzx	edx, al
	lea	rsi, -2443[rbp]
	lea	rax, -1448[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1496[rbp]
	mov	ecx, DWORD PTR -1484[rbp]
	movzx	eax, BYTE PTR -2443[rbp]
	movzx	edx, al
	lea	rsi, -2442[rbp]
	lea	rax, -1444[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1504[rbp]
	mov	ecx, DWORD PTR -1492[rbp]
	movzx	eax, BYTE PTR -2442[rbp]
	movzx	edx, al
	lea	rsi, -2441[rbp]
	lea	rax, -1440[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1512[rbp]
	mov	ecx, DWORD PTR -1500[rbp]
	movzx	eax, BYTE PTR -2441[rbp]
	movzx	edx, al
	lea	rsi, -2440[rbp]
	lea	rax, -1436[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1520[rbp]
	mov	ecx, DWORD PTR -1508[rbp]
	movzx	eax, BYTE PTR -2440[rbp]
	movzx	edx, al
	lea	rsi, -2439[rbp]
	lea	rax, -1432[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2439[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1516[rbp]
	add	eax, edx
	mov	DWORD PTR -68[rbp], eax
	mov	ecx, DWORD PTR -1464[rbp]
	mov	edx, DWORD PTR -1552[rbp]
	lea	rsi, -2438[rbp]
	lea	rax, -1428[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1456[rbp]
	mov	ecx, DWORD PTR -1548[rbp]
	movzx	eax, BYTE PTR -2438[rbp]
	movzx	edx, al
	lea	rsi, -2437[rbp]
	lea	rax, -1424[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1452[rbp]
	mov	ecx, DWORD PTR -1544[rbp]
	movzx	eax, BYTE PTR -2437[rbp]
	movzx	edx, al
	lea	rsi, -2436[rbp]
	lea	rax, -1420[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1448[rbp]
	mov	ecx, DWORD PTR -1540[rbp]
	movzx	eax, BYTE PTR -2436[rbp]
	movzx	edx, al
	lea	rsi, -2435[rbp]
	lea	rax, -1416[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1444[rbp]
	mov	ecx, DWORD PTR -1536[rbp]
	movzx	eax, BYTE PTR -2435[rbp]
	movzx	edx, al
	lea	rsi, -2434[rbp]
	lea	rax, -1412[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1440[rbp]
	mov	ecx, DWORD PTR -1532[rbp]
	movzx	eax, BYTE PTR -2434[rbp]
	movzx	edx, al
	lea	rsi, -2433[rbp]
	lea	rax, -1408[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1436[rbp]
	mov	ecx, DWORD PTR -1528[rbp]
	movzx	eax, BYTE PTR -2433[rbp]
	movzx	edx, al
	lea	rsi, -2432[rbp]
	lea	rax, -1404[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1432[rbp]
	mov	ecx, DWORD PTR -1524[rbp]
	movzx	eax, BYTE PTR -2432[rbp]
	movzx	edx, al
	lea	rsi, -2431[rbp]
	lea	rax, -1400[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2431[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -68[rbp]
	mov	ecx, DWORD PTR -72[rbp]
	lea	rsi, -2430[rbp]
	lea	rax, -1396[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -1428[rbp]
	lea	rsi, -1388[rbp]
	lea	rax, -1392[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1380[rbp]
	lea	rax, -1384[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1372[rbp]
	lea	rax, -1376[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1364[rbp]
	lea	rax, -1368[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1356[rbp]
	lea	rax, -1360[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1348[rbp]
	lea	rax, -1352[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1340[rbp]
	lea	rax, -1344[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1332[rbp]
	lea	rax, -1336[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1324[rbp]
	lea	rax, -1328[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1336[rbp]
	mov	edx, DWORD PTR -1324[rbp]
	lea	rsi, -2429[rbp]
	lea	rax, -1320[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1344[rbp]
	mov	ecx, DWORD PTR -1332[rbp]
	movzx	eax, BYTE PTR -2429[rbp]
	movzx	edx, al
	lea	rsi, -2428[rbp]
	lea	rax, -1316[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1352[rbp]
	mov	ecx, DWORD PTR -1340[rbp]
	movzx	eax, BYTE PTR -2428[rbp]
	movzx	edx, al
	lea	rsi, -2427[rbp]
	lea	rax, -1312[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1360[rbp]
	mov	ecx, DWORD PTR -1348[rbp]
	movzx	eax, BYTE PTR -2427[rbp]
	movzx	edx, al
	lea	rsi, -2426[rbp]
	lea	rax, -1308[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1368[rbp]
	mov	ecx, DWORD PTR -1356[rbp]
	movzx	eax, BYTE PTR -2426[rbp]
	movzx	edx, al
	lea	rsi, -2425[rbp]
	lea	rax, -1304[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1376[rbp]
	mov	ecx, DWORD PTR -1364[rbp]
	movzx	eax, BYTE PTR -2425[rbp]
	movzx	edx, al
	lea	rsi, -2424[rbp]
	lea	rax, -1300[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1384[rbp]
	mov	ecx, DWORD PTR -1372[rbp]
	movzx	eax, BYTE PTR -2424[rbp]
	movzx	edx, al
	lea	rsi, -2423[rbp]
	lea	rax, -1296[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2423[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1380[rbp]
	add	eax, edx
	mov	DWORD PTR -64[rbp], eax
	mov	ecx, DWORD PTR -1328[rbp]
	mov	edx, DWORD PTR -1428[rbp]
	lea	rsi, -2422[rbp]
	lea	rax, -1292[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1320[rbp]
	mov	ecx, DWORD PTR -1424[rbp]
	movzx	eax, BYTE PTR -2422[rbp]
	movzx	edx, al
	lea	rsi, -2421[rbp]
	lea	rax, -1288[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1316[rbp]
	mov	ecx, DWORD PTR -1420[rbp]
	movzx	eax, BYTE PTR -2421[rbp]
	movzx	edx, al
	lea	rsi, -2420[rbp]
	lea	rax, -1284[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1312[rbp]
	mov	ecx, DWORD PTR -1416[rbp]
	movzx	eax, BYTE PTR -2420[rbp]
	movzx	edx, al
	lea	rsi, -2419[rbp]
	lea	rax, -1280[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1308[rbp]
	mov	ecx, DWORD PTR -1412[rbp]
	movzx	eax, BYTE PTR -2419[rbp]
	movzx	edx, al
	lea	rsi, -2418[rbp]
	lea	rax, -1276[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1304[rbp]
	mov	ecx, DWORD PTR -1408[rbp]
	movzx	eax, BYTE PTR -2418[rbp]
	movzx	edx, al
	lea	rsi, -2417[rbp]
	lea	rax, -1272[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1300[rbp]
	mov	ecx, DWORD PTR -1404[rbp]
	movzx	eax, BYTE PTR -2417[rbp]
	movzx	edx, al
	lea	rsi, -2416[rbp]
	lea	rax, -1268[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1296[rbp]
	mov	ecx, DWORD PTR -1400[rbp]
	movzx	eax, BYTE PTR -2416[rbp]
	movzx	edx, al
	lea	rsi, -2415[rbp]
	lea	rax, -1264[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1396[rbp]
	movzx	eax, BYTE PTR -2415[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -64[rbp]
	lea	rsi, -2414[rbp]
	lea	rax, -1260[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2414[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2430[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	lea	rsi, -1252[rbp]
	lea	rax, -1256[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	lea	rsi, -1244[rbp]
	lea	rax, -1248[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	lea	rsi, -1236[rbp]
	lea	rax, -1240[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	lea	rsi, -1228[rbp]
	lea	rax, -1232[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	lea	rsi, -1220[rbp]
	lea	rax, -1224[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	lea	rsi, -1212[rbp]
	lea	rax, -1216[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	lea	rsi, -1204[rbp]
	lea	rax, -1208[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	lea	rsi, -1196[rbp]
	lea	rax, -1200[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1208[rbp]
	mov	edx, DWORD PTR -1196[rbp]
	lea	rsi, -2413[rbp]
	lea	rax, -1192[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1216[rbp]
	mov	ecx, DWORD PTR -1204[rbp]
	movzx	eax, BYTE PTR -2413[rbp]
	movzx	edx, al
	lea	rsi, -2412[rbp]
	lea	rax, -1188[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1224[rbp]
	mov	ecx, DWORD PTR -1212[rbp]
	movzx	eax, BYTE PTR -2412[rbp]
	movzx	edx, al
	lea	rsi, -2411[rbp]
	lea	rax, -1184[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1232[rbp]
	mov	ecx, DWORD PTR -1220[rbp]
	movzx	eax, BYTE PTR -2411[rbp]
	movzx	edx, al
	lea	rsi, -2410[rbp]
	lea	rax, -1180[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1240[rbp]
	mov	ecx, DWORD PTR -1228[rbp]
	movzx	eax, BYTE PTR -2410[rbp]
	movzx	edx, al
	lea	rsi, -2409[rbp]
	lea	rax, -1176[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1248[rbp]
	mov	ecx, DWORD PTR -1236[rbp]
	movzx	eax, BYTE PTR -2409[rbp]
	movzx	edx, al
	lea	rsi, -2408[rbp]
	lea	rax, -1172[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1256[rbp]
	mov	ecx, DWORD PTR -1244[rbp]
	movzx	eax, BYTE PTR -2408[rbp]
	movzx	edx, al
	lea	rsi, -2407[rbp]
	lea	rax, -1168[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2407[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1252[rbp]
	add	eax, edx
	mov	DWORD PTR -56[rbp], eax
	mov	ecx, DWORD PTR -1200[rbp]
	mov	edx, DWORD PTR -1288[rbp]
	lea	rsi, -2406[rbp]
	lea	rax, -1164[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1192[rbp]
	mov	ecx, DWORD PTR -1284[rbp]
	movzx	eax, BYTE PTR -2406[rbp]
	movzx	edx, al
	lea	rsi, -2405[rbp]
	lea	rax, -1160[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1188[rbp]
	mov	ecx, DWORD PTR -1280[rbp]
	movzx	eax, BYTE PTR -2405[rbp]
	movzx	edx, al
	lea	rsi, -2404[rbp]
	lea	rax, -1156[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1184[rbp]
	mov	ecx, DWORD PTR -1276[rbp]
	movzx	eax, BYTE PTR -2404[rbp]
	movzx	edx, al
	lea	rsi, -2403[rbp]
	lea	rax, -1152[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1180[rbp]
	mov	ecx, DWORD PTR -1272[rbp]
	movzx	eax, BYTE PTR -2403[rbp]
	movzx	edx, al
	lea	rsi, -2402[rbp]
	lea	rax, -1148[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1176[rbp]
	mov	ecx, DWORD PTR -1268[rbp]
	movzx	eax, BYTE PTR -2402[rbp]
	movzx	edx, al
	lea	rsi, -2401[rbp]
	lea	rax, -1144[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1172[rbp]
	mov	ecx, DWORD PTR -1264[rbp]
	movzx	eax, BYTE PTR -2401[rbp]
	movzx	edx, al
	lea	rsi, -2400[rbp]
	lea	rax, -1140[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1168[rbp]
	mov	ecx, DWORD PTR -1260[rbp]
	movzx	eax, BYTE PTR -2400[rbp]
	movzx	edx, al
	lea	rsi, -2399[rbp]
	lea	rax, -1136[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2399[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -56[rbp]
	mov	ecx, DWORD PTR -60[rbp]
	lea	rsi, -2398[rbp]
	lea	rax, -1132[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -1164[rbp]
	lea	rsi, -1124[rbp]
	lea	rax, -1128[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1128[rbp]
	lea	rsi, -1116[rbp]
	lea	rax, -1120[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1128[rbp]
	lea	rsi, -1108[rbp]
	lea	rax, -1112[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1128[rbp]
	lea	rsi, -1100[rbp]
	lea	rax, -1104[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1128[rbp]
	lea	rsi, -1092[rbp]
	lea	rax, -1096[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1128[rbp]
	lea	rsi, -1084[rbp]
	lea	rax, -1088[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1128[rbp]
	lea	rsi, -1076[rbp]
	lea	rax, -1080[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1128[rbp]
	lea	rsi, -1068[rbp]
	lea	rax, -1072[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1128[rbp]
	lea	rsi, -1060[rbp]
	lea	rax, -1064[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1072[rbp]
	mov	edx, DWORD PTR -1060[rbp]
	lea	rsi, -2397[rbp]
	lea	rax, -1056[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1080[rbp]
	mov	ecx, DWORD PTR -1068[rbp]
	movzx	eax, BYTE PTR -2397[rbp]
	movzx	edx, al
	lea	rsi, -2396[rbp]
	lea	rax, -1052[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1088[rbp]
	mov	ecx, DWORD PTR -1076[rbp]
	movzx	eax, BYTE PTR -2396[rbp]
	movzx	edx, al
	lea	rsi, -2395[rbp]
	lea	rax, -1048[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1096[rbp]
	mov	ecx, DWORD PTR -1084[rbp]
	movzx	eax, BYTE PTR -2395[rbp]
	movzx	edx, al
	lea	rsi, -2394[rbp]
	lea	rax, -1044[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1104[rbp]
	mov	ecx, DWORD PTR -1092[rbp]
	movzx	eax, BYTE PTR -2394[rbp]
	movzx	edx, al
	lea	rsi, -2393[rbp]
	lea	rax, -1040[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1112[rbp]
	mov	ecx, DWORD PTR -1100[rbp]
	movzx	eax, BYTE PTR -2393[rbp]
	movzx	edx, al
	lea	rsi, -2392[rbp]
	lea	rax, -1036[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1120[rbp]
	mov	ecx, DWORD PTR -1108[rbp]
	movzx	eax, BYTE PTR -2392[rbp]
	movzx	edx, al
	lea	rsi, -2391[rbp]
	lea	rax, -1032[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2391[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1116[rbp]
	add	eax, edx
	mov	DWORD PTR -52[rbp], eax
	mov	ecx, DWORD PTR -1064[rbp]
	mov	edx, DWORD PTR -1164[rbp]
	lea	rsi, -2390[rbp]
	lea	rax, -1028[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1056[rbp]
	mov	ecx, DWORD PTR -1160[rbp]
	movzx	eax, BYTE PTR -2390[rbp]
	movzx	edx, al
	lea	rsi, -2389[rbp]
	lea	rax, -1024[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1052[rbp]
	mov	ecx, DWORD PTR -1156[rbp]
	movzx	eax, BYTE PTR -2389[rbp]
	movzx	edx, al
	lea	rsi, -2388[rbp]
	lea	rax, -1020[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1048[rbp]
	mov	ecx, DWORD PTR -1152[rbp]
	movzx	eax, BYTE PTR -2388[rbp]
	movzx	edx, al
	lea	rsi, -2387[rbp]
	lea	rax, -1016[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1044[rbp]
	mov	ecx, DWORD PTR -1148[rbp]
	movzx	eax, BYTE PTR -2387[rbp]
	movzx	edx, al
	lea	rsi, -2386[rbp]
	lea	rax, -1012[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1040[rbp]
	mov	ecx, DWORD PTR -1144[rbp]
	movzx	eax, BYTE PTR -2386[rbp]
	movzx	edx, al
	lea	rsi, -2385[rbp]
	lea	rax, -1008[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1036[rbp]
	mov	ecx, DWORD PTR -1140[rbp]
	movzx	eax, BYTE PTR -2385[rbp]
	movzx	edx, al
	lea	rsi, -2384[rbp]
	lea	rax, -1004[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1032[rbp]
	mov	ecx, DWORD PTR -1136[rbp]
	movzx	eax, BYTE PTR -2384[rbp]
	movzx	edx, al
	lea	rsi, -2383[rbp]
	lea	rax, -1000[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1132[rbp]
	movzx	eax, BYTE PTR -2383[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -52[rbp]
	lea	rsi, -2382[rbp]
	lea	rax, -996[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2382[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2398[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rsi, -988[rbp]
	lea	rax, -992[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rsi, -980[rbp]
	lea	rax, -984[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rsi, -972[rbp]
	lea	rax, -976[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rsi, -964[rbp]
	lea	rax, -968[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rsi, -956[rbp]
	lea	rax, -960[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rsi, -948[rbp]
	lea	rax, -952[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rsi, -940[rbp]
	lea	rax, -944[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rsi, -932[rbp]
	lea	rax, -936[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -944[rbp]
	mov	edx, DWORD PTR -932[rbp]
	lea	rsi, -2381[rbp]
	lea	rax, -928[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -952[rbp]
	mov	ecx, DWORD PTR -940[rbp]
	movzx	eax, BYTE PTR -2381[rbp]
	movzx	edx, al
	lea	rsi, -2380[rbp]
	lea	rax, -924[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -960[rbp]
	mov	ecx, DWORD PTR -948[rbp]
	movzx	eax, BYTE PTR -2380[rbp]
	movzx	edx, al
	lea	rsi, -2379[rbp]
	lea	rax, -920[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -968[rbp]
	mov	ecx, DWORD PTR -956[rbp]
	movzx	eax, BYTE PTR -2379[rbp]
	movzx	edx, al
	lea	rsi, -2378[rbp]
	lea	rax, -916[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -976[rbp]
	mov	ecx, DWORD PTR -964[rbp]
	movzx	eax, BYTE PTR -2378[rbp]
	movzx	edx, al
	lea	rsi, -2377[rbp]
	lea	rax, -912[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -984[rbp]
	mov	ecx, DWORD PTR -972[rbp]
	movzx	eax, BYTE PTR -2377[rbp]
	movzx	edx, al
	lea	rsi, -2376[rbp]
	lea	rax, -908[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -992[rbp]
	mov	ecx, DWORD PTR -980[rbp]
	movzx	eax, BYTE PTR -2376[rbp]
	movzx	edx, al
	lea	rsi, -2375[rbp]
	lea	rax, -904[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2375[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -988[rbp]
	add	eax, edx
	mov	DWORD PTR -44[rbp], eax
	mov	ecx, DWORD PTR -936[rbp]
	mov	edx, DWORD PTR -1024[rbp]
	lea	rsi, -2374[rbp]
	lea	rax, -900[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -928[rbp]
	mov	ecx, DWORD PTR -1020[rbp]
	movzx	eax, BYTE PTR -2374[rbp]
	movzx	edx, al
	lea	rsi, -2373[rbp]
	lea	rax, -896[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -924[rbp]
	mov	ecx, DWORD PTR -1016[rbp]
	movzx	eax, BYTE PTR -2373[rbp]
	movzx	edx, al
	lea	rsi, -2372[rbp]
	lea	rax, -892[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -920[rbp]
	mov	ecx, DWORD PTR -1012[rbp]
	movzx	eax, BYTE PTR -2372[rbp]
	movzx	edx, al
	lea	rsi, -2371[rbp]
	lea	rax, -888[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -916[rbp]
	mov	ecx, DWORD PTR -1008[rbp]
	movzx	eax, BYTE PTR -2371[rbp]
	movzx	edx, al
	lea	rsi, -2370[rbp]
	lea	rax, -884[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -912[rbp]
	mov	ecx, DWORD PTR -1004[rbp]
	movzx	eax, BYTE PTR -2370[rbp]
	movzx	edx, al
	lea	rsi, -2369[rbp]
	lea	rax, -880[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -908[rbp]
	mov	ecx, DWORD PTR -1000[rbp]
	movzx	eax, BYTE PTR -2369[rbp]
	movzx	edx, al
	lea	rsi, -2368[rbp]
	lea	rax, -876[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -904[rbp]
	mov	ecx, DWORD PTR -996[rbp]
	movzx	eax, BYTE PTR -2368[rbp]
	movzx	edx, al
	lea	rsi, -2367[rbp]
	lea	rax, -872[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2367[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -48[rbp]
	lea	rsi, -2366[rbp]
	lea	rax, -868[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -900[rbp]
	lea	rsi, -860[rbp]
	lea	rax, -864[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -852[rbp]
	lea	rax, -856[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -844[rbp]
	lea	rax, -848[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -836[rbp]
	lea	rax, -840[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -828[rbp]
	lea	rax, -832[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -820[rbp]
	lea	rax, -824[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -812[rbp]
	lea	rax, -816[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -804[rbp]
	lea	rax, -808[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -796[rbp]
	lea	rax, -800[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -808[rbp]
	mov	edx, DWORD PTR -796[rbp]
	lea	rsi, -2365[rbp]
	lea	rax, -792[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -816[rbp]
	mov	ecx, DWORD PTR -804[rbp]
	movzx	eax, BYTE PTR -2365[rbp]
	movzx	edx, al
	lea	rsi, -2364[rbp]
	lea	rax, -788[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -824[rbp]
	mov	ecx, DWORD PTR -812[rbp]
	movzx	eax, BYTE PTR -2364[rbp]
	movzx	edx, al
	lea	rsi, -2363[rbp]
	lea	rax, -784[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -832[rbp]
	mov	ecx, DWORD PTR -820[rbp]
	movzx	eax, BYTE PTR -2363[rbp]
	movzx	edx, al
	lea	rsi, -2362[rbp]
	lea	rax, -780[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -840[rbp]
	mov	ecx, DWORD PTR -828[rbp]
	movzx	eax, BYTE PTR -2362[rbp]
	movzx	edx, al
	lea	rsi, -2361[rbp]
	lea	rax, -776[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -848[rbp]
	mov	ecx, DWORD PTR -836[rbp]
	movzx	eax, BYTE PTR -2361[rbp]
	movzx	edx, al
	lea	rsi, -2360[rbp]
	lea	rax, -772[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -856[rbp]
	mov	ecx, DWORD PTR -844[rbp]
	movzx	eax, BYTE PTR -2360[rbp]
	movzx	edx, al
	lea	rsi, -2359[rbp]
	lea	rax, -768[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2359[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -852[rbp]
	add	eax, edx
	mov	DWORD PTR -40[rbp], eax
	mov	ecx, DWORD PTR -800[rbp]
	mov	edx, DWORD PTR -900[rbp]
	lea	rsi, -2358[rbp]
	lea	rax, -764[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -792[rbp]
	mov	ecx, DWORD PTR -896[rbp]
	movzx	eax, BYTE PTR -2358[rbp]
	movzx	edx, al
	lea	rsi, -2357[rbp]
	lea	rax, -760[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -788[rbp]
	mov	ecx, DWORD PTR -892[rbp]
	movzx	eax, BYTE PTR -2357[rbp]
	movzx	edx, al
	lea	rsi, -2356[rbp]
	lea	rax, -756[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -784[rbp]
	mov	ecx, DWORD PTR -888[rbp]
	movzx	eax, BYTE PTR -2356[rbp]
	movzx	edx, al
	lea	rsi, -2355[rbp]
	lea	rax, -752[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -780[rbp]
	mov	ecx, DWORD PTR -884[rbp]
	movzx	eax, BYTE PTR -2355[rbp]
	movzx	edx, al
	lea	rsi, -2354[rbp]
	lea	rax, -748[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -776[rbp]
	mov	ecx, DWORD PTR -880[rbp]
	movzx	eax, BYTE PTR -2354[rbp]
	movzx	edx, al
	lea	rsi, -2353[rbp]
	lea	rax, -744[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -772[rbp]
	mov	ecx, DWORD PTR -876[rbp]
	movzx	eax, BYTE PTR -2353[rbp]
	movzx	edx, al
	lea	rsi, -2352[rbp]
	lea	rax, -740[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -768[rbp]
	mov	ecx, DWORD PTR -872[rbp]
	movzx	eax, BYTE PTR -2352[rbp]
	movzx	edx, al
	lea	rsi, -2351[rbp]
	lea	rax, -736[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -868[rbp]
	movzx	eax, BYTE PTR -2351[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -40[rbp]
	lea	rsi, -2350[rbp]
	lea	rax, -732[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2350[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2366[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -724[rbp]
	lea	rax, -728[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -716[rbp]
	lea	rax, -720[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -708[rbp]
	lea	rax, -712[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -700[rbp]
	lea	rax, -704[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -692[rbp]
	lea	rax, -696[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -684[rbp]
	lea	rax, -688[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -676[rbp]
	lea	rax, -680[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -668[rbp]
	lea	rax, -672[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -680[rbp]
	mov	edx, DWORD PTR -668[rbp]
	lea	rsi, -2349[rbp]
	lea	rax, -664[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -688[rbp]
	mov	ecx, DWORD PTR -676[rbp]
	movzx	eax, BYTE PTR -2349[rbp]
	movzx	edx, al
	lea	rsi, -2348[rbp]
	lea	rax, -660[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -696[rbp]
	mov	ecx, DWORD PTR -684[rbp]
	movzx	eax, BYTE PTR -2348[rbp]
	movzx	edx, al
	lea	rsi, -2347[rbp]
	lea	rax, -656[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -704[rbp]
	mov	ecx, DWORD PTR -692[rbp]
	movzx	eax, BYTE PTR -2347[rbp]
	movzx	edx, al
	lea	rsi, -2346[rbp]
	lea	rax, -652[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -712[rbp]
	mov	ecx, DWORD PTR -700[rbp]
	movzx	eax, BYTE PTR -2346[rbp]
	movzx	edx, al
	lea	rsi, -2345[rbp]
	lea	rax, -648[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -720[rbp]
	mov	ecx, DWORD PTR -708[rbp]
	movzx	eax, BYTE PTR -2345[rbp]
	movzx	edx, al
	lea	rsi, -2344[rbp]
	lea	rax, -644[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -728[rbp]
	mov	ecx, DWORD PTR -716[rbp]
	movzx	eax, BYTE PTR -2344[rbp]
	movzx	edx, al
	lea	rsi, -2343[rbp]
	lea	rax, -640[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2343[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -724[rbp]
	add	eax, edx
	mov	DWORD PTR -32[rbp], eax
	mov	ecx, DWORD PTR -672[rbp]
	mov	edx, DWORD PTR -760[rbp]
	lea	rsi, -2342[rbp]
	lea	rax, -636[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -664[rbp]
	mov	ecx, DWORD PTR -756[rbp]
	movzx	eax, BYTE PTR -2342[rbp]
	movzx	edx, al
	lea	rsi, -2341[rbp]
	lea	rax, -632[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -660[rbp]
	mov	ecx, DWORD PTR -752[rbp]
	movzx	eax, BYTE PTR -2341[rbp]
	movzx	edx, al
	lea	rsi, -2340[rbp]
	lea	rax, -628[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -656[rbp]
	mov	ecx, DWORD PTR -748[rbp]
	movzx	eax, BYTE PTR -2340[rbp]
	movzx	edx, al
	lea	rsi, -2339[rbp]
	lea	rax, -624[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -652[rbp]
	mov	ecx, DWORD PTR -744[rbp]
	movzx	eax, BYTE PTR -2339[rbp]
	movzx	edx, al
	lea	rsi, -2338[rbp]
	lea	rax, -620[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -648[rbp]
	mov	ecx, DWORD PTR -740[rbp]
	movzx	eax, BYTE PTR -2338[rbp]
	movzx	edx, al
	lea	rsi, -2337[rbp]
	lea	rax, -616[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -644[rbp]
	mov	ecx, DWORD PTR -736[rbp]
	movzx	eax, BYTE PTR -2337[rbp]
	movzx	edx, al
	lea	rsi, -2336[rbp]
	lea	rax, -612[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -640[rbp]
	mov	ecx, DWORD PTR -732[rbp]
	movzx	eax, BYTE PTR -2336[rbp]
	movzx	edx, al
	lea	rsi, -2335[rbp]
	lea	rax, -608[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2335[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	lea	rsi, -2334[rbp]
	lea	rax, -604[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -636[rbp]
	lea	rsi, -596[rbp]
	lea	rax, -600[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -600[rbp]
	lea	rsi, -588[rbp]
	lea	rax, -592[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -600[rbp]
	lea	rsi, -580[rbp]
	lea	rax, -584[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -600[rbp]
	lea	rsi, -572[rbp]
	lea	rax, -576[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -600[rbp]
	lea	rsi, -564[rbp]
	lea	rax, -568[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -600[rbp]
	lea	rsi, -556[rbp]
	lea	rax, -560[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -600[rbp]
	lea	rsi, -548[rbp]
	lea	rax, -552[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -600[rbp]
	lea	rsi, -540[rbp]
	lea	rax, -544[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -600[rbp]
	lea	rsi, -532[rbp]
	lea	rax, -536[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -544[rbp]
	mov	edx, DWORD PTR -532[rbp]
	lea	rsi, -2333[rbp]
	lea	rax, -528[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -552[rbp]
	mov	ecx, DWORD PTR -540[rbp]
	movzx	eax, BYTE PTR -2333[rbp]
	movzx	edx, al
	lea	rsi, -2332[rbp]
	lea	rax, -524[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -560[rbp]
	mov	ecx, DWORD PTR -548[rbp]
	movzx	eax, BYTE PTR -2332[rbp]
	movzx	edx, al
	lea	rsi, -2331[rbp]
	lea	rax, -520[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -568[rbp]
	mov	ecx, DWORD PTR -556[rbp]
	movzx	eax, BYTE PTR -2331[rbp]
	movzx	edx, al
	lea	rsi, -2330[rbp]
	lea	rax, -516[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -576[rbp]
	mov	ecx, DWORD PTR -564[rbp]
	movzx	eax, BYTE PTR -2330[rbp]
	movzx	edx, al
	lea	rsi, -2329[rbp]
	lea	rax, -512[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -584[rbp]
	mov	ecx, DWORD PTR -572[rbp]
	movzx	eax, BYTE PTR -2329[rbp]
	movzx	edx, al
	lea	rsi, -2328[rbp]
	lea	rax, -508[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -592[rbp]
	mov	ecx, DWORD PTR -580[rbp]
	movzx	eax, BYTE PTR -2328[rbp]
	movzx	edx, al
	lea	rsi, -2327[rbp]
	lea	rax, -504[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2327[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -588[rbp]
	add	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	ecx, DWORD PTR -536[rbp]
	mov	edx, DWORD PTR -636[rbp]
	lea	rsi, -2326[rbp]
	lea	rax, -500[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -528[rbp]
	mov	ecx, DWORD PTR -632[rbp]
	movzx	eax, BYTE PTR -2326[rbp]
	movzx	edx, al
	lea	rsi, -2325[rbp]
	lea	rax, -496[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -524[rbp]
	mov	ecx, DWORD PTR -628[rbp]
	movzx	eax, BYTE PTR -2325[rbp]
	movzx	edx, al
	lea	rsi, -2324[rbp]
	lea	rax, -492[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -520[rbp]
	mov	ecx, DWORD PTR -624[rbp]
	movzx	eax, BYTE PTR -2324[rbp]
	movzx	edx, al
	lea	rsi, -2323[rbp]
	lea	rax, -488[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -516[rbp]
	mov	ecx, DWORD PTR -620[rbp]
	movzx	eax, BYTE PTR -2323[rbp]
	movzx	edx, al
	lea	rsi, -2322[rbp]
	lea	rax, -484[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -512[rbp]
	mov	ecx, DWORD PTR -616[rbp]
	movzx	eax, BYTE PTR -2322[rbp]
	movzx	edx, al
	lea	rsi, -2321[rbp]
	lea	rax, -480[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -508[rbp]
	mov	ecx, DWORD PTR -612[rbp]
	movzx	eax, BYTE PTR -2321[rbp]
	movzx	edx, al
	lea	rsi, -2320[rbp]
	lea	rax, -476[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -504[rbp]
	mov	ecx, DWORD PTR -608[rbp]
	movzx	eax, BYTE PTR -2320[rbp]
	movzx	edx, al
	lea	rsi, -2319[rbp]
	lea	rax, -472[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -604[rbp]
	movzx	eax, BYTE PTR -2319[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -28[rbp]
	lea	rsi, -2318[rbp]
	lea	rax, -468[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2318[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2334[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -460[rbp]
	lea	rax, -464[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -452[rbp]
	lea	rax, -456[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -444[rbp]
	lea	rax, -448[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -436[rbp]
	lea	rax, -440[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -428[rbp]
	lea	rax, -432[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -420[rbp]
	lea	rax, -424[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -412[rbp]
	lea	rax, -416[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2568[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -404[rbp]
	lea	rax, -408[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -416[rbp]
	mov	edx, DWORD PTR -404[rbp]
	lea	rsi, -2317[rbp]
	lea	rax, -400[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -424[rbp]
	mov	ecx, DWORD PTR -412[rbp]
	movzx	eax, BYTE PTR -2317[rbp]
	movzx	edx, al
	lea	rsi, -2316[rbp]
	lea	rax, -396[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -432[rbp]
	mov	ecx, DWORD PTR -420[rbp]
	movzx	eax, BYTE PTR -2316[rbp]
	movzx	edx, al
	lea	rsi, -2315[rbp]
	lea	rax, -392[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -440[rbp]
	mov	ecx, DWORD PTR -428[rbp]
	movzx	eax, BYTE PTR -2315[rbp]
	movzx	edx, al
	lea	rsi, -2314[rbp]
	lea	rax, -388[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -448[rbp]
	mov	ecx, DWORD PTR -436[rbp]
	movzx	eax, BYTE PTR -2314[rbp]
	movzx	edx, al
	lea	rsi, -2313[rbp]
	lea	rax, -384[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -456[rbp]
	mov	ecx, DWORD PTR -444[rbp]
	movzx	eax, BYTE PTR -2313[rbp]
	movzx	edx, al
	lea	rsi, -2312[rbp]
	lea	rax, -380[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -464[rbp]
	mov	ecx, DWORD PTR -452[rbp]
	movzx	eax, BYTE PTR -2312[rbp]
	movzx	edx, al
	lea	rsi, -2311[rbp]
	lea	rax, -376[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2311[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -460[rbp]
	add	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	ecx, DWORD PTR -408[rbp]
	mov	edx, DWORD PTR -496[rbp]
	lea	rsi, -2310[rbp]
	lea	rax, -372[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -400[rbp]
	mov	ecx, DWORD PTR -492[rbp]
	movzx	eax, BYTE PTR -2310[rbp]
	movzx	edx, al
	lea	rsi, -2309[rbp]
	lea	rax, -368[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -396[rbp]
	mov	ecx, DWORD PTR -488[rbp]
	movzx	eax, BYTE PTR -2309[rbp]
	movzx	edx, al
	lea	rsi, -2308[rbp]
	lea	rax, -364[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -392[rbp]
	mov	ecx, DWORD PTR -484[rbp]
	movzx	eax, BYTE PTR -2308[rbp]
	movzx	edx, al
	lea	rsi, -2307[rbp]
	lea	rax, -360[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -388[rbp]
	mov	ecx, DWORD PTR -480[rbp]
	movzx	eax, BYTE PTR -2307[rbp]
	movzx	edx, al
	lea	rsi, -2306[rbp]
	lea	rax, -356[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -384[rbp]
	mov	ecx, DWORD PTR -476[rbp]
	movzx	eax, BYTE PTR -2306[rbp]
	movzx	edx, al
	lea	rsi, -2305[rbp]
	lea	rax, -352[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -380[rbp]
	mov	ecx, DWORD PTR -472[rbp]
	movzx	eax, BYTE PTR -2305[rbp]
	movzx	edx, al
	lea	rsi, -2304[rbp]
	lea	rax, -348[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -376[rbp]
	mov	ecx, DWORD PTR -468[rbp]
	movzx	eax, BYTE PTR -2304[rbp]
	movzx	edx, al
	lea	rsi, -2303[rbp]
	lea	rax, -344[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2303[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -20[rbp]
	mov	ecx, DWORD PTR -24[rbp]
	lea	rsi, -2302[rbp]
	lea	rax, -340[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -372[rbp]
	lea	rsi, -332[rbp]
	lea	rax, -336[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -336[rbp]
	lea	rsi, -324[rbp]
	lea	rax, -328[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -336[rbp]
	lea	rsi, -316[rbp]
	lea	rax, -320[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -336[rbp]
	lea	rsi, -308[rbp]
	lea	rax, -312[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -336[rbp]
	lea	rsi, -300[rbp]
	lea	rax, -304[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -336[rbp]
	lea	rsi, -292[rbp]
	lea	rax, -296[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -336[rbp]
	lea	rsi, -284[rbp]
	lea	rax, -288[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -336[rbp]
	lea	rsi, -276[rbp]
	lea	rax, -280[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -336[rbp]
	lea	rsi, -268[rbp]
	lea	rax, -272[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -280[rbp]
	mov	edx, DWORD PTR -268[rbp]
	lea	rsi, -2301[rbp]
	lea	rax, -264[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -288[rbp]
	mov	ecx, DWORD PTR -276[rbp]
	movzx	eax, BYTE PTR -2301[rbp]
	movzx	edx, al
	lea	rsi, -2300[rbp]
	lea	rax, -260[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -296[rbp]
	mov	ecx, DWORD PTR -284[rbp]
	movzx	eax, BYTE PTR -2300[rbp]
	movzx	edx, al
	lea	rsi, -2299[rbp]
	lea	rax, -256[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movzx	eax, BYTE PTR -2299[rbp]
	movzx	edx, al
	lea	rsi, -2298[rbp]
	lea	rax, -252[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -312[rbp]
	mov	ecx, DWORD PTR -300[rbp]
	movzx	eax, BYTE PTR -2298[rbp]
	movzx	edx, al
	lea	rsi, -2297[rbp]
	lea	rax, -248[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -320[rbp]
	mov	ecx, DWORD PTR -308[rbp]
	movzx	eax, BYTE PTR -2297[rbp]
	movzx	edx, al
	lea	rsi, -2296[rbp]
	lea	rax, -244[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -328[rbp]
	mov	ecx, DWORD PTR -316[rbp]
	movzx	eax, BYTE PTR -2296[rbp]
	movzx	edx, al
	lea	rsi, -2295[rbp]
	lea	rax, -240[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2295[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -324[rbp]
	add	eax, edx
	mov	DWORD PTR -16[rbp], eax
	mov	ecx, DWORD PTR -272[rbp]
	mov	edx, DWORD PTR -372[rbp]
	lea	rsi, -2294[rbp]
	lea	rax, -236[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -264[rbp]
	mov	ecx, DWORD PTR -368[rbp]
	movzx	eax, BYTE PTR -2294[rbp]
	movzx	edx, al
	lea	rsi, -2293[rbp]
	lea	rax, -232[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -260[rbp]
	mov	ecx, DWORD PTR -364[rbp]
	movzx	eax, BYTE PTR -2293[rbp]
	movzx	edx, al
	lea	rsi, -2292[rbp]
	lea	rax, -228[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -256[rbp]
	mov	ecx, DWORD PTR -360[rbp]
	movzx	eax, BYTE PTR -2292[rbp]
	movzx	edx, al
	lea	rsi, -2291[rbp]
	lea	rax, -224[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -252[rbp]
	mov	ecx, DWORD PTR -356[rbp]
	movzx	eax, BYTE PTR -2291[rbp]
	movzx	edx, al
	lea	rsi, -2290[rbp]
	lea	rax, -220[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -248[rbp]
	mov	ecx, DWORD PTR -352[rbp]
	movzx	eax, BYTE PTR -2290[rbp]
	movzx	edx, al
	lea	rsi, -2289[rbp]
	lea	rax, -216[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -244[rbp]
	mov	ecx, DWORD PTR -348[rbp]
	movzx	eax, BYTE PTR -2289[rbp]
	movzx	edx, al
	lea	rsi, -2288[rbp]
	lea	rax, -212[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -240[rbp]
	mov	ecx, DWORD PTR -344[rbp]
	movzx	eax, BYTE PTR -2288[rbp]
	movzx	edx, al
	lea	rsi, -2287[rbp]
	lea	rax, -208[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -340[rbp]
	movzx	eax, BYTE PTR -2287[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -16[rbp]
	lea	rsi, -2286[rbp]
	lea	rax, -204[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2286[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2302[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	edx, DWORD PTR -232[rbp]
	lea	rsi, -2285[rbp]
	lea	rax, -200[rbp]
	mov	r8d, -977
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -228[rbp]
	movzx	eax, BYTE PTR -2285[rbp]
	movzx	edx, al
	lea	rsi, -2284[rbp]
	lea	rax, -196[rbp]
	mov	r8d, -2
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -224[rbp]
	movzx	eax, BYTE PTR -2284[rbp]
	movzx	edx, al
	lea	rsi, -2283[rbp]
	lea	rax, -192[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -220[rbp]
	movzx	eax, BYTE PTR -2283[rbp]
	movzx	edx, al
	lea	rsi, -2282[rbp]
	lea	rax, -188[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -216[rbp]
	movzx	eax, BYTE PTR -2282[rbp]
	movzx	edx, al
	lea	rsi, -2281[rbp]
	lea	rax, -184[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -212[rbp]
	movzx	eax, BYTE PTR -2281[rbp]
	movzx	edx, al
	lea	rsi, -2280[rbp]
	lea	rax, -180[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -208[rbp]
	movzx	eax, BYTE PTR -2280[rbp]
	movzx	edx, al
	lea	rsi, -2279[rbp]
	lea	rax, -176[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -204[rbp]
	movzx	eax, BYTE PTR -2279[rbp]
	movzx	edx, al
	lea	rsi, -2278[rbp]
	lea	rax, -172[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -2278[rbp]
	movzx	edx, al
	mov	ecx, DWORD PTR -12[rbp]
	lea	rsi, -2277[rbp]
	lea	rax, -168[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -232[rbp]
	mov	edx, DWORD PTR -200[rbp]
	movzx	eax, BYTE PTR -2277[rbp]
	movzx	esi, al
	lea	rax, -164[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -228[rbp]
	mov	edx, DWORD PTR -196[rbp]
	movzx	eax, BYTE PTR -2277[rbp]
	movzx	esi, al
	lea	rax, -160[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -224[rbp]
	mov	edx, DWORD PTR -192[rbp]
	movzx	eax, BYTE PTR -2277[rbp]
	movzx	esi, al
	lea	rax, -156[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -220[rbp]
	mov	edx, DWORD PTR -188[rbp]
	movzx	eax, BYTE PTR -2277[rbp]
	movzx	esi, al
	lea	rax, -152[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -216[rbp]
	mov	edx, DWORD PTR -184[rbp]
	movzx	eax, BYTE PTR -2277[rbp]
	movzx	esi, al
	lea	rax, -148[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -212[rbp]
	mov	edx, DWORD PTR -180[rbp]
	movzx	eax, BYTE PTR -2277[rbp]
	movzx	esi, al
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -208[rbp]
	mov	edx, DWORD PTR -176[rbp]
	movzx	eax, BYTE PTR -2277[rbp]
	movzx	esi, al
	lea	rax, -140[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -204[rbp]
	mov	edx, DWORD PTR -172[rbp]
	movzx	eax, BYTE PTR -2277[rbp]
	movzx	esi, al
	lea	rax, -136[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -164[rbp]
	mov	rax, QWORD PTR -2552[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -2552[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -160[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2552[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -156[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2552[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -152[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2552[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -148[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2552[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -144[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2552[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -140[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2552[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -136[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L8
	call	__stack_chk_fail@PLT
.L8:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	fiat_secp256k1_mul, .-fiat_secp256k1_mul
	.type	fiat_secp256k1_square, @function
fiat_secp256k1_square:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 2560
	mov	QWORD PTR -2552[rbp], rdi
	mov	QWORD PTR -2560[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -2560[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -132[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -128[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR -124[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	mov	eax, DWORD PTR 20[rax]
	mov	DWORD PTR -116[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -112[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR -108[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -104[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	lea	rsi, -2272[rbp]
	lea	rax, -2276[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	lea	rsi, -2264[rbp]
	lea	rax, -2268[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	lea	rsi, -2256[rbp]
	lea	rax, -2260[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	lea	rsi, -2248[rbp]
	lea	rax, -2252[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	lea	rsi, -2240[rbp]
	lea	rax, -2244[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	lea	rsi, -2232[rbp]
	lea	rax, -2236[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	lea	rsi, -2224[rbp]
	lea	rax, -2228[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	lea	rsi, -2216[rbp]
	lea	rax, -2220[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -2228[rbp]
	mov	edx, DWORD PTR -2216[rbp]
	lea	rsi, -2532[rbp]
	lea	rax, -2212[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2236[rbp]
	mov	ecx, DWORD PTR -2224[rbp]
	movzx	eax, BYTE PTR -2532[rbp]
	movzx	edx, al
	lea	rsi, -2531[rbp]
	lea	rax, -2208[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2244[rbp]
	mov	ecx, DWORD PTR -2232[rbp]
	movzx	eax, BYTE PTR -2531[rbp]
	movzx	edx, al
	lea	rsi, -2530[rbp]
	lea	rax, -2204[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2252[rbp]
	mov	ecx, DWORD PTR -2240[rbp]
	movzx	eax, BYTE PTR -2530[rbp]
	movzx	edx, al
	lea	rsi, -2529[rbp]
	lea	rax, -2200[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2260[rbp]
	mov	ecx, DWORD PTR -2248[rbp]
	movzx	eax, BYTE PTR -2529[rbp]
	movzx	edx, al
	lea	rsi, -2528[rbp]
	lea	rax, -2196[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2268[rbp]
	mov	ecx, DWORD PTR -2256[rbp]
	movzx	eax, BYTE PTR -2528[rbp]
	movzx	edx, al
	lea	rsi, -2527[rbp]
	lea	rax, -2192[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2276[rbp]
	mov	ecx, DWORD PTR -2264[rbp]
	movzx	eax, BYTE PTR -2527[rbp]
	movzx	edx, al
	lea	rsi, -2526[rbp]
	lea	rax, -2188[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2526[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2272[rbp]
	add	eax, edx
	mov	DWORD PTR -100[rbp], eax
	mov	edx, DWORD PTR -2220[rbp]
	lea	rsi, -2180[rbp]
	lea	rax, -2184[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -2184[rbp]
	lea	rsi, -2172[rbp]
	lea	rax, -2176[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -2184[rbp]
	lea	rsi, -2164[rbp]
	lea	rax, -2168[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -2184[rbp]
	lea	rsi, -2156[rbp]
	lea	rax, -2160[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -2184[rbp]
	lea	rsi, -2148[rbp]
	lea	rax, -2152[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -2184[rbp]
	lea	rsi, -2140[rbp]
	lea	rax, -2144[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -2184[rbp]
	lea	rsi, -2132[rbp]
	lea	rax, -2136[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -2184[rbp]
	lea	rsi, -2124[rbp]
	lea	rax, -2128[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -2184[rbp]
	lea	rsi, -2116[rbp]
	lea	rax, -2120[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -2128[rbp]
	mov	edx, DWORD PTR -2116[rbp]
	lea	rsi, -2525[rbp]
	lea	rax, -2112[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2136[rbp]
	mov	ecx, DWORD PTR -2124[rbp]
	movzx	eax, BYTE PTR -2525[rbp]
	movzx	edx, al
	lea	rsi, -2524[rbp]
	lea	rax, -2108[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2144[rbp]
	mov	ecx, DWORD PTR -2132[rbp]
	movzx	eax, BYTE PTR -2524[rbp]
	movzx	edx, al
	lea	rsi, -2523[rbp]
	lea	rax, -2104[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2152[rbp]
	mov	ecx, DWORD PTR -2140[rbp]
	movzx	eax, BYTE PTR -2523[rbp]
	movzx	edx, al
	lea	rsi, -2522[rbp]
	lea	rax, -2100[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2160[rbp]
	mov	ecx, DWORD PTR -2148[rbp]
	movzx	eax, BYTE PTR -2522[rbp]
	movzx	edx, al
	lea	rsi, -2521[rbp]
	lea	rax, -2096[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2168[rbp]
	mov	ecx, DWORD PTR -2156[rbp]
	movzx	eax, BYTE PTR -2521[rbp]
	movzx	edx, al
	lea	rsi, -2520[rbp]
	lea	rax, -2092[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2176[rbp]
	mov	ecx, DWORD PTR -2164[rbp]
	movzx	eax, BYTE PTR -2520[rbp]
	movzx	edx, al
	lea	rsi, -2519[rbp]
	lea	rax, -2088[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2519[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2172[rbp]
	add	eax, edx
	mov	DWORD PTR -96[rbp], eax
	mov	ecx, DWORD PTR -2120[rbp]
	mov	edx, DWORD PTR -2220[rbp]
	lea	rsi, -2518[rbp]
	lea	rax, -2084[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2112[rbp]
	mov	ecx, DWORD PTR -2212[rbp]
	movzx	eax, BYTE PTR -2518[rbp]
	movzx	edx, al
	lea	rsi, -2517[rbp]
	lea	rax, -2080[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2108[rbp]
	mov	ecx, DWORD PTR -2208[rbp]
	movzx	eax, BYTE PTR -2517[rbp]
	movzx	edx, al
	lea	rsi, -2516[rbp]
	lea	rax, -2076[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2104[rbp]
	mov	ecx, DWORD PTR -2204[rbp]
	movzx	eax, BYTE PTR -2516[rbp]
	movzx	edx, al
	lea	rsi, -2515[rbp]
	lea	rax, -2072[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2100[rbp]
	mov	ecx, DWORD PTR -2200[rbp]
	movzx	eax, BYTE PTR -2515[rbp]
	movzx	edx, al
	lea	rsi, -2514[rbp]
	lea	rax, -2068[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2096[rbp]
	mov	ecx, DWORD PTR -2196[rbp]
	movzx	eax, BYTE PTR -2514[rbp]
	movzx	edx, al
	lea	rsi, -2513[rbp]
	lea	rax, -2064[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2092[rbp]
	mov	ecx, DWORD PTR -2192[rbp]
	movzx	eax, BYTE PTR -2513[rbp]
	movzx	edx, al
	lea	rsi, -2512[rbp]
	lea	rax, -2060[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2088[rbp]
	mov	ecx, DWORD PTR -2188[rbp]
	movzx	eax, BYTE PTR -2512[rbp]
	movzx	edx, al
	lea	rsi, -2511[rbp]
	lea	rax, -2056[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2511[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -96[rbp]
	mov	ecx, DWORD PTR -100[rbp]
	lea	rsi, -2510[rbp]
	lea	rax, -2052[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -132[rbp]
	lea	rsi, -2044[rbp]
	lea	rax, -2048[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -132[rbp]
	lea	rsi, -2036[rbp]
	lea	rax, -2040[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -132[rbp]
	lea	rsi, -2028[rbp]
	lea	rax, -2032[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -132[rbp]
	lea	rsi, -2020[rbp]
	lea	rax, -2024[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -132[rbp]
	lea	rsi, -2012[rbp]
	lea	rax, -2016[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -132[rbp]
	lea	rsi, -2004[rbp]
	lea	rax, -2008[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -132[rbp]
	lea	rsi, -1996[rbp]
	lea	rax, -2000[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -132[rbp]
	lea	rsi, -1988[rbp]
	lea	rax, -1992[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -2000[rbp]
	mov	edx, DWORD PTR -1988[rbp]
	lea	rsi, -2509[rbp]
	lea	rax, -1984[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2008[rbp]
	mov	ecx, DWORD PTR -1996[rbp]
	movzx	eax, BYTE PTR -2509[rbp]
	movzx	edx, al
	lea	rsi, -2508[rbp]
	lea	rax, -1980[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2016[rbp]
	mov	ecx, DWORD PTR -2004[rbp]
	movzx	eax, BYTE PTR -2508[rbp]
	movzx	edx, al
	lea	rsi, -2507[rbp]
	lea	rax, -1976[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2024[rbp]
	mov	ecx, DWORD PTR -2012[rbp]
	movzx	eax, BYTE PTR -2507[rbp]
	movzx	edx, al
	lea	rsi, -2506[rbp]
	lea	rax, -1972[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2032[rbp]
	mov	ecx, DWORD PTR -2020[rbp]
	movzx	eax, BYTE PTR -2506[rbp]
	movzx	edx, al
	lea	rsi, -2505[rbp]
	lea	rax, -1968[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2040[rbp]
	mov	ecx, DWORD PTR -2028[rbp]
	movzx	eax, BYTE PTR -2505[rbp]
	movzx	edx, al
	lea	rsi, -2504[rbp]
	lea	rax, -1964[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -2048[rbp]
	mov	ecx, DWORD PTR -2036[rbp]
	movzx	eax, BYTE PTR -2504[rbp]
	movzx	edx, al
	lea	rsi, -2503[rbp]
	lea	rax, -1960[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2503[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2044[rbp]
	add	eax, edx
	mov	DWORD PTR -92[rbp], eax
	mov	ecx, DWORD PTR -1992[rbp]
	mov	edx, DWORD PTR -2080[rbp]
	lea	rsi, -2502[rbp]
	lea	rax, -1956[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1984[rbp]
	mov	ecx, DWORD PTR -2076[rbp]
	movzx	eax, BYTE PTR -2502[rbp]
	movzx	edx, al
	lea	rsi, -2501[rbp]
	lea	rax, -1952[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1980[rbp]
	mov	ecx, DWORD PTR -2072[rbp]
	movzx	eax, BYTE PTR -2501[rbp]
	movzx	edx, al
	lea	rsi, -2500[rbp]
	lea	rax, -1948[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1976[rbp]
	mov	ecx, DWORD PTR -2068[rbp]
	movzx	eax, BYTE PTR -2500[rbp]
	movzx	edx, al
	lea	rsi, -2499[rbp]
	lea	rax, -1944[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1972[rbp]
	mov	ecx, DWORD PTR -2064[rbp]
	movzx	eax, BYTE PTR -2499[rbp]
	movzx	edx, al
	lea	rsi, -2498[rbp]
	lea	rax, -1940[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1968[rbp]
	mov	ecx, DWORD PTR -2060[rbp]
	movzx	eax, BYTE PTR -2498[rbp]
	movzx	edx, al
	lea	rsi, -2497[rbp]
	lea	rax, -1936[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1964[rbp]
	mov	ecx, DWORD PTR -2056[rbp]
	movzx	eax, BYTE PTR -2497[rbp]
	movzx	edx, al
	lea	rsi, -2496[rbp]
	lea	rax, -1932[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1960[rbp]
	mov	ecx, DWORD PTR -2052[rbp]
	movzx	eax, BYTE PTR -2496[rbp]
	movzx	edx, al
	lea	rsi, -2495[rbp]
	lea	rax, -1928[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2510[rbp]
	movzx	ecx, al
	movzx	eax, BYTE PTR -2495[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -92[rbp]
	lea	rsi, -2494[rbp]
	lea	rax, -1924[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -1956[rbp]
	lea	rsi, -1916[rbp]
	lea	rax, -1920[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1920[rbp]
	lea	rsi, -1908[rbp]
	lea	rax, -1912[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1920[rbp]
	lea	rsi, -1900[rbp]
	lea	rax, -1904[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1920[rbp]
	lea	rsi, -1892[rbp]
	lea	rax, -1896[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1920[rbp]
	lea	rsi, -1884[rbp]
	lea	rax, -1888[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1920[rbp]
	lea	rsi, -1876[rbp]
	lea	rax, -1880[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1920[rbp]
	lea	rsi, -1868[rbp]
	lea	rax, -1872[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1920[rbp]
	lea	rsi, -1860[rbp]
	lea	rax, -1864[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1920[rbp]
	lea	rsi, -1852[rbp]
	lea	rax, -1856[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1864[rbp]
	mov	edx, DWORD PTR -1852[rbp]
	lea	rsi, -2493[rbp]
	lea	rax, -1848[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1872[rbp]
	mov	ecx, DWORD PTR -1860[rbp]
	movzx	eax, BYTE PTR -2493[rbp]
	movzx	edx, al
	lea	rsi, -2492[rbp]
	lea	rax, -1844[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1880[rbp]
	mov	ecx, DWORD PTR -1868[rbp]
	movzx	eax, BYTE PTR -2492[rbp]
	movzx	edx, al
	lea	rsi, -2491[rbp]
	lea	rax, -1840[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1888[rbp]
	mov	ecx, DWORD PTR -1876[rbp]
	movzx	eax, BYTE PTR -2491[rbp]
	movzx	edx, al
	lea	rsi, -2490[rbp]
	lea	rax, -1836[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1896[rbp]
	mov	ecx, DWORD PTR -1884[rbp]
	movzx	eax, BYTE PTR -2490[rbp]
	movzx	edx, al
	lea	rsi, -2489[rbp]
	lea	rax, -1832[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1904[rbp]
	mov	ecx, DWORD PTR -1892[rbp]
	movzx	eax, BYTE PTR -2489[rbp]
	movzx	edx, al
	lea	rsi, -2488[rbp]
	lea	rax, -1828[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1912[rbp]
	mov	ecx, DWORD PTR -1900[rbp]
	movzx	eax, BYTE PTR -2488[rbp]
	movzx	edx, al
	lea	rsi, -2487[rbp]
	lea	rax, -1824[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2487[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1908[rbp]
	add	eax, edx
	mov	DWORD PTR -88[rbp], eax
	mov	ecx, DWORD PTR -1856[rbp]
	mov	edx, DWORD PTR -1956[rbp]
	lea	rsi, -2486[rbp]
	lea	rax, -1820[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1848[rbp]
	mov	ecx, DWORD PTR -1952[rbp]
	movzx	eax, BYTE PTR -2486[rbp]
	movzx	edx, al
	lea	rsi, -2485[rbp]
	lea	rax, -1816[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1844[rbp]
	mov	ecx, DWORD PTR -1948[rbp]
	movzx	eax, BYTE PTR -2485[rbp]
	movzx	edx, al
	lea	rsi, -2484[rbp]
	lea	rax, -1812[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1840[rbp]
	mov	ecx, DWORD PTR -1944[rbp]
	movzx	eax, BYTE PTR -2484[rbp]
	movzx	edx, al
	lea	rsi, -2483[rbp]
	lea	rax, -1808[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1836[rbp]
	mov	ecx, DWORD PTR -1940[rbp]
	movzx	eax, BYTE PTR -2483[rbp]
	movzx	edx, al
	lea	rsi, -2482[rbp]
	lea	rax, -1804[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1832[rbp]
	mov	ecx, DWORD PTR -1936[rbp]
	movzx	eax, BYTE PTR -2482[rbp]
	movzx	edx, al
	lea	rsi, -2481[rbp]
	lea	rax, -1800[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1828[rbp]
	mov	ecx, DWORD PTR -1932[rbp]
	movzx	eax, BYTE PTR -2481[rbp]
	movzx	edx, al
	lea	rsi, -2480[rbp]
	lea	rax, -1796[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1824[rbp]
	mov	ecx, DWORD PTR -1928[rbp]
	movzx	eax, BYTE PTR -2480[rbp]
	movzx	edx, al
	lea	rsi, -2479[rbp]
	lea	rax, -1792[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1924[rbp]
	movzx	eax, BYTE PTR -2479[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -88[rbp]
	lea	rsi, -2478[rbp]
	lea	rax, -1788[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2478[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2494[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -84[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	lea	rsi, -1780[rbp]
	lea	rax, -1784[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	lea	rsi, -1772[rbp]
	lea	rax, -1776[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	lea	rsi, -1764[rbp]
	lea	rax, -1768[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	lea	rsi, -1756[rbp]
	lea	rax, -1760[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	lea	rsi, -1748[rbp]
	lea	rax, -1752[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	lea	rsi, -1740[rbp]
	lea	rax, -1744[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	lea	rsi, -1732[rbp]
	lea	rax, -1736[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	lea	rsi, -1724[rbp]
	lea	rax, -1728[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1736[rbp]
	mov	edx, DWORD PTR -1724[rbp]
	lea	rsi, -2477[rbp]
	lea	rax, -1720[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1744[rbp]
	mov	ecx, DWORD PTR -1732[rbp]
	movzx	eax, BYTE PTR -2477[rbp]
	movzx	edx, al
	lea	rsi, -2476[rbp]
	lea	rax, -1716[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1752[rbp]
	mov	ecx, DWORD PTR -1740[rbp]
	movzx	eax, BYTE PTR -2476[rbp]
	movzx	edx, al
	lea	rsi, -2475[rbp]
	lea	rax, -1712[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1760[rbp]
	mov	ecx, DWORD PTR -1748[rbp]
	movzx	eax, BYTE PTR -2475[rbp]
	movzx	edx, al
	lea	rsi, -2474[rbp]
	lea	rax, -1708[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1768[rbp]
	mov	ecx, DWORD PTR -1756[rbp]
	movzx	eax, BYTE PTR -2474[rbp]
	movzx	edx, al
	lea	rsi, -2473[rbp]
	lea	rax, -1704[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1776[rbp]
	mov	ecx, DWORD PTR -1764[rbp]
	movzx	eax, BYTE PTR -2473[rbp]
	movzx	edx, al
	lea	rsi, -2472[rbp]
	lea	rax, -1700[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1784[rbp]
	mov	ecx, DWORD PTR -1772[rbp]
	movzx	eax, BYTE PTR -2472[rbp]
	movzx	edx, al
	lea	rsi, -2471[rbp]
	lea	rax, -1696[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2471[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1780[rbp]
	add	eax, edx
	mov	DWORD PTR -80[rbp], eax
	mov	ecx, DWORD PTR -1728[rbp]
	mov	edx, DWORD PTR -1816[rbp]
	lea	rsi, -2470[rbp]
	lea	rax, -1692[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1720[rbp]
	mov	ecx, DWORD PTR -1812[rbp]
	movzx	eax, BYTE PTR -2470[rbp]
	movzx	edx, al
	lea	rsi, -2469[rbp]
	lea	rax, -1688[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1716[rbp]
	mov	ecx, DWORD PTR -1808[rbp]
	movzx	eax, BYTE PTR -2469[rbp]
	movzx	edx, al
	lea	rsi, -2468[rbp]
	lea	rax, -1684[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1712[rbp]
	mov	ecx, DWORD PTR -1804[rbp]
	movzx	eax, BYTE PTR -2468[rbp]
	movzx	edx, al
	lea	rsi, -2467[rbp]
	lea	rax, -1680[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1708[rbp]
	mov	ecx, DWORD PTR -1800[rbp]
	movzx	eax, BYTE PTR -2467[rbp]
	movzx	edx, al
	lea	rsi, -2466[rbp]
	lea	rax, -1676[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1704[rbp]
	mov	ecx, DWORD PTR -1796[rbp]
	movzx	eax, BYTE PTR -2466[rbp]
	movzx	edx, al
	lea	rsi, -2465[rbp]
	lea	rax, -1672[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1700[rbp]
	mov	ecx, DWORD PTR -1792[rbp]
	movzx	eax, BYTE PTR -2465[rbp]
	movzx	edx, al
	lea	rsi, -2464[rbp]
	lea	rax, -1668[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1696[rbp]
	mov	ecx, DWORD PTR -1788[rbp]
	movzx	eax, BYTE PTR -2464[rbp]
	movzx	edx, al
	lea	rsi, -2463[rbp]
	lea	rax, -1664[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2463[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -80[rbp]
	mov	ecx, DWORD PTR -84[rbp]
	lea	rsi, -2462[rbp]
	lea	rax, -1660[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -1692[rbp]
	lea	rsi, -1652[rbp]
	lea	rax, -1656[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1656[rbp]
	lea	rsi, -1644[rbp]
	lea	rax, -1648[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1656[rbp]
	lea	rsi, -1636[rbp]
	lea	rax, -1640[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1656[rbp]
	lea	rsi, -1628[rbp]
	lea	rax, -1632[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1656[rbp]
	lea	rsi, -1620[rbp]
	lea	rax, -1624[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1656[rbp]
	lea	rsi, -1612[rbp]
	lea	rax, -1616[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1656[rbp]
	lea	rsi, -1604[rbp]
	lea	rax, -1608[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1656[rbp]
	lea	rsi, -1596[rbp]
	lea	rax, -1600[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1656[rbp]
	lea	rsi, -1588[rbp]
	lea	rax, -1592[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1600[rbp]
	mov	edx, DWORD PTR -1588[rbp]
	lea	rsi, -2461[rbp]
	lea	rax, -1584[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1608[rbp]
	mov	ecx, DWORD PTR -1596[rbp]
	movzx	eax, BYTE PTR -2461[rbp]
	movzx	edx, al
	lea	rsi, -2460[rbp]
	lea	rax, -1580[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1616[rbp]
	mov	ecx, DWORD PTR -1604[rbp]
	movzx	eax, BYTE PTR -2460[rbp]
	movzx	edx, al
	lea	rsi, -2459[rbp]
	lea	rax, -1576[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1624[rbp]
	mov	ecx, DWORD PTR -1612[rbp]
	movzx	eax, BYTE PTR -2459[rbp]
	movzx	edx, al
	lea	rsi, -2458[rbp]
	lea	rax, -1572[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1632[rbp]
	mov	ecx, DWORD PTR -1620[rbp]
	movzx	eax, BYTE PTR -2458[rbp]
	movzx	edx, al
	lea	rsi, -2457[rbp]
	lea	rax, -1568[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1640[rbp]
	mov	ecx, DWORD PTR -1628[rbp]
	movzx	eax, BYTE PTR -2457[rbp]
	movzx	edx, al
	lea	rsi, -2456[rbp]
	lea	rax, -1564[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1648[rbp]
	mov	ecx, DWORD PTR -1636[rbp]
	movzx	eax, BYTE PTR -2456[rbp]
	movzx	edx, al
	lea	rsi, -2455[rbp]
	lea	rax, -1560[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2455[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1644[rbp]
	add	eax, edx
	mov	DWORD PTR -76[rbp], eax
	mov	ecx, DWORD PTR -1592[rbp]
	mov	edx, DWORD PTR -1692[rbp]
	lea	rsi, -2454[rbp]
	lea	rax, -1556[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1584[rbp]
	mov	ecx, DWORD PTR -1688[rbp]
	movzx	eax, BYTE PTR -2454[rbp]
	movzx	edx, al
	lea	rsi, -2453[rbp]
	lea	rax, -1552[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1580[rbp]
	mov	ecx, DWORD PTR -1684[rbp]
	movzx	eax, BYTE PTR -2453[rbp]
	movzx	edx, al
	lea	rsi, -2452[rbp]
	lea	rax, -1548[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1576[rbp]
	mov	ecx, DWORD PTR -1680[rbp]
	movzx	eax, BYTE PTR -2452[rbp]
	movzx	edx, al
	lea	rsi, -2451[rbp]
	lea	rax, -1544[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1572[rbp]
	mov	ecx, DWORD PTR -1676[rbp]
	movzx	eax, BYTE PTR -2451[rbp]
	movzx	edx, al
	lea	rsi, -2450[rbp]
	lea	rax, -1540[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1568[rbp]
	mov	ecx, DWORD PTR -1672[rbp]
	movzx	eax, BYTE PTR -2450[rbp]
	movzx	edx, al
	lea	rsi, -2449[rbp]
	lea	rax, -1536[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1564[rbp]
	mov	ecx, DWORD PTR -1668[rbp]
	movzx	eax, BYTE PTR -2449[rbp]
	movzx	edx, al
	lea	rsi, -2448[rbp]
	lea	rax, -1532[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1560[rbp]
	mov	ecx, DWORD PTR -1664[rbp]
	movzx	eax, BYTE PTR -2448[rbp]
	movzx	edx, al
	lea	rsi, -2447[rbp]
	lea	rax, -1528[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1660[rbp]
	movzx	eax, BYTE PTR -2447[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -76[rbp]
	lea	rsi, -2446[rbp]
	lea	rax, -1524[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2446[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2462[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	lea	rsi, -1516[rbp]
	lea	rax, -1520[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	lea	rsi, -1508[rbp]
	lea	rax, -1512[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	lea	rsi, -1500[rbp]
	lea	rax, -1504[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	lea	rsi, -1492[rbp]
	lea	rax, -1496[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	lea	rsi, -1484[rbp]
	lea	rax, -1488[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	lea	rsi, -1476[rbp]
	lea	rax, -1480[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	lea	rsi, -1468[rbp]
	lea	rax, -1472[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	lea	rsi, -1460[rbp]
	lea	rax, -1464[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1472[rbp]
	mov	edx, DWORD PTR -1460[rbp]
	lea	rsi, -2445[rbp]
	lea	rax, -1456[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1480[rbp]
	mov	ecx, DWORD PTR -1468[rbp]
	movzx	eax, BYTE PTR -2445[rbp]
	movzx	edx, al
	lea	rsi, -2444[rbp]
	lea	rax, -1452[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1488[rbp]
	mov	ecx, DWORD PTR -1476[rbp]
	movzx	eax, BYTE PTR -2444[rbp]
	movzx	edx, al
	lea	rsi, -2443[rbp]
	lea	rax, -1448[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1496[rbp]
	mov	ecx, DWORD PTR -1484[rbp]
	movzx	eax, BYTE PTR -2443[rbp]
	movzx	edx, al
	lea	rsi, -2442[rbp]
	lea	rax, -1444[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1504[rbp]
	mov	ecx, DWORD PTR -1492[rbp]
	movzx	eax, BYTE PTR -2442[rbp]
	movzx	edx, al
	lea	rsi, -2441[rbp]
	lea	rax, -1440[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1512[rbp]
	mov	ecx, DWORD PTR -1500[rbp]
	movzx	eax, BYTE PTR -2441[rbp]
	movzx	edx, al
	lea	rsi, -2440[rbp]
	lea	rax, -1436[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1520[rbp]
	mov	ecx, DWORD PTR -1508[rbp]
	movzx	eax, BYTE PTR -2440[rbp]
	movzx	edx, al
	lea	rsi, -2439[rbp]
	lea	rax, -1432[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2439[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1516[rbp]
	add	eax, edx
	mov	DWORD PTR -68[rbp], eax
	mov	ecx, DWORD PTR -1464[rbp]
	mov	edx, DWORD PTR -1552[rbp]
	lea	rsi, -2438[rbp]
	lea	rax, -1428[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1456[rbp]
	mov	ecx, DWORD PTR -1548[rbp]
	movzx	eax, BYTE PTR -2438[rbp]
	movzx	edx, al
	lea	rsi, -2437[rbp]
	lea	rax, -1424[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1452[rbp]
	mov	ecx, DWORD PTR -1544[rbp]
	movzx	eax, BYTE PTR -2437[rbp]
	movzx	edx, al
	lea	rsi, -2436[rbp]
	lea	rax, -1420[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1448[rbp]
	mov	ecx, DWORD PTR -1540[rbp]
	movzx	eax, BYTE PTR -2436[rbp]
	movzx	edx, al
	lea	rsi, -2435[rbp]
	lea	rax, -1416[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1444[rbp]
	mov	ecx, DWORD PTR -1536[rbp]
	movzx	eax, BYTE PTR -2435[rbp]
	movzx	edx, al
	lea	rsi, -2434[rbp]
	lea	rax, -1412[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1440[rbp]
	mov	ecx, DWORD PTR -1532[rbp]
	movzx	eax, BYTE PTR -2434[rbp]
	movzx	edx, al
	lea	rsi, -2433[rbp]
	lea	rax, -1408[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1436[rbp]
	mov	ecx, DWORD PTR -1528[rbp]
	movzx	eax, BYTE PTR -2433[rbp]
	movzx	edx, al
	lea	rsi, -2432[rbp]
	lea	rax, -1404[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1432[rbp]
	mov	ecx, DWORD PTR -1524[rbp]
	movzx	eax, BYTE PTR -2432[rbp]
	movzx	edx, al
	lea	rsi, -2431[rbp]
	lea	rax, -1400[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2431[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -68[rbp]
	mov	ecx, DWORD PTR -72[rbp]
	lea	rsi, -2430[rbp]
	lea	rax, -1396[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -1428[rbp]
	lea	rsi, -1388[rbp]
	lea	rax, -1392[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1380[rbp]
	lea	rax, -1384[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1372[rbp]
	lea	rax, -1376[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1364[rbp]
	lea	rax, -1368[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1356[rbp]
	lea	rax, -1360[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1348[rbp]
	lea	rax, -1352[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1340[rbp]
	lea	rax, -1344[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1332[rbp]
	lea	rax, -1336[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1324[rbp]
	lea	rax, -1328[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1336[rbp]
	mov	edx, DWORD PTR -1324[rbp]
	lea	rsi, -2429[rbp]
	lea	rax, -1320[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1344[rbp]
	mov	ecx, DWORD PTR -1332[rbp]
	movzx	eax, BYTE PTR -2429[rbp]
	movzx	edx, al
	lea	rsi, -2428[rbp]
	lea	rax, -1316[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1352[rbp]
	mov	ecx, DWORD PTR -1340[rbp]
	movzx	eax, BYTE PTR -2428[rbp]
	movzx	edx, al
	lea	rsi, -2427[rbp]
	lea	rax, -1312[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1360[rbp]
	mov	ecx, DWORD PTR -1348[rbp]
	movzx	eax, BYTE PTR -2427[rbp]
	movzx	edx, al
	lea	rsi, -2426[rbp]
	lea	rax, -1308[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1368[rbp]
	mov	ecx, DWORD PTR -1356[rbp]
	movzx	eax, BYTE PTR -2426[rbp]
	movzx	edx, al
	lea	rsi, -2425[rbp]
	lea	rax, -1304[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1376[rbp]
	mov	ecx, DWORD PTR -1364[rbp]
	movzx	eax, BYTE PTR -2425[rbp]
	movzx	edx, al
	lea	rsi, -2424[rbp]
	lea	rax, -1300[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1384[rbp]
	mov	ecx, DWORD PTR -1372[rbp]
	movzx	eax, BYTE PTR -2424[rbp]
	movzx	edx, al
	lea	rsi, -2423[rbp]
	lea	rax, -1296[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2423[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1380[rbp]
	add	eax, edx
	mov	DWORD PTR -64[rbp], eax
	mov	ecx, DWORD PTR -1328[rbp]
	mov	edx, DWORD PTR -1428[rbp]
	lea	rsi, -2422[rbp]
	lea	rax, -1292[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1320[rbp]
	mov	ecx, DWORD PTR -1424[rbp]
	movzx	eax, BYTE PTR -2422[rbp]
	movzx	edx, al
	lea	rsi, -2421[rbp]
	lea	rax, -1288[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1316[rbp]
	mov	ecx, DWORD PTR -1420[rbp]
	movzx	eax, BYTE PTR -2421[rbp]
	movzx	edx, al
	lea	rsi, -2420[rbp]
	lea	rax, -1284[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1312[rbp]
	mov	ecx, DWORD PTR -1416[rbp]
	movzx	eax, BYTE PTR -2420[rbp]
	movzx	edx, al
	lea	rsi, -2419[rbp]
	lea	rax, -1280[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1308[rbp]
	mov	ecx, DWORD PTR -1412[rbp]
	movzx	eax, BYTE PTR -2419[rbp]
	movzx	edx, al
	lea	rsi, -2418[rbp]
	lea	rax, -1276[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1304[rbp]
	mov	ecx, DWORD PTR -1408[rbp]
	movzx	eax, BYTE PTR -2418[rbp]
	movzx	edx, al
	lea	rsi, -2417[rbp]
	lea	rax, -1272[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1300[rbp]
	mov	ecx, DWORD PTR -1404[rbp]
	movzx	eax, BYTE PTR -2417[rbp]
	movzx	edx, al
	lea	rsi, -2416[rbp]
	lea	rax, -1268[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1296[rbp]
	mov	ecx, DWORD PTR -1400[rbp]
	movzx	eax, BYTE PTR -2416[rbp]
	movzx	edx, al
	lea	rsi, -2415[rbp]
	lea	rax, -1264[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1396[rbp]
	movzx	eax, BYTE PTR -2415[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -64[rbp]
	lea	rsi, -2414[rbp]
	lea	rax, -1260[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2414[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2430[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	lea	rsi, -1252[rbp]
	lea	rax, -1256[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	lea	rsi, -1244[rbp]
	lea	rax, -1248[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	lea	rsi, -1236[rbp]
	lea	rax, -1240[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	lea	rsi, -1228[rbp]
	lea	rax, -1232[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	lea	rsi, -1220[rbp]
	lea	rax, -1224[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	lea	rsi, -1212[rbp]
	lea	rax, -1216[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	lea	rsi, -1204[rbp]
	lea	rax, -1208[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	lea	rsi, -1196[rbp]
	lea	rax, -1200[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1208[rbp]
	mov	edx, DWORD PTR -1196[rbp]
	lea	rsi, -2413[rbp]
	lea	rax, -1192[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1216[rbp]
	mov	ecx, DWORD PTR -1204[rbp]
	movzx	eax, BYTE PTR -2413[rbp]
	movzx	edx, al
	lea	rsi, -2412[rbp]
	lea	rax, -1188[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1224[rbp]
	mov	ecx, DWORD PTR -1212[rbp]
	movzx	eax, BYTE PTR -2412[rbp]
	movzx	edx, al
	lea	rsi, -2411[rbp]
	lea	rax, -1184[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1232[rbp]
	mov	ecx, DWORD PTR -1220[rbp]
	movzx	eax, BYTE PTR -2411[rbp]
	movzx	edx, al
	lea	rsi, -2410[rbp]
	lea	rax, -1180[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1240[rbp]
	mov	ecx, DWORD PTR -1228[rbp]
	movzx	eax, BYTE PTR -2410[rbp]
	movzx	edx, al
	lea	rsi, -2409[rbp]
	lea	rax, -1176[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1248[rbp]
	mov	ecx, DWORD PTR -1236[rbp]
	movzx	eax, BYTE PTR -2409[rbp]
	movzx	edx, al
	lea	rsi, -2408[rbp]
	lea	rax, -1172[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1256[rbp]
	mov	ecx, DWORD PTR -1244[rbp]
	movzx	eax, BYTE PTR -2408[rbp]
	movzx	edx, al
	lea	rsi, -2407[rbp]
	lea	rax, -1168[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2407[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1252[rbp]
	add	eax, edx
	mov	DWORD PTR -56[rbp], eax
	mov	ecx, DWORD PTR -1200[rbp]
	mov	edx, DWORD PTR -1288[rbp]
	lea	rsi, -2406[rbp]
	lea	rax, -1164[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1192[rbp]
	mov	ecx, DWORD PTR -1284[rbp]
	movzx	eax, BYTE PTR -2406[rbp]
	movzx	edx, al
	lea	rsi, -2405[rbp]
	lea	rax, -1160[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1188[rbp]
	mov	ecx, DWORD PTR -1280[rbp]
	movzx	eax, BYTE PTR -2405[rbp]
	movzx	edx, al
	lea	rsi, -2404[rbp]
	lea	rax, -1156[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1184[rbp]
	mov	ecx, DWORD PTR -1276[rbp]
	movzx	eax, BYTE PTR -2404[rbp]
	movzx	edx, al
	lea	rsi, -2403[rbp]
	lea	rax, -1152[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1180[rbp]
	mov	ecx, DWORD PTR -1272[rbp]
	movzx	eax, BYTE PTR -2403[rbp]
	movzx	edx, al
	lea	rsi, -2402[rbp]
	lea	rax, -1148[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1176[rbp]
	mov	ecx, DWORD PTR -1268[rbp]
	movzx	eax, BYTE PTR -2402[rbp]
	movzx	edx, al
	lea	rsi, -2401[rbp]
	lea	rax, -1144[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1172[rbp]
	mov	ecx, DWORD PTR -1264[rbp]
	movzx	eax, BYTE PTR -2401[rbp]
	movzx	edx, al
	lea	rsi, -2400[rbp]
	lea	rax, -1140[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1168[rbp]
	mov	ecx, DWORD PTR -1260[rbp]
	movzx	eax, BYTE PTR -2400[rbp]
	movzx	edx, al
	lea	rsi, -2399[rbp]
	lea	rax, -1136[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2399[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -56[rbp]
	mov	ecx, DWORD PTR -60[rbp]
	lea	rsi, -2398[rbp]
	lea	rax, -1132[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -1164[rbp]
	lea	rsi, -1124[rbp]
	lea	rax, -1128[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1128[rbp]
	lea	rsi, -1116[rbp]
	lea	rax, -1120[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1128[rbp]
	lea	rsi, -1108[rbp]
	lea	rax, -1112[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1128[rbp]
	lea	rsi, -1100[rbp]
	lea	rax, -1104[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1128[rbp]
	lea	rsi, -1092[rbp]
	lea	rax, -1096[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1128[rbp]
	lea	rsi, -1084[rbp]
	lea	rax, -1088[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1128[rbp]
	lea	rsi, -1076[rbp]
	lea	rax, -1080[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1128[rbp]
	lea	rsi, -1068[rbp]
	lea	rax, -1072[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1128[rbp]
	lea	rsi, -1060[rbp]
	lea	rax, -1064[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1072[rbp]
	mov	edx, DWORD PTR -1060[rbp]
	lea	rsi, -2397[rbp]
	lea	rax, -1056[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1080[rbp]
	mov	ecx, DWORD PTR -1068[rbp]
	movzx	eax, BYTE PTR -2397[rbp]
	movzx	edx, al
	lea	rsi, -2396[rbp]
	lea	rax, -1052[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1088[rbp]
	mov	ecx, DWORD PTR -1076[rbp]
	movzx	eax, BYTE PTR -2396[rbp]
	movzx	edx, al
	lea	rsi, -2395[rbp]
	lea	rax, -1048[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1096[rbp]
	mov	ecx, DWORD PTR -1084[rbp]
	movzx	eax, BYTE PTR -2395[rbp]
	movzx	edx, al
	lea	rsi, -2394[rbp]
	lea	rax, -1044[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1104[rbp]
	mov	ecx, DWORD PTR -1092[rbp]
	movzx	eax, BYTE PTR -2394[rbp]
	movzx	edx, al
	lea	rsi, -2393[rbp]
	lea	rax, -1040[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1112[rbp]
	mov	ecx, DWORD PTR -1100[rbp]
	movzx	eax, BYTE PTR -2393[rbp]
	movzx	edx, al
	lea	rsi, -2392[rbp]
	lea	rax, -1036[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1120[rbp]
	mov	ecx, DWORD PTR -1108[rbp]
	movzx	eax, BYTE PTR -2392[rbp]
	movzx	edx, al
	lea	rsi, -2391[rbp]
	lea	rax, -1032[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2391[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1116[rbp]
	add	eax, edx
	mov	DWORD PTR -52[rbp], eax
	mov	ecx, DWORD PTR -1064[rbp]
	mov	edx, DWORD PTR -1164[rbp]
	lea	rsi, -2390[rbp]
	lea	rax, -1028[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1056[rbp]
	mov	ecx, DWORD PTR -1160[rbp]
	movzx	eax, BYTE PTR -2390[rbp]
	movzx	edx, al
	lea	rsi, -2389[rbp]
	lea	rax, -1024[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1052[rbp]
	mov	ecx, DWORD PTR -1156[rbp]
	movzx	eax, BYTE PTR -2389[rbp]
	movzx	edx, al
	lea	rsi, -2388[rbp]
	lea	rax, -1020[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1048[rbp]
	mov	ecx, DWORD PTR -1152[rbp]
	movzx	eax, BYTE PTR -2388[rbp]
	movzx	edx, al
	lea	rsi, -2387[rbp]
	lea	rax, -1016[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1044[rbp]
	mov	ecx, DWORD PTR -1148[rbp]
	movzx	eax, BYTE PTR -2387[rbp]
	movzx	edx, al
	lea	rsi, -2386[rbp]
	lea	rax, -1012[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1040[rbp]
	mov	ecx, DWORD PTR -1144[rbp]
	movzx	eax, BYTE PTR -2386[rbp]
	movzx	edx, al
	lea	rsi, -2385[rbp]
	lea	rax, -1008[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1036[rbp]
	mov	ecx, DWORD PTR -1140[rbp]
	movzx	eax, BYTE PTR -2385[rbp]
	movzx	edx, al
	lea	rsi, -2384[rbp]
	lea	rax, -1004[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1032[rbp]
	mov	ecx, DWORD PTR -1136[rbp]
	movzx	eax, BYTE PTR -2384[rbp]
	movzx	edx, al
	lea	rsi, -2383[rbp]
	lea	rax, -1000[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1132[rbp]
	movzx	eax, BYTE PTR -2383[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -52[rbp]
	lea	rsi, -2382[rbp]
	lea	rax, -996[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2382[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2398[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rsi, -988[rbp]
	lea	rax, -992[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rsi, -980[rbp]
	lea	rax, -984[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rsi, -972[rbp]
	lea	rax, -976[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rsi, -964[rbp]
	lea	rax, -968[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rsi, -956[rbp]
	lea	rax, -960[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rsi, -948[rbp]
	lea	rax, -952[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rsi, -940[rbp]
	lea	rax, -944[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rsi, -932[rbp]
	lea	rax, -936[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -944[rbp]
	mov	edx, DWORD PTR -932[rbp]
	lea	rsi, -2381[rbp]
	lea	rax, -928[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -952[rbp]
	mov	ecx, DWORD PTR -940[rbp]
	movzx	eax, BYTE PTR -2381[rbp]
	movzx	edx, al
	lea	rsi, -2380[rbp]
	lea	rax, -924[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -960[rbp]
	mov	ecx, DWORD PTR -948[rbp]
	movzx	eax, BYTE PTR -2380[rbp]
	movzx	edx, al
	lea	rsi, -2379[rbp]
	lea	rax, -920[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -968[rbp]
	mov	ecx, DWORD PTR -956[rbp]
	movzx	eax, BYTE PTR -2379[rbp]
	movzx	edx, al
	lea	rsi, -2378[rbp]
	lea	rax, -916[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -976[rbp]
	mov	ecx, DWORD PTR -964[rbp]
	movzx	eax, BYTE PTR -2378[rbp]
	movzx	edx, al
	lea	rsi, -2377[rbp]
	lea	rax, -912[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -984[rbp]
	mov	ecx, DWORD PTR -972[rbp]
	movzx	eax, BYTE PTR -2377[rbp]
	movzx	edx, al
	lea	rsi, -2376[rbp]
	lea	rax, -908[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -992[rbp]
	mov	ecx, DWORD PTR -980[rbp]
	movzx	eax, BYTE PTR -2376[rbp]
	movzx	edx, al
	lea	rsi, -2375[rbp]
	lea	rax, -904[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2375[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -988[rbp]
	add	eax, edx
	mov	DWORD PTR -44[rbp], eax
	mov	ecx, DWORD PTR -936[rbp]
	mov	edx, DWORD PTR -1024[rbp]
	lea	rsi, -2374[rbp]
	lea	rax, -900[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -928[rbp]
	mov	ecx, DWORD PTR -1020[rbp]
	movzx	eax, BYTE PTR -2374[rbp]
	movzx	edx, al
	lea	rsi, -2373[rbp]
	lea	rax, -896[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -924[rbp]
	mov	ecx, DWORD PTR -1016[rbp]
	movzx	eax, BYTE PTR -2373[rbp]
	movzx	edx, al
	lea	rsi, -2372[rbp]
	lea	rax, -892[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -920[rbp]
	mov	ecx, DWORD PTR -1012[rbp]
	movzx	eax, BYTE PTR -2372[rbp]
	movzx	edx, al
	lea	rsi, -2371[rbp]
	lea	rax, -888[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -916[rbp]
	mov	ecx, DWORD PTR -1008[rbp]
	movzx	eax, BYTE PTR -2371[rbp]
	movzx	edx, al
	lea	rsi, -2370[rbp]
	lea	rax, -884[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -912[rbp]
	mov	ecx, DWORD PTR -1004[rbp]
	movzx	eax, BYTE PTR -2370[rbp]
	movzx	edx, al
	lea	rsi, -2369[rbp]
	lea	rax, -880[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -908[rbp]
	mov	ecx, DWORD PTR -1000[rbp]
	movzx	eax, BYTE PTR -2369[rbp]
	movzx	edx, al
	lea	rsi, -2368[rbp]
	lea	rax, -876[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -904[rbp]
	mov	ecx, DWORD PTR -996[rbp]
	movzx	eax, BYTE PTR -2368[rbp]
	movzx	edx, al
	lea	rsi, -2367[rbp]
	lea	rax, -872[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2367[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -48[rbp]
	lea	rsi, -2366[rbp]
	lea	rax, -868[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -900[rbp]
	lea	rsi, -860[rbp]
	lea	rax, -864[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -852[rbp]
	lea	rax, -856[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -844[rbp]
	lea	rax, -848[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -836[rbp]
	lea	rax, -840[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -828[rbp]
	lea	rax, -832[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -820[rbp]
	lea	rax, -824[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -812[rbp]
	lea	rax, -816[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -804[rbp]
	lea	rax, -808[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -796[rbp]
	lea	rax, -800[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -808[rbp]
	mov	edx, DWORD PTR -796[rbp]
	lea	rsi, -2365[rbp]
	lea	rax, -792[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -816[rbp]
	mov	ecx, DWORD PTR -804[rbp]
	movzx	eax, BYTE PTR -2365[rbp]
	movzx	edx, al
	lea	rsi, -2364[rbp]
	lea	rax, -788[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -824[rbp]
	mov	ecx, DWORD PTR -812[rbp]
	movzx	eax, BYTE PTR -2364[rbp]
	movzx	edx, al
	lea	rsi, -2363[rbp]
	lea	rax, -784[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -832[rbp]
	mov	ecx, DWORD PTR -820[rbp]
	movzx	eax, BYTE PTR -2363[rbp]
	movzx	edx, al
	lea	rsi, -2362[rbp]
	lea	rax, -780[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -840[rbp]
	mov	ecx, DWORD PTR -828[rbp]
	movzx	eax, BYTE PTR -2362[rbp]
	movzx	edx, al
	lea	rsi, -2361[rbp]
	lea	rax, -776[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -848[rbp]
	mov	ecx, DWORD PTR -836[rbp]
	movzx	eax, BYTE PTR -2361[rbp]
	movzx	edx, al
	lea	rsi, -2360[rbp]
	lea	rax, -772[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -856[rbp]
	mov	ecx, DWORD PTR -844[rbp]
	movzx	eax, BYTE PTR -2360[rbp]
	movzx	edx, al
	lea	rsi, -2359[rbp]
	lea	rax, -768[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2359[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -852[rbp]
	add	eax, edx
	mov	DWORD PTR -40[rbp], eax
	mov	ecx, DWORD PTR -800[rbp]
	mov	edx, DWORD PTR -900[rbp]
	lea	rsi, -2358[rbp]
	lea	rax, -764[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -792[rbp]
	mov	ecx, DWORD PTR -896[rbp]
	movzx	eax, BYTE PTR -2358[rbp]
	movzx	edx, al
	lea	rsi, -2357[rbp]
	lea	rax, -760[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -788[rbp]
	mov	ecx, DWORD PTR -892[rbp]
	movzx	eax, BYTE PTR -2357[rbp]
	movzx	edx, al
	lea	rsi, -2356[rbp]
	lea	rax, -756[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -784[rbp]
	mov	ecx, DWORD PTR -888[rbp]
	movzx	eax, BYTE PTR -2356[rbp]
	movzx	edx, al
	lea	rsi, -2355[rbp]
	lea	rax, -752[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -780[rbp]
	mov	ecx, DWORD PTR -884[rbp]
	movzx	eax, BYTE PTR -2355[rbp]
	movzx	edx, al
	lea	rsi, -2354[rbp]
	lea	rax, -748[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -776[rbp]
	mov	ecx, DWORD PTR -880[rbp]
	movzx	eax, BYTE PTR -2354[rbp]
	movzx	edx, al
	lea	rsi, -2353[rbp]
	lea	rax, -744[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -772[rbp]
	mov	ecx, DWORD PTR -876[rbp]
	movzx	eax, BYTE PTR -2353[rbp]
	movzx	edx, al
	lea	rsi, -2352[rbp]
	lea	rax, -740[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -768[rbp]
	mov	ecx, DWORD PTR -872[rbp]
	movzx	eax, BYTE PTR -2352[rbp]
	movzx	edx, al
	lea	rsi, -2351[rbp]
	lea	rax, -736[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -868[rbp]
	movzx	eax, BYTE PTR -2351[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -40[rbp]
	lea	rsi, -2350[rbp]
	lea	rax, -732[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2350[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2366[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -724[rbp]
	lea	rax, -728[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -716[rbp]
	lea	rax, -720[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -708[rbp]
	lea	rax, -712[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -700[rbp]
	lea	rax, -704[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -692[rbp]
	lea	rax, -696[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -684[rbp]
	lea	rax, -688[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -676[rbp]
	lea	rax, -680[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -668[rbp]
	lea	rax, -672[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -680[rbp]
	mov	edx, DWORD PTR -668[rbp]
	lea	rsi, -2349[rbp]
	lea	rax, -664[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -688[rbp]
	mov	ecx, DWORD PTR -676[rbp]
	movzx	eax, BYTE PTR -2349[rbp]
	movzx	edx, al
	lea	rsi, -2348[rbp]
	lea	rax, -660[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -696[rbp]
	mov	ecx, DWORD PTR -684[rbp]
	movzx	eax, BYTE PTR -2348[rbp]
	movzx	edx, al
	lea	rsi, -2347[rbp]
	lea	rax, -656[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -704[rbp]
	mov	ecx, DWORD PTR -692[rbp]
	movzx	eax, BYTE PTR -2347[rbp]
	movzx	edx, al
	lea	rsi, -2346[rbp]
	lea	rax, -652[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -712[rbp]
	mov	ecx, DWORD PTR -700[rbp]
	movzx	eax, BYTE PTR -2346[rbp]
	movzx	edx, al
	lea	rsi, -2345[rbp]
	lea	rax, -648[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -720[rbp]
	mov	ecx, DWORD PTR -708[rbp]
	movzx	eax, BYTE PTR -2345[rbp]
	movzx	edx, al
	lea	rsi, -2344[rbp]
	lea	rax, -644[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -728[rbp]
	mov	ecx, DWORD PTR -716[rbp]
	movzx	eax, BYTE PTR -2344[rbp]
	movzx	edx, al
	lea	rsi, -2343[rbp]
	lea	rax, -640[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2343[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -724[rbp]
	add	eax, edx
	mov	DWORD PTR -32[rbp], eax
	mov	ecx, DWORD PTR -672[rbp]
	mov	edx, DWORD PTR -760[rbp]
	lea	rsi, -2342[rbp]
	lea	rax, -636[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -664[rbp]
	mov	ecx, DWORD PTR -756[rbp]
	movzx	eax, BYTE PTR -2342[rbp]
	movzx	edx, al
	lea	rsi, -2341[rbp]
	lea	rax, -632[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -660[rbp]
	mov	ecx, DWORD PTR -752[rbp]
	movzx	eax, BYTE PTR -2341[rbp]
	movzx	edx, al
	lea	rsi, -2340[rbp]
	lea	rax, -628[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -656[rbp]
	mov	ecx, DWORD PTR -748[rbp]
	movzx	eax, BYTE PTR -2340[rbp]
	movzx	edx, al
	lea	rsi, -2339[rbp]
	lea	rax, -624[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -652[rbp]
	mov	ecx, DWORD PTR -744[rbp]
	movzx	eax, BYTE PTR -2339[rbp]
	movzx	edx, al
	lea	rsi, -2338[rbp]
	lea	rax, -620[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -648[rbp]
	mov	ecx, DWORD PTR -740[rbp]
	movzx	eax, BYTE PTR -2338[rbp]
	movzx	edx, al
	lea	rsi, -2337[rbp]
	lea	rax, -616[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -644[rbp]
	mov	ecx, DWORD PTR -736[rbp]
	movzx	eax, BYTE PTR -2337[rbp]
	movzx	edx, al
	lea	rsi, -2336[rbp]
	lea	rax, -612[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -640[rbp]
	mov	ecx, DWORD PTR -732[rbp]
	movzx	eax, BYTE PTR -2336[rbp]
	movzx	edx, al
	lea	rsi, -2335[rbp]
	lea	rax, -608[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2335[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	lea	rsi, -2334[rbp]
	lea	rax, -604[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -636[rbp]
	lea	rsi, -596[rbp]
	lea	rax, -600[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -600[rbp]
	lea	rsi, -588[rbp]
	lea	rax, -592[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -600[rbp]
	lea	rsi, -580[rbp]
	lea	rax, -584[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -600[rbp]
	lea	rsi, -572[rbp]
	lea	rax, -576[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -600[rbp]
	lea	rsi, -564[rbp]
	lea	rax, -568[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -600[rbp]
	lea	rsi, -556[rbp]
	lea	rax, -560[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -600[rbp]
	lea	rsi, -548[rbp]
	lea	rax, -552[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -600[rbp]
	lea	rsi, -540[rbp]
	lea	rax, -544[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -600[rbp]
	lea	rsi, -532[rbp]
	lea	rax, -536[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -544[rbp]
	mov	edx, DWORD PTR -532[rbp]
	lea	rsi, -2333[rbp]
	lea	rax, -528[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -552[rbp]
	mov	ecx, DWORD PTR -540[rbp]
	movzx	eax, BYTE PTR -2333[rbp]
	movzx	edx, al
	lea	rsi, -2332[rbp]
	lea	rax, -524[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -560[rbp]
	mov	ecx, DWORD PTR -548[rbp]
	movzx	eax, BYTE PTR -2332[rbp]
	movzx	edx, al
	lea	rsi, -2331[rbp]
	lea	rax, -520[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -568[rbp]
	mov	ecx, DWORD PTR -556[rbp]
	movzx	eax, BYTE PTR -2331[rbp]
	movzx	edx, al
	lea	rsi, -2330[rbp]
	lea	rax, -516[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -576[rbp]
	mov	ecx, DWORD PTR -564[rbp]
	movzx	eax, BYTE PTR -2330[rbp]
	movzx	edx, al
	lea	rsi, -2329[rbp]
	lea	rax, -512[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -584[rbp]
	mov	ecx, DWORD PTR -572[rbp]
	movzx	eax, BYTE PTR -2329[rbp]
	movzx	edx, al
	lea	rsi, -2328[rbp]
	lea	rax, -508[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -592[rbp]
	mov	ecx, DWORD PTR -580[rbp]
	movzx	eax, BYTE PTR -2328[rbp]
	movzx	edx, al
	lea	rsi, -2327[rbp]
	lea	rax, -504[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2327[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -588[rbp]
	add	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	ecx, DWORD PTR -536[rbp]
	mov	edx, DWORD PTR -636[rbp]
	lea	rsi, -2326[rbp]
	lea	rax, -500[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -528[rbp]
	mov	ecx, DWORD PTR -632[rbp]
	movzx	eax, BYTE PTR -2326[rbp]
	movzx	edx, al
	lea	rsi, -2325[rbp]
	lea	rax, -496[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -524[rbp]
	mov	ecx, DWORD PTR -628[rbp]
	movzx	eax, BYTE PTR -2325[rbp]
	movzx	edx, al
	lea	rsi, -2324[rbp]
	lea	rax, -492[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -520[rbp]
	mov	ecx, DWORD PTR -624[rbp]
	movzx	eax, BYTE PTR -2324[rbp]
	movzx	edx, al
	lea	rsi, -2323[rbp]
	lea	rax, -488[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -516[rbp]
	mov	ecx, DWORD PTR -620[rbp]
	movzx	eax, BYTE PTR -2323[rbp]
	movzx	edx, al
	lea	rsi, -2322[rbp]
	lea	rax, -484[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -512[rbp]
	mov	ecx, DWORD PTR -616[rbp]
	movzx	eax, BYTE PTR -2322[rbp]
	movzx	edx, al
	lea	rsi, -2321[rbp]
	lea	rax, -480[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -508[rbp]
	mov	ecx, DWORD PTR -612[rbp]
	movzx	eax, BYTE PTR -2321[rbp]
	movzx	edx, al
	lea	rsi, -2320[rbp]
	lea	rax, -476[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -504[rbp]
	mov	ecx, DWORD PTR -608[rbp]
	movzx	eax, BYTE PTR -2320[rbp]
	movzx	edx, al
	lea	rsi, -2319[rbp]
	lea	rax, -472[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -604[rbp]
	movzx	eax, BYTE PTR -2319[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -28[rbp]
	lea	rsi, -2318[rbp]
	lea	rax, -468[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2318[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2334[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -460[rbp]
	lea	rax, -464[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -452[rbp]
	lea	rax, -456[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -444[rbp]
	lea	rax, -448[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -436[rbp]
	lea	rax, -440[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -428[rbp]
	lea	rax, -432[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -420[rbp]
	lea	rax, -424[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -412[rbp]
	lea	rax, -416[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	rax, QWORD PTR -2560[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -404[rbp]
	lea	rax, -408[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -416[rbp]
	mov	edx, DWORD PTR -404[rbp]
	lea	rsi, -2317[rbp]
	lea	rax, -400[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -424[rbp]
	mov	ecx, DWORD PTR -412[rbp]
	movzx	eax, BYTE PTR -2317[rbp]
	movzx	edx, al
	lea	rsi, -2316[rbp]
	lea	rax, -396[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -432[rbp]
	mov	ecx, DWORD PTR -420[rbp]
	movzx	eax, BYTE PTR -2316[rbp]
	movzx	edx, al
	lea	rsi, -2315[rbp]
	lea	rax, -392[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -440[rbp]
	mov	ecx, DWORD PTR -428[rbp]
	movzx	eax, BYTE PTR -2315[rbp]
	movzx	edx, al
	lea	rsi, -2314[rbp]
	lea	rax, -388[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -448[rbp]
	mov	ecx, DWORD PTR -436[rbp]
	movzx	eax, BYTE PTR -2314[rbp]
	movzx	edx, al
	lea	rsi, -2313[rbp]
	lea	rax, -384[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -456[rbp]
	mov	ecx, DWORD PTR -444[rbp]
	movzx	eax, BYTE PTR -2313[rbp]
	movzx	edx, al
	lea	rsi, -2312[rbp]
	lea	rax, -380[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -464[rbp]
	mov	ecx, DWORD PTR -452[rbp]
	movzx	eax, BYTE PTR -2312[rbp]
	movzx	edx, al
	lea	rsi, -2311[rbp]
	lea	rax, -376[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2311[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -460[rbp]
	add	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	ecx, DWORD PTR -408[rbp]
	mov	edx, DWORD PTR -496[rbp]
	lea	rsi, -2310[rbp]
	lea	rax, -372[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -400[rbp]
	mov	ecx, DWORD PTR -492[rbp]
	movzx	eax, BYTE PTR -2310[rbp]
	movzx	edx, al
	lea	rsi, -2309[rbp]
	lea	rax, -368[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -396[rbp]
	mov	ecx, DWORD PTR -488[rbp]
	movzx	eax, BYTE PTR -2309[rbp]
	movzx	edx, al
	lea	rsi, -2308[rbp]
	lea	rax, -364[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -392[rbp]
	mov	ecx, DWORD PTR -484[rbp]
	movzx	eax, BYTE PTR -2308[rbp]
	movzx	edx, al
	lea	rsi, -2307[rbp]
	lea	rax, -360[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -388[rbp]
	mov	ecx, DWORD PTR -480[rbp]
	movzx	eax, BYTE PTR -2307[rbp]
	movzx	edx, al
	lea	rsi, -2306[rbp]
	lea	rax, -356[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -384[rbp]
	mov	ecx, DWORD PTR -476[rbp]
	movzx	eax, BYTE PTR -2306[rbp]
	movzx	edx, al
	lea	rsi, -2305[rbp]
	lea	rax, -352[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -380[rbp]
	mov	ecx, DWORD PTR -472[rbp]
	movzx	eax, BYTE PTR -2305[rbp]
	movzx	edx, al
	lea	rsi, -2304[rbp]
	lea	rax, -348[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -376[rbp]
	mov	ecx, DWORD PTR -468[rbp]
	movzx	eax, BYTE PTR -2304[rbp]
	movzx	edx, al
	lea	rsi, -2303[rbp]
	lea	rax, -344[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2303[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -20[rbp]
	mov	ecx, DWORD PTR -24[rbp]
	lea	rsi, -2302[rbp]
	lea	rax, -340[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -372[rbp]
	lea	rsi, -332[rbp]
	lea	rax, -336[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -336[rbp]
	lea	rsi, -324[rbp]
	lea	rax, -328[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -336[rbp]
	lea	rsi, -316[rbp]
	lea	rax, -320[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -336[rbp]
	lea	rsi, -308[rbp]
	lea	rax, -312[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -336[rbp]
	lea	rsi, -300[rbp]
	lea	rax, -304[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -336[rbp]
	lea	rsi, -292[rbp]
	lea	rax, -296[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -336[rbp]
	lea	rsi, -284[rbp]
	lea	rax, -288[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -336[rbp]
	lea	rsi, -276[rbp]
	lea	rax, -280[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -336[rbp]
	lea	rsi, -268[rbp]
	lea	rax, -272[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -280[rbp]
	mov	edx, DWORD PTR -268[rbp]
	lea	rsi, -2301[rbp]
	lea	rax, -264[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -288[rbp]
	mov	ecx, DWORD PTR -276[rbp]
	movzx	eax, BYTE PTR -2301[rbp]
	movzx	edx, al
	lea	rsi, -2300[rbp]
	lea	rax, -260[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -296[rbp]
	mov	ecx, DWORD PTR -284[rbp]
	movzx	eax, BYTE PTR -2300[rbp]
	movzx	edx, al
	lea	rsi, -2299[rbp]
	lea	rax, -256[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movzx	eax, BYTE PTR -2299[rbp]
	movzx	edx, al
	lea	rsi, -2298[rbp]
	lea	rax, -252[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -312[rbp]
	mov	ecx, DWORD PTR -300[rbp]
	movzx	eax, BYTE PTR -2298[rbp]
	movzx	edx, al
	lea	rsi, -2297[rbp]
	lea	rax, -248[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -320[rbp]
	mov	ecx, DWORD PTR -308[rbp]
	movzx	eax, BYTE PTR -2297[rbp]
	movzx	edx, al
	lea	rsi, -2296[rbp]
	lea	rax, -244[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -328[rbp]
	mov	ecx, DWORD PTR -316[rbp]
	movzx	eax, BYTE PTR -2296[rbp]
	movzx	edx, al
	lea	rsi, -2295[rbp]
	lea	rax, -240[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2295[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -324[rbp]
	add	eax, edx
	mov	DWORD PTR -16[rbp], eax
	mov	ecx, DWORD PTR -272[rbp]
	mov	edx, DWORD PTR -372[rbp]
	lea	rsi, -2294[rbp]
	lea	rax, -236[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -264[rbp]
	mov	ecx, DWORD PTR -368[rbp]
	movzx	eax, BYTE PTR -2294[rbp]
	movzx	edx, al
	lea	rsi, -2293[rbp]
	lea	rax, -232[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -260[rbp]
	mov	ecx, DWORD PTR -364[rbp]
	movzx	eax, BYTE PTR -2293[rbp]
	movzx	edx, al
	lea	rsi, -2292[rbp]
	lea	rax, -228[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -256[rbp]
	mov	ecx, DWORD PTR -360[rbp]
	movzx	eax, BYTE PTR -2292[rbp]
	movzx	edx, al
	lea	rsi, -2291[rbp]
	lea	rax, -224[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -252[rbp]
	mov	ecx, DWORD PTR -356[rbp]
	movzx	eax, BYTE PTR -2291[rbp]
	movzx	edx, al
	lea	rsi, -2290[rbp]
	lea	rax, -220[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -248[rbp]
	mov	ecx, DWORD PTR -352[rbp]
	movzx	eax, BYTE PTR -2290[rbp]
	movzx	edx, al
	lea	rsi, -2289[rbp]
	lea	rax, -216[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -244[rbp]
	mov	ecx, DWORD PTR -348[rbp]
	movzx	eax, BYTE PTR -2289[rbp]
	movzx	edx, al
	lea	rsi, -2288[rbp]
	lea	rax, -212[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -240[rbp]
	mov	ecx, DWORD PTR -344[rbp]
	movzx	eax, BYTE PTR -2288[rbp]
	movzx	edx, al
	lea	rsi, -2287[rbp]
	lea	rax, -208[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -340[rbp]
	movzx	eax, BYTE PTR -2287[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -16[rbp]
	lea	rsi, -2286[rbp]
	lea	rax, -204[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -2286[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2302[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	edx, DWORD PTR -232[rbp]
	lea	rsi, -2285[rbp]
	lea	rax, -200[rbp]
	mov	r8d, -977
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -228[rbp]
	movzx	eax, BYTE PTR -2285[rbp]
	movzx	edx, al
	lea	rsi, -2284[rbp]
	lea	rax, -196[rbp]
	mov	r8d, -2
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -224[rbp]
	movzx	eax, BYTE PTR -2284[rbp]
	movzx	edx, al
	lea	rsi, -2283[rbp]
	lea	rax, -192[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -220[rbp]
	movzx	eax, BYTE PTR -2283[rbp]
	movzx	edx, al
	lea	rsi, -2282[rbp]
	lea	rax, -188[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -216[rbp]
	movzx	eax, BYTE PTR -2282[rbp]
	movzx	edx, al
	lea	rsi, -2281[rbp]
	lea	rax, -184[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -212[rbp]
	movzx	eax, BYTE PTR -2281[rbp]
	movzx	edx, al
	lea	rsi, -2280[rbp]
	lea	rax, -180[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -208[rbp]
	movzx	eax, BYTE PTR -2280[rbp]
	movzx	edx, al
	lea	rsi, -2279[rbp]
	lea	rax, -176[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -204[rbp]
	movzx	eax, BYTE PTR -2279[rbp]
	movzx	edx, al
	lea	rsi, -2278[rbp]
	lea	rax, -172[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -2278[rbp]
	movzx	edx, al
	mov	ecx, DWORD PTR -12[rbp]
	lea	rsi, -2277[rbp]
	lea	rax, -168[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -232[rbp]
	mov	edx, DWORD PTR -200[rbp]
	movzx	eax, BYTE PTR -2277[rbp]
	movzx	esi, al
	lea	rax, -164[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -228[rbp]
	mov	edx, DWORD PTR -196[rbp]
	movzx	eax, BYTE PTR -2277[rbp]
	movzx	esi, al
	lea	rax, -160[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -224[rbp]
	mov	edx, DWORD PTR -192[rbp]
	movzx	eax, BYTE PTR -2277[rbp]
	movzx	esi, al
	lea	rax, -156[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -220[rbp]
	mov	edx, DWORD PTR -188[rbp]
	movzx	eax, BYTE PTR -2277[rbp]
	movzx	esi, al
	lea	rax, -152[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -216[rbp]
	mov	edx, DWORD PTR -184[rbp]
	movzx	eax, BYTE PTR -2277[rbp]
	movzx	esi, al
	lea	rax, -148[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -212[rbp]
	mov	edx, DWORD PTR -180[rbp]
	movzx	eax, BYTE PTR -2277[rbp]
	movzx	esi, al
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -208[rbp]
	mov	edx, DWORD PTR -176[rbp]
	movzx	eax, BYTE PTR -2277[rbp]
	movzx	esi, al
	lea	rax, -140[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -204[rbp]
	mov	edx, DWORD PTR -172[rbp]
	movzx	eax, BYTE PTR -2277[rbp]
	movzx	esi, al
	lea	rax, -136[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -164[rbp]
	mov	rax, QWORD PTR -2552[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -2552[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -160[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2552[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -156[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2552[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -152[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2552[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -148[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2552[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -144[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2552[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -140[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2552[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -136[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L10
	call	__stack_chk_fail@PLT
.L10:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	fiat_secp256k1_square, .-fiat_secp256k1_square
	.type	fiat_secp256k1_add, @function
fiat_secp256k1_add:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	QWORD PTR -152[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -152[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	mov	edx, DWORD PTR [rax]
	lea	rsi, -125[rbp]
	lea	rax, -108[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 4
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -125[rbp]
	movzx	edx, al
	lea	rsi, -124[rbp]
	lea	rax, -104[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -124[rbp]
	movzx	edx, al
	lea	rsi, -123[rbp]
	lea	rax, -100[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 12
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -123[rbp]
	movzx	edx, al
	lea	rsi, -122[rbp]
	lea	rax, -96[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 16
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -122[rbp]
	movzx	edx, al
	lea	rsi, -121[rbp]
	lea	rax, -92[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 20
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -121[rbp]
	movzx	edx, al
	lea	rsi, -120[rbp]
	lea	rax, -88[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 24
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -120[rbp]
	movzx	edx, al
	lea	rsi, -119[rbp]
	lea	rax, -84[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 28
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -119[rbp]
	movzx	edx, al
	lea	rsi, -118[rbp]
	lea	rax, -80[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -117[rbp]
	lea	rax, -76[rbp]
	mov	r8d, -977
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -104[rbp]
	movzx	eax, BYTE PTR -117[rbp]
	movzx	edx, al
	lea	rsi, -116[rbp]
	lea	rax, -72[rbp]
	mov	r8d, -2
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -100[rbp]
	movzx	eax, BYTE PTR -116[rbp]
	movzx	edx, al
	lea	rsi, -115[rbp]
	lea	rax, -68[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -96[rbp]
	movzx	eax, BYTE PTR -115[rbp]
	movzx	edx, al
	lea	rsi, -114[rbp]
	lea	rax, -64[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -92[rbp]
	movzx	eax, BYTE PTR -114[rbp]
	movzx	edx, al
	lea	rsi, -113[rbp]
	lea	rax, -60[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -88[rbp]
	movzx	eax, BYTE PTR -113[rbp]
	movzx	edx, al
	lea	rsi, -112[rbp]
	lea	rax, -56[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -84[rbp]
	movzx	eax, BYTE PTR -112[rbp]
	movzx	edx, al
	lea	rsi, -111[rbp]
	lea	rax, -52[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -80[rbp]
	movzx	eax, BYTE PTR -111[rbp]
	movzx	edx, al
	lea	rsi, -110[rbp]
	lea	rax, -48[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -118[rbp]
	movzx	ecx, al
	movzx	eax, BYTE PTR -110[rbp]
	movzx	edx, al
	lea	rsi, -109[rbp]
	lea	rax, -44[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -108[rbp]
	mov	edx, DWORD PTR -76[rbp]
	movzx	eax, BYTE PTR -109[rbp]
	movzx	esi, al
	lea	rax, -40[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -104[rbp]
	mov	edx, DWORD PTR -72[rbp]
	movzx	eax, BYTE PTR -109[rbp]
	movzx	esi, al
	lea	rax, -36[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -100[rbp]
	mov	edx, DWORD PTR -68[rbp]
	movzx	eax, BYTE PTR -109[rbp]
	movzx	esi, al
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -96[rbp]
	mov	edx, DWORD PTR -64[rbp]
	movzx	eax, BYTE PTR -109[rbp]
	movzx	esi, al
	lea	rax, -28[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -92[rbp]
	mov	edx, DWORD PTR -60[rbp]
	movzx	eax, BYTE PTR -109[rbp]
	movzx	esi, al
	lea	rax, -24[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -88[rbp]
	mov	edx, DWORD PTR -56[rbp]
	movzx	eax, BYTE PTR -109[rbp]
	movzx	esi, al
	lea	rax, -20[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -84[rbp]
	mov	edx, DWORD PTR -52[rbp]
	movzx	eax, BYTE PTR -109[rbp]
	movzx	esi, al
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -80[rbp]
	mov	edx, DWORD PTR -48[rbp]
	movzx	eax, BYTE PTR -109[rbp]
	movzx	esi, al
	lea	rax, -12[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L12
	call	__stack_chk_fail@PLT
.L12:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	fiat_secp256k1_add, .-fiat_secp256k1_add
	.type	fiat_secp256k1_sub, @function
fiat_secp256k1_sub:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	edx, DWORD PTR [rax]
	lea	rsi, -92[rbp]
	lea	rax, -76[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 4
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -92[rbp]
	movzx	edx, al
	lea	rsi, -91[rbp]
	lea	rax, -72[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 8
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -91[rbp]
	movzx	edx, al
	lea	rsi, -90[rbp]
	lea	rax, -68[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 12
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -90[rbp]
	movzx	edx, al
	lea	rsi, -89[rbp]
	lea	rax, -64[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 16
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -89[rbp]
	movzx	edx, al
	lea	rsi, -88[rbp]
	lea	rax, -60[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 20
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -88[rbp]
	movzx	edx, al
	lea	rsi, -87[rbp]
	lea	rax, -56[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 24
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -87[rbp]
	movzx	edx, al
	lea	rsi, -86[rbp]
	lea	rax, -52[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 28
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -86[rbp]
	movzx	edx, al
	lea	rsi, -85[rbp]
	lea	rax, -48[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -85[rbp]
	movzx	esi, al
	lea	rax, -44[rbp]
	mov	ecx, -1
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	eax, DWORD PTR -44[rbp]
	and	eax, -977
	mov	ecx, eax
	mov	edx, DWORD PTR -76[rbp]
	lea	rsi, -84[rbp]
	lea	rax, -40[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	eax, DWORD PTR -44[rbp]
	and	eax, -2
	mov	edi, eax
	mov	ecx, DWORD PTR -72[rbp]
	movzx	eax, BYTE PTR -84[rbp]
	movzx	edx, al
	lea	rsi, -83[rbp]
	lea	rax, -36[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -68[rbp]
	movzx	eax, BYTE PTR -83[rbp]
	movzx	edx, al
	lea	rsi, -82[rbp]
	lea	rax, -32[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -64[rbp]
	movzx	eax, BYTE PTR -82[rbp]
	movzx	edx, al
	lea	rsi, -81[rbp]
	lea	rax, -28[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -60[rbp]
	movzx	eax, BYTE PTR -81[rbp]
	movzx	edx, al
	lea	rsi, -80[rbp]
	lea	rax, -24[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -56[rbp]
	movzx	eax, BYTE PTR -80[rbp]
	movzx	edx, al
	lea	rsi, -79[rbp]
	lea	rax, -20[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -52[rbp]
	movzx	eax, BYTE PTR -79[rbp]
	movzx	edx, al
	lea	rsi, -78[rbp]
	lea	rax, -16[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -48[rbp]
	movzx	eax, BYTE PTR -78[rbp]
	movzx	edx, al
	lea	rsi, -77[rbp]
	lea	rax, -12[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L14
	call	__stack_chk_fail@PLT
.L14:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	fiat_secp256k1_sub, .-fiat_secp256k1_sub
	.type	fiat_secp256k1_opp, @function
fiat_secp256k1_opp:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -112[rbp]
	mov	edx, DWORD PTR [rax]
	lea	rsi, -92[rbp]
	lea	rax, -76[rbp]
	mov	r8d, edx
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -92[rbp]
	movzx	edx, al
	lea	rsi, -91[rbp]
	lea	rax, -72[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -91[rbp]
	movzx	edx, al
	lea	rsi, -90[rbp]
	lea	rax, -68[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -90[rbp]
	movzx	edx, al
	lea	rsi, -89[rbp]
	lea	rax, -64[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -89[rbp]
	movzx	edx, al
	lea	rsi, -88[rbp]
	lea	rax, -60[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -88[rbp]
	movzx	edx, al
	lea	rsi, -87[rbp]
	lea	rax, -56[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -87[rbp]
	movzx	edx, al
	lea	rsi, -86[rbp]
	lea	rax, -52[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -86[rbp]
	movzx	edx, al
	lea	rsi, -85[rbp]
	lea	rax, -48[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -85[rbp]
	movzx	esi, al
	lea	rax, -44[rbp]
	mov	ecx, -1
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	eax, DWORD PTR -44[rbp]
	and	eax, -977
	mov	ecx, eax
	mov	edx, DWORD PTR -76[rbp]
	lea	rsi, -84[rbp]
	lea	rax, -40[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	eax, DWORD PTR -44[rbp]
	and	eax, -2
	mov	edi, eax
	mov	ecx, DWORD PTR -72[rbp]
	movzx	eax, BYTE PTR -84[rbp]
	movzx	edx, al
	lea	rsi, -83[rbp]
	lea	rax, -36[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -68[rbp]
	movzx	eax, BYTE PTR -83[rbp]
	movzx	edx, al
	lea	rsi, -82[rbp]
	lea	rax, -32[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -64[rbp]
	movzx	eax, BYTE PTR -82[rbp]
	movzx	edx, al
	lea	rsi, -81[rbp]
	lea	rax, -28[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -60[rbp]
	movzx	eax, BYTE PTR -81[rbp]
	movzx	edx, al
	lea	rsi, -80[rbp]
	lea	rax, -24[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -56[rbp]
	movzx	eax, BYTE PTR -80[rbp]
	movzx	edx, al
	lea	rsi, -79[rbp]
	lea	rax, -20[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -52[rbp]
	movzx	eax, BYTE PTR -79[rbp]
	movzx	edx, al
	lea	rsi, -78[rbp]
	lea	rax, -16[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -48[rbp]
	movzx	eax, BYTE PTR -78[rbp]
	movzx	edx, al
	lea	rsi, -77[rbp]
	lea	rax, -12[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L16
	call	__stack_chk_fail@PLT
.L16:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	fiat_secp256k1_opp, .-fiat_secp256k1_opp
	.type	fiat_secp256k1_from_montgomery, @function
fiat_secp256k1_from_montgomery:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1616
	mov	QWORD PTR -1608[rbp], rdi
	mov	QWORD PTR -1616[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -1616[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -12[rbp], eax
	mov	edx, DWORD PTR -12[rbp]
	lea	rsi, -1388[rbp]
	lea	rax, -1392[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1380[rbp]
	lea	rax, -1384[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1372[rbp]
	lea	rax, -1376[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1364[rbp]
	lea	rax, -1368[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1356[rbp]
	lea	rax, -1360[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1348[rbp]
	lea	rax, -1352[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1340[rbp]
	lea	rax, -1344[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1332[rbp]
	lea	rax, -1336[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1392[rbp]
	lea	rsi, -1324[rbp]
	lea	rax, -1328[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1336[rbp]
	mov	edx, DWORD PTR -1324[rbp]
	lea	rsi, -1585[rbp]
	lea	rax, -1320[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1344[rbp]
	mov	ecx, DWORD PTR -1332[rbp]
	movzx	eax, BYTE PTR -1585[rbp]
	movzx	edx, al
	lea	rsi, -1584[rbp]
	lea	rax, -1316[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1352[rbp]
	mov	ecx, DWORD PTR -1340[rbp]
	movzx	eax, BYTE PTR -1584[rbp]
	movzx	edx, al
	lea	rsi, -1583[rbp]
	lea	rax, -1312[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1360[rbp]
	mov	ecx, DWORD PTR -1348[rbp]
	movzx	eax, BYTE PTR -1583[rbp]
	movzx	edx, al
	lea	rsi, -1582[rbp]
	lea	rax, -1308[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1368[rbp]
	mov	ecx, DWORD PTR -1356[rbp]
	movzx	eax, BYTE PTR -1582[rbp]
	movzx	edx, al
	lea	rsi, -1581[rbp]
	lea	rax, -1304[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1376[rbp]
	mov	ecx, DWORD PTR -1364[rbp]
	movzx	eax, BYTE PTR -1581[rbp]
	movzx	edx, al
	lea	rsi, -1580[rbp]
	lea	rax, -1300[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1384[rbp]
	mov	ecx, DWORD PTR -1372[rbp]
	movzx	eax, BYTE PTR -1580[rbp]
	movzx	edx, al
	lea	rsi, -1579[rbp]
	lea	rax, -1296[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1328[rbp]
	mov	edx, DWORD PTR -12[rbp]
	lea	rsi, -1578[rbp]
	lea	rax, -1292[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1320[rbp]
	movzx	eax, BYTE PTR -1578[rbp]
	movzx	edx, al
	lea	rsi, -1577[rbp]
	lea	rax, -1288[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1316[rbp]
	movzx	eax, BYTE PTR -1577[rbp]
	movzx	edx, al
	lea	rsi, -1576[rbp]
	lea	rax, -1284[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1312[rbp]
	movzx	eax, BYTE PTR -1576[rbp]
	movzx	edx, al
	lea	rsi, -1575[rbp]
	lea	rax, -1280[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1308[rbp]
	movzx	eax, BYTE PTR -1575[rbp]
	movzx	edx, al
	lea	rsi, -1574[rbp]
	lea	rax, -1276[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1304[rbp]
	movzx	eax, BYTE PTR -1574[rbp]
	movzx	edx, al
	lea	rsi, -1573[rbp]
	lea	rax, -1272[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1300[rbp]
	movzx	eax, BYTE PTR -1573[rbp]
	movzx	edx, al
	lea	rsi, -1572[rbp]
	lea	rax, -1268[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1296[rbp]
	movzx	eax, BYTE PTR -1572[rbp]
	movzx	edx, al
	lea	rsi, -1571[rbp]
	lea	rax, -1264[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1579[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1380[rbp]
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -1571[rbp]
	movzx	edx, al
	lea	rsi, -1570[rbp]
	lea	rax, -1260[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -1616[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -1288[rbp]
	lea	rsi, -1569[rbp]
	lea	rax, -1256[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1284[rbp]
	movzx	eax, BYTE PTR -1569[rbp]
	movzx	edx, al
	lea	rsi, -1568[rbp]
	lea	rax, -1252[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1280[rbp]
	movzx	eax, BYTE PTR -1568[rbp]
	movzx	edx, al
	lea	rsi, -1567[rbp]
	lea	rax, -1248[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1276[rbp]
	movzx	eax, BYTE PTR -1567[rbp]
	movzx	edx, al
	lea	rsi, -1566[rbp]
	lea	rax, -1244[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1272[rbp]
	movzx	eax, BYTE PTR -1566[rbp]
	movzx	edx, al
	lea	rsi, -1565[rbp]
	lea	rax, -1240[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1268[rbp]
	movzx	eax, BYTE PTR -1565[rbp]
	movzx	edx, al
	lea	rsi, -1564[rbp]
	lea	rax, -1236[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1264[rbp]
	movzx	eax, BYTE PTR -1564[rbp]
	movzx	edx, al
	lea	rsi, -1563[rbp]
	lea	rax, -1232[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1260[rbp]
	movzx	eax, BYTE PTR -1563[rbp]
	movzx	edx, al
	lea	rsi, -1562[rbp]
	lea	rax, -1228[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -1256[rbp]
	lea	rsi, -1220[rbp]
	lea	rax, -1224[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1212[rbp]
	lea	rax, -1216[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1204[rbp]
	lea	rax, -1208[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1196[rbp]
	lea	rax, -1200[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1188[rbp]
	lea	rax, -1192[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1180[rbp]
	lea	rax, -1184[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1172[rbp]
	lea	rax, -1176[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1164[rbp]
	lea	rax, -1168[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1156[rbp]
	lea	rax, -1160[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1168[rbp]
	mov	edx, DWORD PTR -1156[rbp]
	lea	rsi, -1561[rbp]
	lea	rax, -1152[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1176[rbp]
	mov	ecx, DWORD PTR -1164[rbp]
	movzx	eax, BYTE PTR -1561[rbp]
	movzx	edx, al
	lea	rsi, -1560[rbp]
	lea	rax, -1148[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1184[rbp]
	mov	ecx, DWORD PTR -1172[rbp]
	movzx	eax, BYTE PTR -1560[rbp]
	movzx	edx, al
	lea	rsi, -1559[rbp]
	lea	rax, -1144[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1192[rbp]
	mov	ecx, DWORD PTR -1180[rbp]
	movzx	eax, BYTE PTR -1559[rbp]
	movzx	edx, al
	lea	rsi, -1558[rbp]
	lea	rax, -1140[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1200[rbp]
	mov	ecx, DWORD PTR -1188[rbp]
	movzx	eax, BYTE PTR -1558[rbp]
	movzx	edx, al
	lea	rsi, -1557[rbp]
	lea	rax, -1136[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1208[rbp]
	mov	ecx, DWORD PTR -1196[rbp]
	movzx	eax, BYTE PTR -1557[rbp]
	movzx	edx, al
	lea	rsi, -1556[rbp]
	lea	rax, -1132[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1216[rbp]
	mov	ecx, DWORD PTR -1204[rbp]
	movzx	eax, BYTE PTR -1556[rbp]
	movzx	edx, al
	lea	rsi, -1555[rbp]
	lea	rax, -1128[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1160[rbp]
	mov	edx, DWORD PTR -1256[rbp]
	lea	rsi, -1554[rbp]
	lea	rax, -1124[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1152[rbp]
	mov	ecx, DWORD PTR -1252[rbp]
	movzx	eax, BYTE PTR -1554[rbp]
	movzx	edx, al
	lea	rsi, -1553[rbp]
	lea	rax, -1120[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1148[rbp]
	mov	ecx, DWORD PTR -1248[rbp]
	movzx	eax, BYTE PTR -1553[rbp]
	movzx	edx, al
	lea	rsi, -1552[rbp]
	lea	rax, -1116[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1144[rbp]
	mov	ecx, DWORD PTR -1244[rbp]
	movzx	eax, BYTE PTR -1552[rbp]
	movzx	edx, al
	lea	rsi, -1551[rbp]
	lea	rax, -1112[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1140[rbp]
	mov	ecx, DWORD PTR -1240[rbp]
	movzx	eax, BYTE PTR -1551[rbp]
	movzx	edx, al
	lea	rsi, -1550[rbp]
	lea	rax, -1108[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1136[rbp]
	mov	ecx, DWORD PTR -1236[rbp]
	movzx	eax, BYTE PTR -1550[rbp]
	movzx	edx, al
	lea	rsi, -1549[rbp]
	lea	rax, -1104[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1132[rbp]
	mov	ecx, DWORD PTR -1232[rbp]
	movzx	eax, BYTE PTR -1549[rbp]
	movzx	edx, al
	lea	rsi, -1548[rbp]
	lea	rax, -1100[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1128[rbp]
	mov	ecx, DWORD PTR -1228[rbp]
	movzx	eax, BYTE PTR -1548[rbp]
	movzx	edx, al
	lea	rsi, -1547[rbp]
	lea	rax, -1096[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1555[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1212[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -1562[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -1570[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -1547[rbp]
	movzx	edx, al
	lea	rsi, -1546[rbp]
	lea	rax, -1092[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -1616[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -1120[rbp]
	lea	rsi, -1545[rbp]
	lea	rax, -1088[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1116[rbp]
	movzx	eax, BYTE PTR -1545[rbp]
	movzx	edx, al
	lea	rsi, -1544[rbp]
	lea	rax, -1084[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1112[rbp]
	movzx	eax, BYTE PTR -1544[rbp]
	movzx	edx, al
	lea	rsi, -1543[rbp]
	lea	rax, -1080[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1108[rbp]
	movzx	eax, BYTE PTR -1543[rbp]
	movzx	edx, al
	lea	rsi, -1542[rbp]
	lea	rax, -1076[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1104[rbp]
	movzx	eax, BYTE PTR -1542[rbp]
	movzx	edx, al
	lea	rsi, -1541[rbp]
	lea	rax, -1072[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1100[rbp]
	movzx	eax, BYTE PTR -1541[rbp]
	movzx	edx, al
	lea	rsi, -1540[rbp]
	lea	rax, -1068[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1096[rbp]
	movzx	eax, BYTE PTR -1540[rbp]
	movzx	edx, al
	lea	rsi, -1539[rbp]
	lea	rax, -1064[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1092[rbp]
	movzx	eax, BYTE PTR -1539[rbp]
	movzx	edx, al
	lea	rsi, -1538[rbp]
	lea	rax, -1060[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -1088[rbp]
	lea	rsi, -1052[rbp]
	lea	rax, -1056[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1056[rbp]
	lea	rsi, -1044[rbp]
	lea	rax, -1048[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1056[rbp]
	lea	rsi, -1036[rbp]
	lea	rax, -1040[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1056[rbp]
	lea	rsi, -1028[rbp]
	lea	rax, -1032[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1056[rbp]
	lea	rsi, -1020[rbp]
	lea	rax, -1024[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1056[rbp]
	lea	rsi, -1012[rbp]
	lea	rax, -1016[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1056[rbp]
	lea	rsi, -1004[rbp]
	lea	rax, -1008[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1056[rbp]
	lea	rsi, -996[rbp]
	lea	rax, -1000[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1056[rbp]
	lea	rsi, -988[rbp]
	lea	rax, -992[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1000[rbp]
	mov	edx, DWORD PTR -988[rbp]
	lea	rsi, -1537[rbp]
	lea	rax, -984[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1008[rbp]
	mov	ecx, DWORD PTR -996[rbp]
	movzx	eax, BYTE PTR -1537[rbp]
	movzx	edx, al
	lea	rsi, -1536[rbp]
	lea	rax, -980[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1016[rbp]
	mov	ecx, DWORD PTR -1004[rbp]
	movzx	eax, BYTE PTR -1536[rbp]
	movzx	edx, al
	lea	rsi, -1535[rbp]
	lea	rax, -976[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1024[rbp]
	mov	ecx, DWORD PTR -1012[rbp]
	movzx	eax, BYTE PTR -1535[rbp]
	movzx	edx, al
	lea	rsi, -1534[rbp]
	lea	rax, -972[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1032[rbp]
	mov	ecx, DWORD PTR -1020[rbp]
	movzx	eax, BYTE PTR -1534[rbp]
	movzx	edx, al
	lea	rsi, -1533[rbp]
	lea	rax, -968[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1040[rbp]
	mov	ecx, DWORD PTR -1028[rbp]
	movzx	eax, BYTE PTR -1533[rbp]
	movzx	edx, al
	lea	rsi, -1532[rbp]
	lea	rax, -964[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1048[rbp]
	mov	ecx, DWORD PTR -1036[rbp]
	movzx	eax, BYTE PTR -1532[rbp]
	movzx	edx, al
	lea	rsi, -1531[rbp]
	lea	rax, -960[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -992[rbp]
	mov	edx, DWORD PTR -1088[rbp]
	lea	rsi, -1530[rbp]
	lea	rax, -956[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -984[rbp]
	mov	ecx, DWORD PTR -1084[rbp]
	movzx	eax, BYTE PTR -1530[rbp]
	movzx	edx, al
	lea	rsi, -1529[rbp]
	lea	rax, -952[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -980[rbp]
	mov	ecx, DWORD PTR -1080[rbp]
	movzx	eax, BYTE PTR -1529[rbp]
	movzx	edx, al
	lea	rsi, -1528[rbp]
	lea	rax, -948[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -976[rbp]
	mov	ecx, DWORD PTR -1076[rbp]
	movzx	eax, BYTE PTR -1528[rbp]
	movzx	edx, al
	lea	rsi, -1527[rbp]
	lea	rax, -944[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -972[rbp]
	mov	ecx, DWORD PTR -1072[rbp]
	movzx	eax, BYTE PTR -1527[rbp]
	movzx	edx, al
	lea	rsi, -1526[rbp]
	lea	rax, -940[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -968[rbp]
	mov	ecx, DWORD PTR -1068[rbp]
	movzx	eax, BYTE PTR -1526[rbp]
	movzx	edx, al
	lea	rsi, -1525[rbp]
	lea	rax, -936[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -964[rbp]
	mov	ecx, DWORD PTR -1064[rbp]
	movzx	eax, BYTE PTR -1525[rbp]
	movzx	edx, al
	lea	rsi, -1524[rbp]
	lea	rax, -932[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -960[rbp]
	mov	ecx, DWORD PTR -1060[rbp]
	movzx	eax, BYTE PTR -1524[rbp]
	movzx	edx, al
	lea	rsi, -1523[rbp]
	lea	rax, -928[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1531[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1044[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -1538[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -1546[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -1523[rbp]
	movzx	edx, al
	lea	rsi, -1522[rbp]
	lea	rax, -924[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -1616[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -952[rbp]
	lea	rsi, -1521[rbp]
	lea	rax, -920[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -948[rbp]
	movzx	eax, BYTE PTR -1521[rbp]
	movzx	edx, al
	lea	rsi, -1520[rbp]
	lea	rax, -916[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -944[rbp]
	movzx	eax, BYTE PTR -1520[rbp]
	movzx	edx, al
	lea	rsi, -1519[rbp]
	lea	rax, -912[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -940[rbp]
	movzx	eax, BYTE PTR -1519[rbp]
	movzx	edx, al
	lea	rsi, -1518[rbp]
	lea	rax, -908[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -936[rbp]
	movzx	eax, BYTE PTR -1518[rbp]
	movzx	edx, al
	lea	rsi, -1517[rbp]
	lea	rax, -904[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -932[rbp]
	movzx	eax, BYTE PTR -1517[rbp]
	movzx	edx, al
	lea	rsi, -1516[rbp]
	lea	rax, -900[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -928[rbp]
	movzx	eax, BYTE PTR -1516[rbp]
	movzx	edx, al
	lea	rsi, -1515[rbp]
	lea	rax, -896[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -924[rbp]
	movzx	eax, BYTE PTR -1515[rbp]
	movzx	edx, al
	lea	rsi, -1514[rbp]
	lea	rax, -892[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -920[rbp]
	lea	rsi, -884[rbp]
	lea	rax, -888[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -888[rbp]
	lea	rsi, -876[rbp]
	lea	rax, -880[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -888[rbp]
	lea	rsi, -868[rbp]
	lea	rax, -872[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -888[rbp]
	lea	rsi, -860[rbp]
	lea	rax, -864[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -888[rbp]
	lea	rsi, -852[rbp]
	lea	rax, -856[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -888[rbp]
	lea	rsi, -844[rbp]
	lea	rax, -848[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -888[rbp]
	lea	rsi, -836[rbp]
	lea	rax, -840[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -888[rbp]
	lea	rsi, -828[rbp]
	lea	rax, -832[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -888[rbp]
	lea	rsi, -820[rbp]
	lea	rax, -824[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -832[rbp]
	mov	edx, DWORD PTR -820[rbp]
	lea	rsi, -1513[rbp]
	lea	rax, -816[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -840[rbp]
	mov	ecx, DWORD PTR -828[rbp]
	movzx	eax, BYTE PTR -1513[rbp]
	movzx	edx, al
	lea	rsi, -1512[rbp]
	lea	rax, -812[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -848[rbp]
	mov	ecx, DWORD PTR -836[rbp]
	movzx	eax, BYTE PTR -1512[rbp]
	movzx	edx, al
	lea	rsi, -1511[rbp]
	lea	rax, -808[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -856[rbp]
	mov	ecx, DWORD PTR -844[rbp]
	movzx	eax, BYTE PTR -1511[rbp]
	movzx	edx, al
	lea	rsi, -1510[rbp]
	lea	rax, -804[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -864[rbp]
	mov	ecx, DWORD PTR -852[rbp]
	movzx	eax, BYTE PTR -1510[rbp]
	movzx	edx, al
	lea	rsi, -1509[rbp]
	lea	rax, -800[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -872[rbp]
	mov	ecx, DWORD PTR -860[rbp]
	movzx	eax, BYTE PTR -1509[rbp]
	movzx	edx, al
	lea	rsi, -1508[rbp]
	lea	rax, -796[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -880[rbp]
	mov	ecx, DWORD PTR -868[rbp]
	movzx	eax, BYTE PTR -1508[rbp]
	movzx	edx, al
	lea	rsi, -1507[rbp]
	lea	rax, -792[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -824[rbp]
	mov	edx, DWORD PTR -920[rbp]
	lea	rsi, -1506[rbp]
	lea	rax, -788[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -816[rbp]
	mov	ecx, DWORD PTR -916[rbp]
	movzx	eax, BYTE PTR -1506[rbp]
	movzx	edx, al
	lea	rsi, -1505[rbp]
	lea	rax, -784[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -812[rbp]
	mov	ecx, DWORD PTR -912[rbp]
	movzx	eax, BYTE PTR -1505[rbp]
	movzx	edx, al
	lea	rsi, -1504[rbp]
	lea	rax, -780[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -808[rbp]
	mov	ecx, DWORD PTR -908[rbp]
	movzx	eax, BYTE PTR -1504[rbp]
	movzx	edx, al
	lea	rsi, -1503[rbp]
	lea	rax, -776[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -804[rbp]
	mov	ecx, DWORD PTR -904[rbp]
	movzx	eax, BYTE PTR -1503[rbp]
	movzx	edx, al
	lea	rsi, -1502[rbp]
	lea	rax, -772[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -800[rbp]
	mov	ecx, DWORD PTR -900[rbp]
	movzx	eax, BYTE PTR -1502[rbp]
	movzx	edx, al
	lea	rsi, -1501[rbp]
	lea	rax, -768[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -796[rbp]
	mov	ecx, DWORD PTR -896[rbp]
	movzx	eax, BYTE PTR -1501[rbp]
	movzx	edx, al
	lea	rsi, -1500[rbp]
	lea	rax, -764[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -792[rbp]
	mov	ecx, DWORD PTR -892[rbp]
	movzx	eax, BYTE PTR -1500[rbp]
	movzx	edx, al
	lea	rsi, -1499[rbp]
	lea	rax, -760[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1507[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -876[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -1514[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -1522[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -1499[rbp]
	movzx	edx, al
	lea	rsi, -1498[rbp]
	lea	rax, -756[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -1616[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -784[rbp]
	lea	rsi, -1497[rbp]
	lea	rax, -752[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -780[rbp]
	movzx	eax, BYTE PTR -1497[rbp]
	movzx	edx, al
	lea	rsi, -1496[rbp]
	lea	rax, -748[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -776[rbp]
	movzx	eax, BYTE PTR -1496[rbp]
	movzx	edx, al
	lea	rsi, -1495[rbp]
	lea	rax, -744[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -772[rbp]
	movzx	eax, BYTE PTR -1495[rbp]
	movzx	edx, al
	lea	rsi, -1494[rbp]
	lea	rax, -740[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -768[rbp]
	movzx	eax, BYTE PTR -1494[rbp]
	movzx	edx, al
	lea	rsi, -1493[rbp]
	lea	rax, -736[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -764[rbp]
	movzx	eax, BYTE PTR -1493[rbp]
	movzx	edx, al
	lea	rsi, -1492[rbp]
	lea	rax, -732[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -760[rbp]
	movzx	eax, BYTE PTR -1492[rbp]
	movzx	edx, al
	lea	rsi, -1491[rbp]
	lea	rax, -728[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -756[rbp]
	movzx	eax, BYTE PTR -1491[rbp]
	movzx	edx, al
	lea	rsi, -1490[rbp]
	lea	rax, -724[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -752[rbp]
	lea	rsi, -716[rbp]
	lea	rax, -720[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -720[rbp]
	lea	rsi, -708[rbp]
	lea	rax, -712[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -720[rbp]
	lea	rsi, -700[rbp]
	lea	rax, -704[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -720[rbp]
	lea	rsi, -692[rbp]
	lea	rax, -696[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -720[rbp]
	lea	rsi, -684[rbp]
	lea	rax, -688[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -720[rbp]
	lea	rsi, -676[rbp]
	lea	rax, -680[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -720[rbp]
	lea	rsi, -668[rbp]
	lea	rax, -672[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -720[rbp]
	lea	rsi, -660[rbp]
	lea	rax, -664[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -720[rbp]
	lea	rsi, -652[rbp]
	lea	rax, -656[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -664[rbp]
	mov	edx, DWORD PTR -652[rbp]
	lea	rsi, -1489[rbp]
	lea	rax, -648[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -672[rbp]
	mov	ecx, DWORD PTR -660[rbp]
	movzx	eax, BYTE PTR -1489[rbp]
	movzx	edx, al
	lea	rsi, -1488[rbp]
	lea	rax, -644[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -680[rbp]
	mov	ecx, DWORD PTR -668[rbp]
	movzx	eax, BYTE PTR -1488[rbp]
	movzx	edx, al
	lea	rsi, -1487[rbp]
	lea	rax, -640[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -688[rbp]
	mov	ecx, DWORD PTR -676[rbp]
	movzx	eax, BYTE PTR -1487[rbp]
	movzx	edx, al
	lea	rsi, -1486[rbp]
	lea	rax, -636[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -696[rbp]
	mov	ecx, DWORD PTR -684[rbp]
	movzx	eax, BYTE PTR -1486[rbp]
	movzx	edx, al
	lea	rsi, -1485[rbp]
	lea	rax, -632[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -704[rbp]
	mov	ecx, DWORD PTR -692[rbp]
	movzx	eax, BYTE PTR -1485[rbp]
	movzx	edx, al
	lea	rsi, -1484[rbp]
	lea	rax, -628[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -712[rbp]
	mov	ecx, DWORD PTR -700[rbp]
	movzx	eax, BYTE PTR -1484[rbp]
	movzx	edx, al
	lea	rsi, -1483[rbp]
	lea	rax, -624[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -656[rbp]
	mov	edx, DWORD PTR -752[rbp]
	lea	rsi, -1482[rbp]
	lea	rax, -620[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -648[rbp]
	mov	ecx, DWORD PTR -748[rbp]
	movzx	eax, BYTE PTR -1482[rbp]
	movzx	edx, al
	lea	rsi, -1481[rbp]
	lea	rax, -616[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -644[rbp]
	mov	ecx, DWORD PTR -744[rbp]
	movzx	eax, BYTE PTR -1481[rbp]
	movzx	edx, al
	lea	rsi, -1480[rbp]
	lea	rax, -612[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -640[rbp]
	mov	ecx, DWORD PTR -740[rbp]
	movzx	eax, BYTE PTR -1480[rbp]
	movzx	edx, al
	lea	rsi, -1479[rbp]
	lea	rax, -608[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -636[rbp]
	mov	ecx, DWORD PTR -736[rbp]
	movzx	eax, BYTE PTR -1479[rbp]
	movzx	edx, al
	lea	rsi, -1478[rbp]
	lea	rax, -604[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -632[rbp]
	mov	ecx, DWORD PTR -732[rbp]
	movzx	eax, BYTE PTR -1478[rbp]
	movzx	edx, al
	lea	rsi, -1477[rbp]
	lea	rax, -600[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -628[rbp]
	mov	ecx, DWORD PTR -728[rbp]
	movzx	eax, BYTE PTR -1477[rbp]
	movzx	edx, al
	lea	rsi, -1476[rbp]
	lea	rax, -596[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -624[rbp]
	mov	ecx, DWORD PTR -724[rbp]
	movzx	eax, BYTE PTR -1476[rbp]
	movzx	edx, al
	lea	rsi, -1475[rbp]
	lea	rax, -592[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1483[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -708[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -1490[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -1498[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -1475[rbp]
	movzx	edx, al
	lea	rsi, -1474[rbp]
	lea	rax, -588[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -1616[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -616[rbp]
	lea	rsi, -1473[rbp]
	lea	rax, -584[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -612[rbp]
	movzx	eax, BYTE PTR -1473[rbp]
	movzx	edx, al
	lea	rsi, -1472[rbp]
	lea	rax, -580[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -608[rbp]
	movzx	eax, BYTE PTR -1472[rbp]
	movzx	edx, al
	lea	rsi, -1471[rbp]
	lea	rax, -576[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -604[rbp]
	movzx	eax, BYTE PTR -1471[rbp]
	movzx	edx, al
	lea	rsi, -1470[rbp]
	lea	rax, -572[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -600[rbp]
	movzx	eax, BYTE PTR -1470[rbp]
	movzx	edx, al
	lea	rsi, -1469[rbp]
	lea	rax, -568[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -596[rbp]
	movzx	eax, BYTE PTR -1469[rbp]
	movzx	edx, al
	lea	rsi, -1468[rbp]
	lea	rax, -564[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -592[rbp]
	movzx	eax, BYTE PTR -1468[rbp]
	movzx	edx, al
	lea	rsi, -1467[rbp]
	lea	rax, -560[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -588[rbp]
	movzx	eax, BYTE PTR -1467[rbp]
	movzx	edx, al
	lea	rsi, -1466[rbp]
	lea	rax, -556[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -584[rbp]
	lea	rsi, -548[rbp]
	lea	rax, -552[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -552[rbp]
	lea	rsi, -540[rbp]
	lea	rax, -544[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -552[rbp]
	lea	rsi, -532[rbp]
	lea	rax, -536[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -552[rbp]
	lea	rsi, -524[rbp]
	lea	rax, -528[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -552[rbp]
	lea	rsi, -516[rbp]
	lea	rax, -520[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -552[rbp]
	lea	rsi, -508[rbp]
	lea	rax, -512[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -552[rbp]
	lea	rsi, -500[rbp]
	lea	rax, -504[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -552[rbp]
	lea	rsi, -492[rbp]
	lea	rax, -496[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -552[rbp]
	lea	rsi, -484[rbp]
	lea	rax, -488[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -496[rbp]
	mov	edx, DWORD PTR -484[rbp]
	lea	rsi, -1465[rbp]
	lea	rax, -480[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -504[rbp]
	mov	ecx, DWORD PTR -492[rbp]
	movzx	eax, BYTE PTR -1465[rbp]
	movzx	edx, al
	lea	rsi, -1464[rbp]
	lea	rax, -476[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -512[rbp]
	mov	ecx, DWORD PTR -500[rbp]
	movzx	eax, BYTE PTR -1464[rbp]
	movzx	edx, al
	lea	rsi, -1463[rbp]
	lea	rax, -472[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -520[rbp]
	mov	ecx, DWORD PTR -508[rbp]
	movzx	eax, BYTE PTR -1463[rbp]
	movzx	edx, al
	lea	rsi, -1462[rbp]
	lea	rax, -468[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -528[rbp]
	mov	ecx, DWORD PTR -516[rbp]
	movzx	eax, BYTE PTR -1462[rbp]
	movzx	edx, al
	lea	rsi, -1461[rbp]
	lea	rax, -464[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -536[rbp]
	mov	ecx, DWORD PTR -524[rbp]
	movzx	eax, BYTE PTR -1461[rbp]
	movzx	edx, al
	lea	rsi, -1460[rbp]
	lea	rax, -460[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -544[rbp]
	mov	ecx, DWORD PTR -532[rbp]
	movzx	eax, BYTE PTR -1460[rbp]
	movzx	edx, al
	lea	rsi, -1459[rbp]
	lea	rax, -456[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -488[rbp]
	mov	edx, DWORD PTR -584[rbp]
	lea	rsi, -1458[rbp]
	lea	rax, -452[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -480[rbp]
	mov	ecx, DWORD PTR -580[rbp]
	movzx	eax, BYTE PTR -1458[rbp]
	movzx	edx, al
	lea	rsi, -1457[rbp]
	lea	rax, -448[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -476[rbp]
	mov	ecx, DWORD PTR -576[rbp]
	movzx	eax, BYTE PTR -1457[rbp]
	movzx	edx, al
	lea	rsi, -1456[rbp]
	lea	rax, -444[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -472[rbp]
	mov	ecx, DWORD PTR -572[rbp]
	movzx	eax, BYTE PTR -1456[rbp]
	movzx	edx, al
	lea	rsi, -1455[rbp]
	lea	rax, -440[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -468[rbp]
	mov	ecx, DWORD PTR -568[rbp]
	movzx	eax, BYTE PTR -1455[rbp]
	movzx	edx, al
	lea	rsi, -1454[rbp]
	lea	rax, -436[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -464[rbp]
	mov	ecx, DWORD PTR -564[rbp]
	movzx	eax, BYTE PTR -1454[rbp]
	movzx	edx, al
	lea	rsi, -1453[rbp]
	lea	rax, -432[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -460[rbp]
	mov	ecx, DWORD PTR -560[rbp]
	movzx	eax, BYTE PTR -1453[rbp]
	movzx	edx, al
	lea	rsi, -1452[rbp]
	lea	rax, -428[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -456[rbp]
	mov	ecx, DWORD PTR -556[rbp]
	movzx	eax, BYTE PTR -1452[rbp]
	movzx	edx, al
	lea	rsi, -1451[rbp]
	lea	rax, -424[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1459[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -540[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -1466[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -1474[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -1451[rbp]
	movzx	edx, al
	lea	rsi, -1450[rbp]
	lea	rax, -420[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -1616[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -448[rbp]
	lea	rsi, -1449[rbp]
	lea	rax, -416[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -444[rbp]
	movzx	eax, BYTE PTR -1449[rbp]
	movzx	edx, al
	lea	rsi, -1448[rbp]
	lea	rax, -412[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -440[rbp]
	movzx	eax, BYTE PTR -1448[rbp]
	movzx	edx, al
	lea	rsi, -1447[rbp]
	lea	rax, -408[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -436[rbp]
	movzx	eax, BYTE PTR -1447[rbp]
	movzx	edx, al
	lea	rsi, -1446[rbp]
	lea	rax, -404[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -432[rbp]
	movzx	eax, BYTE PTR -1446[rbp]
	movzx	edx, al
	lea	rsi, -1445[rbp]
	lea	rax, -400[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -428[rbp]
	movzx	eax, BYTE PTR -1445[rbp]
	movzx	edx, al
	lea	rsi, -1444[rbp]
	lea	rax, -396[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -424[rbp]
	movzx	eax, BYTE PTR -1444[rbp]
	movzx	edx, al
	lea	rsi, -1443[rbp]
	lea	rax, -392[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -420[rbp]
	movzx	eax, BYTE PTR -1443[rbp]
	movzx	edx, al
	lea	rsi, -1442[rbp]
	lea	rax, -388[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -416[rbp]
	lea	rsi, -380[rbp]
	lea	rax, -384[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -384[rbp]
	lea	rsi, -372[rbp]
	lea	rax, -376[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -384[rbp]
	lea	rsi, -364[rbp]
	lea	rax, -368[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -384[rbp]
	lea	rsi, -356[rbp]
	lea	rax, -360[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -384[rbp]
	lea	rsi, -348[rbp]
	lea	rax, -352[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -384[rbp]
	lea	rsi, -340[rbp]
	lea	rax, -344[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -384[rbp]
	lea	rsi, -332[rbp]
	lea	rax, -336[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -384[rbp]
	lea	rsi, -324[rbp]
	lea	rax, -328[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -384[rbp]
	lea	rsi, -316[rbp]
	lea	rax, -320[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -328[rbp]
	mov	edx, DWORD PTR -316[rbp]
	lea	rsi, -1441[rbp]
	lea	rax, -312[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -336[rbp]
	mov	ecx, DWORD PTR -324[rbp]
	movzx	eax, BYTE PTR -1441[rbp]
	movzx	edx, al
	lea	rsi, -1440[rbp]
	lea	rax, -308[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -344[rbp]
	mov	ecx, DWORD PTR -332[rbp]
	movzx	eax, BYTE PTR -1440[rbp]
	movzx	edx, al
	lea	rsi, -1439[rbp]
	lea	rax, -304[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -352[rbp]
	mov	ecx, DWORD PTR -340[rbp]
	movzx	eax, BYTE PTR -1439[rbp]
	movzx	edx, al
	lea	rsi, -1438[rbp]
	lea	rax, -300[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -360[rbp]
	mov	ecx, DWORD PTR -348[rbp]
	movzx	eax, BYTE PTR -1438[rbp]
	movzx	edx, al
	lea	rsi, -1437[rbp]
	lea	rax, -296[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -368[rbp]
	mov	ecx, DWORD PTR -356[rbp]
	movzx	eax, BYTE PTR -1437[rbp]
	movzx	edx, al
	lea	rsi, -1436[rbp]
	lea	rax, -292[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -376[rbp]
	mov	ecx, DWORD PTR -364[rbp]
	movzx	eax, BYTE PTR -1436[rbp]
	movzx	edx, al
	lea	rsi, -1435[rbp]
	lea	rax, -288[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -320[rbp]
	mov	edx, DWORD PTR -416[rbp]
	lea	rsi, -1434[rbp]
	lea	rax, -284[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -312[rbp]
	mov	ecx, DWORD PTR -412[rbp]
	movzx	eax, BYTE PTR -1434[rbp]
	movzx	edx, al
	lea	rsi, -1433[rbp]
	lea	rax, -280[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -308[rbp]
	mov	ecx, DWORD PTR -408[rbp]
	movzx	eax, BYTE PTR -1433[rbp]
	movzx	edx, al
	lea	rsi, -1432[rbp]
	lea	rax, -276[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -404[rbp]
	movzx	eax, BYTE PTR -1432[rbp]
	movzx	edx, al
	lea	rsi, -1431[rbp]
	lea	rax, -272[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -300[rbp]
	mov	ecx, DWORD PTR -400[rbp]
	movzx	eax, BYTE PTR -1431[rbp]
	movzx	edx, al
	lea	rsi, -1430[rbp]
	lea	rax, -268[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -296[rbp]
	mov	ecx, DWORD PTR -396[rbp]
	movzx	eax, BYTE PTR -1430[rbp]
	movzx	edx, al
	lea	rsi, -1429[rbp]
	lea	rax, -264[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -292[rbp]
	mov	ecx, DWORD PTR -392[rbp]
	movzx	eax, BYTE PTR -1429[rbp]
	movzx	edx, al
	lea	rsi, -1428[rbp]
	lea	rax, -260[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -288[rbp]
	mov	ecx, DWORD PTR -388[rbp]
	movzx	eax, BYTE PTR -1428[rbp]
	movzx	edx, al
	lea	rsi, -1427[rbp]
	lea	rax, -256[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1435[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -372[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -1442[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -1450[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -1427[rbp]
	movzx	edx, al
	lea	rsi, -1426[rbp]
	lea	rax, -252[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -1616[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -280[rbp]
	lea	rsi, -1425[rbp]
	lea	rax, -248[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -276[rbp]
	movzx	eax, BYTE PTR -1425[rbp]
	movzx	edx, al
	lea	rsi, -1424[rbp]
	lea	rax, -244[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -272[rbp]
	movzx	eax, BYTE PTR -1424[rbp]
	movzx	edx, al
	lea	rsi, -1423[rbp]
	lea	rax, -240[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -268[rbp]
	movzx	eax, BYTE PTR -1423[rbp]
	movzx	edx, al
	lea	rsi, -1422[rbp]
	lea	rax, -236[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -264[rbp]
	movzx	eax, BYTE PTR -1422[rbp]
	movzx	edx, al
	lea	rsi, -1421[rbp]
	lea	rax, -232[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -260[rbp]
	movzx	eax, BYTE PTR -1421[rbp]
	movzx	edx, al
	lea	rsi, -1420[rbp]
	lea	rax, -228[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -256[rbp]
	movzx	eax, BYTE PTR -1420[rbp]
	movzx	edx, al
	lea	rsi, -1419[rbp]
	lea	rax, -224[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -252[rbp]
	movzx	eax, BYTE PTR -1419[rbp]
	movzx	edx, al
	lea	rsi, -1418[rbp]
	lea	rax, -220[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -248[rbp]
	lea	rsi, -212[rbp]
	lea	rax, -216[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -216[rbp]
	lea	rsi, -204[rbp]
	lea	rax, -208[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -216[rbp]
	lea	rsi, -196[rbp]
	lea	rax, -200[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -216[rbp]
	lea	rsi, -188[rbp]
	lea	rax, -192[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -216[rbp]
	lea	rsi, -180[rbp]
	lea	rax, -184[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -216[rbp]
	lea	rsi, -172[rbp]
	lea	rax, -176[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -216[rbp]
	lea	rsi, -164[rbp]
	lea	rax, -168[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -216[rbp]
	lea	rsi, -156[rbp]
	lea	rax, -160[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -216[rbp]
	lea	rsi, -148[rbp]
	lea	rax, -152[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -160[rbp]
	mov	edx, DWORD PTR -148[rbp]
	lea	rsi, -1417[rbp]
	lea	rax, -144[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -168[rbp]
	mov	ecx, DWORD PTR -156[rbp]
	movzx	eax, BYTE PTR -1417[rbp]
	movzx	edx, al
	lea	rsi, -1416[rbp]
	lea	rax, -140[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -176[rbp]
	mov	ecx, DWORD PTR -164[rbp]
	movzx	eax, BYTE PTR -1416[rbp]
	movzx	edx, al
	lea	rsi, -1415[rbp]
	lea	rax, -136[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -184[rbp]
	mov	ecx, DWORD PTR -172[rbp]
	movzx	eax, BYTE PTR -1415[rbp]
	movzx	edx, al
	lea	rsi, -1414[rbp]
	lea	rax, -132[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -192[rbp]
	mov	ecx, DWORD PTR -180[rbp]
	movzx	eax, BYTE PTR -1414[rbp]
	movzx	edx, al
	lea	rsi, -1413[rbp]
	lea	rax, -128[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -200[rbp]
	mov	ecx, DWORD PTR -188[rbp]
	movzx	eax, BYTE PTR -1413[rbp]
	movzx	edx, al
	lea	rsi, -1412[rbp]
	lea	rax, -124[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -208[rbp]
	mov	ecx, DWORD PTR -196[rbp]
	movzx	eax, BYTE PTR -1412[rbp]
	movzx	edx, al
	lea	rsi, -1411[rbp]
	lea	rax, -120[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -152[rbp]
	mov	edx, DWORD PTR -248[rbp]
	lea	rsi, -1410[rbp]
	lea	rax, -116[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -144[rbp]
	mov	ecx, DWORD PTR -244[rbp]
	movzx	eax, BYTE PTR -1410[rbp]
	movzx	edx, al
	lea	rsi, -1409[rbp]
	lea	rax, -112[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -140[rbp]
	mov	ecx, DWORD PTR -240[rbp]
	movzx	eax, BYTE PTR -1409[rbp]
	movzx	edx, al
	lea	rsi, -1408[rbp]
	lea	rax, -108[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -136[rbp]
	mov	ecx, DWORD PTR -236[rbp]
	movzx	eax, BYTE PTR -1408[rbp]
	movzx	edx, al
	lea	rsi, -1407[rbp]
	lea	rax, -104[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -132[rbp]
	mov	ecx, DWORD PTR -232[rbp]
	movzx	eax, BYTE PTR -1407[rbp]
	movzx	edx, al
	lea	rsi, -1406[rbp]
	lea	rax, -100[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -128[rbp]
	mov	ecx, DWORD PTR -228[rbp]
	movzx	eax, BYTE PTR -1406[rbp]
	movzx	edx, al
	lea	rsi, -1405[rbp]
	lea	rax, -96[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -124[rbp]
	mov	ecx, DWORD PTR -224[rbp]
	movzx	eax, BYTE PTR -1405[rbp]
	movzx	edx, al
	lea	rsi, -1404[rbp]
	lea	rax, -92[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -120[rbp]
	mov	ecx, DWORD PTR -220[rbp]
	movzx	eax, BYTE PTR -1404[rbp]
	movzx	edx, al
	lea	rsi, -1403[rbp]
	lea	rax, -88[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1411[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -204[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -1418[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -1426[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -1403[rbp]
	movzx	edx, al
	lea	rsi, -1402[rbp]
	lea	rax, -84[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -112[rbp]
	lea	rsi, -1401[rbp]
	lea	rax, -80[rbp]
	mov	r8d, -977
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -108[rbp]
	movzx	eax, BYTE PTR -1401[rbp]
	movzx	edx, al
	lea	rsi, -1400[rbp]
	lea	rax, -76[rbp]
	mov	r8d, -2
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -104[rbp]
	movzx	eax, BYTE PTR -1400[rbp]
	movzx	edx, al
	lea	rsi, -1399[rbp]
	lea	rax, -72[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -100[rbp]
	movzx	eax, BYTE PTR -1399[rbp]
	movzx	edx, al
	lea	rsi, -1398[rbp]
	lea	rax, -68[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -96[rbp]
	movzx	eax, BYTE PTR -1398[rbp]
	movzx	edx, al
	lea	rsi, -1397[rbp]
	lea	rax, -64[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -92[rbp]
	movzx	eax, BYTE PTR -1397[rbp]
	movzx	edx, al
	lea	rsi, -1396[rbp]
	lea	rax, -60[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -88[rbp]
	movzx	eax, BYTE PTR -1396[rbp]
	movzx	edx, al
	lea	rsi, -1395[rbp]
	lea	rax, -56[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -84[rbp]
	movzx	eax, BYTE PTR -1395[rbp]
	movzx	edx, al
	lea	rsi, -1394[rbp]
	lea	rax, -52[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -1402[rbp]
	movzx	ecx, al
	movzx	eax, BYTE PTR -1394[rbp]
	movzx	edx, al
	lea	rsi, -1393[rbp]
	lea	rax, -48[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -112[rbp]
	mov	edx, DWORD PTR -80[rbp]
	movzx	eax, BYTE PTR -1393[rbp]
	movzx	esi, al
	lea	rax, -44[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -108[rbp]
	mov	edx, DWORD PTR -76[rbp]
	movzx	eax, BYTE PTR -1393[rbp]
	movzx	esi, al
	lea	rax, -40[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -104[rbp]
	mov	edx, DWORD PTR -72[rbp]
	movzx	eax, BYTE PTR -1393[rbp]
	movzx	esi, al
	lea	rax, -36[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -100[rbp]
	mov	edx, DWORD PTR -68[rbp]
	movzx	eax, BYTE PTR -1393[rbp]
	movzx	esi, al
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -96[rbp]
	mov	edx, DWORD PTR -64[rbp]
	movzx	eax, BYTE PTR -1393[rbp]
	movzx	esi, al
	lea	rax, -28[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -92[rbp]
	mov	edx, DWORD PTR -60[rbp]
	movzx	eax, BYTE PTR -1393[rbp]
	movzx	esi, al
	lea	rax, -24[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -88[rbp]
	mov	edx, DWORD PTR -56[rbp]
	movzx	eax, BYTE PTR -1393[rbp]
	movzx	esi, al
	lea	rax, -20[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -84[rbp]
	mov	edx, DWORD PTR -52[rbp]
	movzx	eax, BYTE PTR -1393[rbp]
	movzx	esi, al
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -1608[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -1608[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -1608[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -1608[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -1608[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -1608[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -1608[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -1608[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L18
	call	__stack_chk_fail@PLT
.L18:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	fiat_secp256k1_from_montgomery, .-fiat_secp256k1_from_montgomery
	.type	fiat_secp256k1_to_montgomery, @function
fiat_secp256k1_to_montgomery:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1840
	mov	QWORD PTR -1832[rbp], rdi
	mov	QWORD PTR -1840[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -1840[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -1840[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -1840[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -1840[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -1840[rbp]
	mov	eax, DWORD PTR 20[rax]
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -1840[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -1840[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR -1840[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -12[rbp], eax
	mov	edx, DWORD PTR -12[rbp]
	lea	rsi, -1608[rbp]
	lea	rax, -1612[rbp]
	mov	ecx, 1954
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -12[rbp]
	lea	rsi, -1600[rbp]
	lea	rax, -1604[rbp]
	mov	ecx, 954529
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1612[rbp]
	mov	edx, DWORD PTR -1600[rbp]
	lea	rsi, -1821[rbp]
	lea	rax, -1596[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1608[rbp]
	movzx	eax, BYTE PTR -1821[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -12[rbp]
	lea	rsi, -1820[rbp]
	lea	rax, -1592[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -1604[rbp]
	lea	rsi, -1584[rbp]
	lea	rax, -1588[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1588[rbp]
	lea	rsi, -1576[rbp]
	lea	rax, -1580[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1588[rbp]
	lea	rsi, -1568[rbp]
	lea	rax, -1572[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1588[rbp]
	lea	rsi, -1560[rbp]
	lea	rax, -1564[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1588[rbp]
	lea	rsi, -1552[rbp]
	lea	rax, -1556[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1588[rbp]
	lea	rsi, -1544[rbp]
	lea	rax, -1548[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1588[rbp]
	lea	rsi, -1536[rbp]
	lea	rax, -1540[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1588[rbp]
	lea	rsi, -1528[rbp]
	lea	rax, -1532[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1588[rbp]
	lea	rsi, -1520[rbp]
	lea	rax, -1524[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1532[rbp]
	mov	edx, DWORD PTR -1520[rbp]
	lea	rsi, -1819[rbp]
	lea	rax, -1516[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1540[rbp]
	mov	ecx, DWORD PTR -1528[rbp]
	movzx	eax, BYTE PTR -1819[rbp]
	movzx	edx, al
	lea	rsi, -1818[rbp]
	lea	rax, -1512[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1548[rbp]
	mov	ecx, DWORD PTR -1536[rbp]
	movzx	eax, BYTE PTR -1818[rbp]
	movzx	edx, al
	lea	rsi, -1817[rbp]
	lea	rax, -1508[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1556[rbp]
	mov	ecx, DWORD PTR -1544[rbp]
	movzx	eax, BYTE PTR -1817[rbp]
	movzx	edx, al
	lea	rsi, -1816[rbp]
	lea	rax, -1504[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1564[rbp]
	mov	ecx, DWORD PTR -1552[rbp]
	movzx	eax, BYTE PTR -1816[rbp]
	movzx	edx, al
	lea	rsi, -1815[rbp]
	lea	rax, -1500[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1572[rbp]
	mov	ecx, DWORD PTR -1560[rbp]
	movzx	eax, BYTE PTR -1815[rbp]
	movzx	edx, al
	lea	rsi, -1814[rbp]
	lea	rax, -1496[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1580[rbp]
	mov	ecx, DWORD PTR -1568[rbp]
	movzx	eax, BYTE PTR -1814[rbp]
	movzx	edx, al
	lea	rsi, -1813[rbp]
	lea	rax, -1492[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1524[rbp]
	mov	edx, DWORD PTR -1604[rbp]
	lea	rsi, -1812[rbp]
	lea	rax, -1488[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1516[rbp]
	mov	ecx, DWORD PTR -1596[rbp]
	movzx	eax, BYTE PTR -1812[rbp]
	movzx	edx, al
	lea	rsi, -1811[rbp]
	lea	rax, -1484[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1512[rbp]
	mov	ecx, DWORD PTR -1592[rbp]
	movzx	eax, BYTE PTR -1811[rbp]
	movzx	edx, al
	lea	rsi, -1810[rbp]
	lea	rax, -1480[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1508[rbp]
	movzx	eax, BYTE PTR -1820[rbp]
	movzx	ecx, al
	movzx	eax, BYTE PTR -1810[rbp]
	movzx	edx, al
	lea	rsi, -1809[rbp]
	lea	rax, -1476[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1504[rbp]
	movzx	eax, BYTE PTR -1809[rbp]
	movzx	edx, al
	lea	rsi, -1808[rbp]
	lea	rax, -1472[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1500[rbp]
	movzx	eax, BYTE PTR -1808[rbp]
	movzx	edx, al
	lea	rsi, -1807[rbp]
	lea	rax, -1468[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1496[rbp]
	movzx	eax, BYTE PTR -1807[rbp]
	movzx	edx, al
	lea	rsi, -1806[rbp]
	lea	rax, -1464[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1492[rbp]
	movzx	eax, BYTE PTR -1806[rbp]
	movzx	edx, al
	lea	rsi, -1805[rbp]
	lea	rax, -1460[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1813[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1576[rbp]
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -1805[rbp]
	movzx	edx, al
	lea	rsi, -1804[rbp]
	lea	rax, -1456[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -40[rbp]
	lea	rsi, -1448[rbp]
	lea	rax, -1452[rbp]
	mov	ecx, 1954
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -40[rbp]
	lea	rsi, -1440[rbp]
	lea	rax, -1444[rbp]
	mov	ecx, 954529
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1452[rbp]
	mov	edx, DWORD PTR -1440[rbp]
	lea	rsi, -1803[rbp]
	lea	rax, -1436[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1448[rbp]
	movzx	eax, BYTE PTR -1803[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -40[rbp]
	lea	rsi, -1802[rbp]
	lea	rax, -1432[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1444[rbp]
	mov	edx, DWORD PTR -1484[rbp]
	lea	rsi, -1801[rbp]
	lea	rax, -1428[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1436[rbp]
	mov	ecx, DWORD PTR -1480[rbp]
	movzx	eax, BYTE PTR -1801[rbp]
	movzx	edx, al
	lea	rsi, -1800[rbp]
	lea	rax, -1424[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1432[rbp]
	mov	ecx, DWORD PTR -1476[rbp]
	movzx	eax, BYTE PTR -1800[rbp]
	movzx	edx, al
	lea	rsi, -1799[rbp]
	lea	rax, -1420[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1802[rbp]
	movzx	edi, al
	mov	ecx, DWORD PTR -1472[rbp]
	movzx	eax, BYTE PTR -1799[rbp]
	movzx	edx, al
	lea	rsi, -1798[rbp]
	lea	rax, -1416[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1468[rbp]
	movzx	eax, BYTE PTR -1798[rbp]
	movzx	edx, al
	lea	rsi, -1797[rbp]
	lea	rax, -1412[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1464[rbp]
	movzx	eax, BYTE PTR -1797[rbp]
	movzx	edx, al
	lea	rsi, -1796[rbp]
	lea	rax, -1408[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1460[rbp]
	movzx	eax, BYTE PTR -1796[rbp]
	movzx	edx, al
	lea	rsi, -1795[rbp]
	lea	rax, -1404[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1456[rbp]
	movzx	eax, BYTE PTR -1795[rbp]
	movzx	edx, al
	lea	rsi, -1794[rbp]
	lea	rax, -1400[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -1428[rbp]
	lea	rsi, -1392[rbp]
	lea	rax, -1396[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1396[rbp]
	lea	rsi, -1384[rbp]
	lea	rax, -1388[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1396[rbp]
	lea	rsi, -1376[rbp]
	lea	rax, -1380[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1396[rbp]
	lea	rsi, -1368[rbp]
	lea	rax, -1372[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1396[rbp]
	lea	rsi, -1360[rbp]
	lea	rax, -1364[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1396[rbp]
	lea	rsi, -1352[rbp]
	lea	rax, -1356[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1396[rbp]
	lea	rsi, -1344[rbp]
	lea	rax, -1348[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1396[rbp]
	lea	rsi, -1336[rbp]
	lea	rax, -1340[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1396[rbp]
	lea	rsi, -1328[rbp]
	lea	rax, -1332[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1340[rbp]
	mov	edx, DWORD PTR -1328[rbp]
	lea	rsi, -1793[rbp]
	lea	rax, -1324[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1348[rbp]
	mov	ecx, DWORD PTR -1336[rbp]
	movzx	eax, BYTE PTR -1793[rbp]
	movzx	edx, al
	lea	rsi, -1792[rbp]
	lea	rax, -1320[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1356[rbp]
	mov	ecx, DWORD PTR -1344[rbp]
	movzx	eax, BYTE PTR -1792[rbp]
	movzx	edx, al
	lea	rsi, -1791[rbp]
	lea	rax, -1316[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1364[rbp]
	mov	ecx, DWORD PTR -1352[rbp]
	movzx	eax, BYTE PTR -1791[rbp]
	movzx	edx, al
	lea	rsi, -1790[rbp]
	lea	rax, -1312[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1372[rbp]
	mov	ecx, DWORD PTR -1360[rbp]
	movzx	eax, BYTE PTR -1790[rbp]
	movzx	edx, al
	lea	rsi, -1789[rbp]
	lea	rax, -1308[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1380[rbp]
	mov	ecx, DWORD PTR -1368[rbp]
	movzx	eax, BYTE PTR -1789[rbp]
	movzx	edx, al
	lea	rsi, -1788[rbp]
	lea	rax, -1304[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1388[rbp]
	mov	ecx, DWORD PTR -1376[rbp]
	movzx	eax, BYTE PTR -1788[rbp]
	movzx	edx, al
	lea	rsi, -1787[rbp]
	lea	rax, -1300[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1332[rbp]
	mov	edx, DWORD PTR -1428[rbp]
	lea	rsi, -1786[rbp]
	lea	rax, -1296[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1324[rbp]
	mov	ecx, DWORD PTR -1424[rbp]
	movzx	eax, BYTE PTR -1786[rbp]
	movzx	edx, al
	lea	rsi, -1785[rbp]
	lea	rax, -1292[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1320[rbp]
	mov	ecx, DWORD PTR -1420[rbp]
	movzx	eax, BYTE PTR -1785[rbp]
	movzx	edx, al
	lea	rsi, -1784[rbp]
	lea	rax, -1288[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1316[rbp]
	mov	ecx, DWORD PTR -1416[rbp]
	movzx	eax, BYTE PTR -1784[rbp]
	movzx	edx, al
	lea	rsi, -1783[rbp]
	lea	rax, -1284[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1312[rbp]
	mov	ecx, DWORD PTR -1412[rbp]
	movzx	eax, BYTE PTR -1783[rbp]
	movzx	edx, al
	lea	rsi, -1782[rbp]
	lea	rax, -1280[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1308[rbp]
	mov	ecx, DWORD PTR -1408[rbp]
	movzx	eax, BYTE PTR -1782[rbp]
	movzx	edx, al
	lea	rsi, -1781[rbp]
	lea	rax, -1276[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1304[rbp]
	mov	ecx, DWORD PTR -1404[rbp]
	movzx	eax, BYTE PTR -1781[rbp]
	movzx	edx, al
	lea	rsi, -1780[rbp]
	lea	rax, -1272[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1300[rbp]
	mov	ecx, DWORD PTR -1400[rbp]
	movzx	eax, BYTE PTR -1780[rbp]
	movzx	edx, al
	lea	rsi, -1779[rbp]
	lea	rax, -1268[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1787[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1384[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -1794[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -1804[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -1779[rbp]
	movzx	edx, al
	lea	rsi, -1778[rbp]
	lea	rax, -1264[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -36[rbp]
	lea	rsi, -1256[rbp]
	lea	rax, -1260[rbp]
	mov	ecx, 1954
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -36[rbp]
	lea	rsi, -1248[rbp]
	lea	rax, -1252[rbp]
	mov	ecx, 954529
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1260[rbp]
	mov	edx, DWORD PTR -1248[rbp]
	lea	rsi, -1777[rbp]
	lea	rax, -1244[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1256[rbp]
	movzx	eax, BYTE PTR -1777[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -36[rbp]
	lea	rsi, -1776[rbp]
	lea	rax, -1240[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1252[rbp]
	mov	edx, DWORD PTR -1292[rbp]
	lea	rsi, -1775[rbp]
	lea	rax, -1236[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1244[rbp]
	mov	ecx, DWORD PTR -1288[rbp]
	movzx	eax, BYTE PTR -1775[rbp]
	movzx	edx, al
	lea	rsi, -1774[rbp]
	lea	rax, -1232[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1240[rbp]
	mov	ecx, DWORD PTR -1284[rbp]
	movzx	eax, BYTE PTR -1774[rbp]
	movzx	edx, al
	lea	rsi, -1773[rbp]
	lea	rax, -1228[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1776[rbp]
	movzx	edi, al
	mov	ecx, DWORD PTR -1280[rbp]
	movzx	eax, BYTE PTR -1773[rbp]
	movzx	edx, al
	lea	rsi, -1772[rbp]
	lea	rax, -1224[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1276[rbp]
	movzx	eax, BYTE PTR -1772[rbp]
	movzx	edx, al
	lea	rsi, -1771[rbp]
	lea	rax, -1220[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1272[rbp]
	movzx	eax, BYTE PTR -1771[rbp]
	movzx	edx, al
	lea	rsi, -1770[rbp]
	lea	rax, -1216[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1268[rbp]
	movzx	eax, BYTE PTR -1770[rbp]
	movzx	edx, al
	lea	rsi, -1769[rbp]
	lea	rax, -1212[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1264[rbp]
	movzx	eax, BYTE PTR -1769[rbp]
	movzx	edx, al
	lea	rsi, -1768[rbp]
	lea	rax, -1208[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -1236[rbp]
	lea	rsi, -1200[rbp]
	lea	rax, -1204[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1204[rbp]
	lea	rsi, -1192[rbp]
	lea	rax, -1196[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1204[rbp]
	lea	rsi, -1184[rbp]
	lea	rax, -1188[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1204[rbp]
	lea	rsi, -1176[rbp]
	lea	rax, -1180[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1204[rbp]
	lea	rsi, -1168[rbp]
	lea	rax, -1172[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1204[rbp]
	lea	rsi, -1160[rbp]
	lea	rax, -1164[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1204[rbp]
	lea	rsi, -1152[rbp]
	lea	rax, -1156[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1204[rbp]
	lea	rsi, -1144[rbp]
	lea	rax, -1148[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1204[rbp]
	lea	rsi, -1136[rbp]
	lea	rax, -1140[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1148[rbp]
	mov	edx, DWORD PTR -1136[rbp]
	lea	rsi, -1767[rbp]
	lea	rax, -1132[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1156[rbp]
	mov	ecx, DWORD PTR -1144[rbp]
	movzx	eax, BYTE PTR -1767[rbp]
	movzx	edx, al
	lea	rsi, -1766[rbp]
	lea	rax, -1128[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1164[rbp]
	mov	ecx, DWORD PTR -1152[rbp]
	movzx	eax, BYTE PTR -1766[rbp]
	movzx	edx, al
	lea	rsi, -1765[rbp]
	lea	rax, -1124[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1172[rbp]
	mov	ecx, DWORD PTR -1160[rbp]
	movzx	eax, BYTE PTR -1765[rbp]
	movzx	edx, al
	lea	rsi, -1764[rbp]
	lea	rax, -1120[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1180[rbp]
	mov	ecx, DWORD PTR -1168[rbp]
	movzx	eax, BYTE PTR -1764[rbp]
	movzx	edx, al
	lea	rsi, -1763[rbp]
	lea	rax, -1116[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1188[rbp]
	mov	ecx, DWORD PTR -1176[rbp]
	movzx	eax, BYTE PTR -1763[rbp]
	movzx	edx, al
	lea	rsi, -1762[rbp]
	lea	rax, -1112[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1196[rbp]
	mov	ecx, DWORD PTR -1184[rbp]
	movzx	eax, BYTE PTR -1762[rbp]
	movzx	edx, al
	lea	rsi, -1761[rbp]
	lea	rax, -1108[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1140[rbp]
	mov	edx, DWORD PTR -1236[rbp]
	lea	rsi, -1760[rbp]
	lea	rax, -1104[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1132[rbp]
	mov	ecx, DWORD PTR -1232[rbp]
	movzx	eax, BYTE PTR -1760[rbp]
	movzx	edx, al
	lea	rsi, -1759[rbp]
	lea	rax, -1100[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1128[rbp]
	mov	ecx, DWORD PTR -1228[rbp]
	movzx	eax, BYTE PTR -1759[rbp]
	movzx	edx, al
	lea	rsi, -1758[rbp]
	lea	rax, -1096[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1124[rbp]
	mov	ecx, DWORD PTR -1224[rbp]
	movzx	eax, BYTE PTR -1758[rbp]
	movzx	edx, al
	lea	rsi, -1757[rbp]
	lea	rax, -1092[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1120[rbp]
	mov	ecx, DWORD PTR -1220[rbp]
	movzx	eax, BYTE PTR -1757[rbp]
	movzx	edx, al
	lea	rsi, -1756[rbp]
	lea	rax, -1088[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1116[rbp]
	mov	ecx, DWORD PTR -1216[rbp]
	movzx	eax, BYTE PTR -1756[rbp]
	movzx	edx, al
	lea	rsi, -1755[rbp]
	lea	rax, -1084[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1112[rbp]
	mov	ecx, DWORD PTR -1212[rbp]
	movzx	eax, BYTE PTR -1755[rbp]
	movzx	edx, al
	lea	rsi, -1754[rbp]
	lea	rax, -1080[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1108[rbp]
	mov	ecx, DWORD PTR -1208[rbp]
	movzx	eax, BYTE PTR -1754[rbp]
	movzx	edx, al
	lea	rsi, -1753[rbp]
	lea	rax, -1076[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1761[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1192[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -1768[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -1778[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -1753[rbp]
	movzx	edx, al
	lea	rsi, -1752[rbp]
	lea	rax, -1072[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -32[rbp]
	lea	rsi, -1064[rbp]
	lea	rax, -1068[rbp]
	mov	ecx, 1954
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -32[rbp]
	lea	rsi, -1056[rbp]
	lea	rax, -1060[rbp]
	mov	ecx, 954529
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -1068[rbp]
	mov	edx, DWORD PTR -1056[rbp]
	lea	rsi, -1751[rbp]
	lea	rax, -1052[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1064[rbp]
	movzx	eax, BYTE PTR -1751[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -32[rbp]
	lea	rsi, -1750[rbp]
	lea	rax, -1048[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1060[rbp]
	mov	edx, DWORD PTR -1100[rbp]
	lea	rsi, -1749[rbp]
	lea	rax, -1044[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1052[rbp]
	mov	ecx, DWORD PTR -1096[rbp]
	movzx	eax, BYTE PTR -1749[rbp]
	movzx	edx, al
	lea	rsi, -1748[rbp]
	lea	rax, -1040[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1048[rbp]
	mov	ecx, DWORD PTR -1092[rbp]
	movzx	eax, BYTE PTR -1748[rbp]
	movzx	edx, al
	lea	rsi, -1747[rbp]
	lea	rax, -1036[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1750[rbp]
	movzx	edi, al
	mov	ecx, DWORD PTR -1088[rbp]
	movzx	eax, BYTE PTR -1747[rbp]
	movzx	edx, al
	lea	rsi, -1746[rbp]
	lea	rax, -1032[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1084[rbp]
	movzx	eax, BYTE PTR -1746[rbp]
	movzx	edx, al
	lea	rsi, -1745[rbp]
	lea	rax, -1028[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1080[rbp]
	movzx	eax, BYTE PTR -1745[rbp]
	movzx	edx, al
	lea	rsi, -1744[rbp]
	lea	rax, -1024[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1076[rbp]
	movzx	eax, BYTE PTR -1744[rbp]
	movzx	edx, al
	lea	rsi, -1743[rbp]
	lea	rax, -1020[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -1072[rbp]
	movzx	eax, BYTE PTR -1743[rbp]
	movzx	edx, al
	lea	rsi, -1742[rbp]
	lea	rax, -1016[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -1044[rbp]
	lea	rsi, -1008[rbp]
	lea	rax, -1012[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1012[rbp]
	lea	rsi, -1000[rbp]
	lea	rax, -1004[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1012[rbp]
	lea	rsi, -992[rbp]
	lea	rax, -996[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1012[rbp]
	lea	rsi, -984[rbp]
	lea	rax, -988[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1012[rbp]
	lea	rsi, -976[rbp]
	lea	rax, -980[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1012[rbp]
	lea	rsi, -968[rbp]
	lea	rax, -972[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1012[rbp]
	lea	rsi, -960[rbp]
	lea	rax, -964[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1012[rbp]
	lea	rsi, -952[rbp]
	lea	rax, -956[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -1012[rbp]
	lea	rsi, -944[rbp]
	lea	rax, -948[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -956[rbp]
	mov	edx, DWORD PTR -944[rbp]
	lea	rsi, -1741[rbp]
	lea	rax, -940[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -964[rbp]
	mov	ecx, DWORD PTR -952[rbp]
	movzx	eax, BYTE PTR -1741[rbp]
	movzx	edx, al
	lea	rsi, -1740[rbp]
	lea	rax, -936[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -972[rbp]
	mov	ecx, DWORD PTR -960[rbp]
	movzx	eax, BYTE PTR -1740[rbp]
	movzx	edx, al
	lea	rsi, -1739[rbp]
	lea	rax, -932[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -980[rbp]
	mov	ecx, DWORD PTR -968[rbp]
	movzx	eax, BYTE PTR -1739[rbp]
	movzx	edx, al
	lea	rsi, -1738[rbp]
	lea	rax, -928[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -988[rbp]
	mov	ecx, DWORD PTR -976[rbp]
	movzx	eax, BYTE PTR -1738[rbp]
	movzx	edx, al
	lea	rsi, -1737[rbp]
	lea	rax, -924[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -996[rbp]
	mov	ecx, DWORD PTR -984[rbp]
	movzx	eax, BYTE PTR -1737[rbp]
	movzx	edx, al
	lea	rsi, -1736[rbp]
	lea	rax, -920[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -1004[rbp]
	mov	ecx, DWORD PTR -992[rbp]
	movzx	eax, BYTE PTR -1736[rbp]
	movzx	edx, al
	lea	rsi, -1735[rbp]
	lea	rax, -916[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -948[rbp]
	mov	edx, DWORD PTR -1044[rbp]
	lea	rsi, -1734[rbp]
	lea	rax, -912[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -940[rbp]
	mov	ecx, DWORD PTR -1040[rbp]
	movzx	eax, BYTE PTR -1734[rbp]
	movzx	edx, al
	lea	rsi, -1733[rbp]
	lea	rax, -908[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -936[rbp]
	mov	ecx, DWORD PTR -1036[rbp]
	movzx	eax, BYTE PTR -1733[rbp]
	movzx	edx, al
	lea	rsi, -1732[rbp]
	lea	rax, -904[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -932[rbp]
	mov	ecx, DWORD PTR -1032[rbp]
	movzx	eax, BYTE PTR -1732[rbp]
	movzx	edx, al
	lea	rsi, -1731[rbp]
	lea	rax, -900[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -928[rbp]
	mov	ecx, DWORD PTR -1028[rbp]
	movzx	eax, BYTE PTR -1731[rbp]
	movzx	edx, al
	lea	rsi, -1730[rbp]
	lea	rax, -896[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -924[rbp]
	mov	ecx, DWORD PTR -1024[rbp]
	movzx	eax, BYTE PTR -1730[rbp]
	movzx	edx, al
	lea	rsi, -1729[rbp]
	lea	rax, -892[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -920[rbp]
	mov	ecx, DWORD PTR -1020[rbp]
	movzx	eax, BYTE PTR -1729[rbp]
	movzx	edx, al
	lea	rsi, -1728[rbp]
	lea	rax, -888[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -916[rbp]
	mov	ecx, DWORD PTR -1016[rbp]
	movzx	eax, BYTE PTR -1728[rbp]
	movzx	edx, al
	lea	rsi, -1727[rbp]
	lea	rax, -884[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1735[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1000[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -1742[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -1752[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -1727[rbp]
	movzx	edx, al
	lea	rsi, -1726[rbp]
	lea	rax, -880[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -28[rbp]
	lea	rsi, -872[rbp]
	lea	rax, -876[rbp]
	mov	ecx, 1954
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -28[rbp]
	lea	rsi, -864[rbp]
	lea	rax, -868[rbp]
	mov	ecx, 954529
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -876[rbp]
	mov	edx, DWORD PTR -864[rbp]
	lea	rsi, -1725[rbp]
	lea	rax, -860[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -872[rbp]
	movzx	eax, BYTE PTR -1725[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -28[rbp]
	lea	rsi, -1724[rbp]
	lea	rax, -856[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -868[rbp]
	mov	edx, DWORD PTR -908[rbp]
	lea	rsi, -1723[rbp]
	lea	rax, -852[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -860[rbp]
	mov	ecx, DWORD PTR -904[rbp]
	movzx	eax, BYTE PTR -1723[rbp]
	movzx	edx, al
	lea	rsi, -1722[rbp]
	lea	rax, -848[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -856[rbp]
	mov	ecx, DWORD PTR -900[rbp]
	movzx	eax, BYTE PTR -1722[rbp]
	movzx	edx, al
	lea	rsi, -1721[rbp]
	lea	rax, -844[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1724[rbp]
	movzx	edi, al
	mov	ecx, DWORD PTR -896[rbp]
	movzx	eax, BYTE PTR -1721[rbp]
	movzx	edx, al
	lea	rsi, -1720[rbp]
	lea	rax, -840[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -892[rbp]
	movzx	eax, BYTE PTR -1720[rbp]
	movzx	edx, al
	lea	rsi, -1719[rbp]
	lea	rax, -836[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -888[rbp]
	movzx	eax, BYTE PTR -1719[rbp]
	movzx	edx, al
	lea	rsi, -1718[rbp]
	lea	rax, -832[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -884[rbp]
	movzx	eax, BYTE PTR -1718[rbp]
	movzx	edx, al
	lea	rsi, -1717[rbp]
	lea	rax, -828[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -880[rbp]
	movzx	eax, BYTE PTR -1717[rbp]
	movzx	edx, al
	lea	rsi, -1716[rbp]
	lea	rax, -824[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -852[rbp]
	lea	rsi, -816[rbp]
	lea	rax, -820[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -820[rbp]
	lea	rsi, -808[rbp]
	lea	rax, -812[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -820[rbp]
	lea	rsi, -800[rbp]
	lea	rax, -804[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -820[rbp]
	lea	rsi, -792[rbp]
	lea	rax, -796[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -820[rbp]
	lea	rsi, -784[rbp]
	lea	rax, -788[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -820[rbp]
	lea	rsi, -776[rbp]
	lea	rax, -780[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -820[rbp]
	lea	rsi, -768[rbp]
	lea	rax, -772[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -820[rbp]
	lea	rsi, -760[rbp]
	lea	rax, -764[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -820[rbp]
	lea	rsi, -752[rbp]
	lea	rax, -756[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -764[rbp]
	mov	edx, DWORD PTR -752[rbp]
	lea	rsi, -1715[rbp]
	lea	rax, -748[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -772[rbp]
	mov	ecx, DWORD PTR -760[rbp]
	movzx	eax, BYTE PTR -1715[rbp]
	movzx	edx, al
	lea	rsi, -1714[rbp]
	lea	rax, -744[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -780[rbp]
	mov	ecx, DWORD PTR -768[rbp]
	movzx	eax, BYTE PTR -1714[rbp]
	movzx	edx, al
	lea	rsi, -1713[rbp]
	lea	rax, -740[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -788[rbp]
	mov	ecx, DWORD PTR -776[rbp]
	movzx	eax, BYTE PTR -1713[rbp]
	movzx	edx, al
	lea	rsi, -1712[rbp]
	lea	rax, -736[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -796[rbp]
	mov	ecx, DWORD PTR -784[rbp]
	movzx	eax, BYTE PTR -1712[rbp]
	movzx	edx, al
	lea	rsi, -1711[rbp]
	lea	rax, -732[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -804[rbp]
	mov	ecx, DWORD PTR -792[rbp]
	movzx	eax, BYTE PTR -1711[rbp]
	movzx	edx, al
	lea	rsi, -1710[rbp]
	lea	rax, -728[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -812[rbp]
	mov	ecx, DWORD PTR -800[rbp]
	movzx	eax, BYTE PTR -1710[rbp]
	movzx	edx, al
	lea	rsi, -1709[rbp]
	lea	rax, -724[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -756[rbp]
	mov	edx, DWORD PTR -852[rbp]
	lea	rsi, -1708[rbp]
	lea	rax, -720[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -748[rbp]
	mov	ecx, DWORD PTR -848[rbp]
	movzx	eax, BYTE PTR -1708[rbp]
	movzx	edx, al
	lea	rsi, -1707[rbp]
	lea	rax, -716[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -744[rbp]
	mov	ecx, DWORD PTR -844[rbp]
	movzx	eax, BYTE PTR -1707[rbp]
	movzx	edx, al
	lea	rsi, -1706[rbp]
	lea	rax, -712[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -740[rbp]
	mov	ecx, DWORD PTR -840[rbp]
	movzx	eax, BYTE PTR -1706[rbp]
	movzx	edx, al
	lea	rsi, -1705[rbp]
	lea	rax, -708[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -736[rbp]
	mov	ecx, DWORD PTR -836[rbp]
	movzx	eax, BYTE PTR -1705[rbp]
	movzx	edx, al
	lea	rsi, -1704[rbp]
	lea	rax, -704[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -732[rbp]
	mov	ecx, DWORD PTR -832[rbp]
	movzx	eax, BYTE PTR -1704[rbp]
	movzx	edx, al
	lea	rsi, -1703[rbp]
	lea	rax, -700[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -728[rbp]
	mov	ecx, DWORD PTR -828[rbp]
	movzx	eax, BYTE PTR -1703[rbp]
	movzx	edx, al
	lea	rsi, -1702[rbp]
	lea	rax, -696[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -724[rbp]
	mov	ecx, DWORD PTR -824[rbp]
	movzx	eax, BYTE PTR -1702[rbp]
	movzx	edx, al
	lea	rsi, -1701[rbp]
	lea	rax, -692[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1709[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -808[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -1716[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -1726[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -1701[rbp]
	movzx	edx, al
	lea	rsi, -1700[rbp]
	lea	rax, -688[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -24[rbp]
	lea	rsi, -680[rbp]
	lea	rax, -684[rbp]
	mov	ecx, 1954
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -24[rbp]
	lea	rsi, -672[rbp]
	lea	rax, -676[rbp]
	mov	ecx, 954529
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -684[rbp]
	mov	edx, DWORD PTR -672[rbp]
	lea	rsi, -1699[rbp]
	lea	rax, -668[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -680[rbp]
	movzx	eax, BYTE PTR -1699[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -24[rbp]
	lea	rsi, -1698[rbp]
	lea	rax, -664[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -676[rbp]
	mov	edx, DWORD PTR -716[rbp]
	lea	rsi, -1697[rbp]
	lea	rax, -660[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -668[rbp]
	mov	ecx, DWORD PTR -712[rbp]
	movzx	eax, BYTE PTR -1697[rbp]
	movzx	edx, al
	lea	rsi, -1696[rbp]
	lea	rax, -656[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -664[rbp]
	mov	ecx, DWORD PTR -708[rbp]
	movzx	eax, BYTE PTR -1696[rbp]
	movzx	edx, al
	lea	rsi, -1695[rbp]
	lea	rax, -652[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1698[rbp]
	movzx	edi, al
	mov	ecx, DWORD PTR -704[rbp]
	movzx	eax, BYTE PTR -1695[rbp]
	movzx	edx, al
	lea	rsi, -1694[rbp]
	lea	rax, -648[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -700[rbp]
	movzx	eax, BYTE PTR -1694[rbp]
	movzx	edx, al
	lea	rsi, -1693[rbp]
	lea	rax, -644[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -696[rbp]
	movzx	eax, BYTE PTR -1693[rbp]
	movzx	edx, al
	lea	rsi, -1692[rbp]
	lea	rax, -640[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -692[rbp]
	movzx	eax, BYTE PTR -1692[rbp]
	movzx	edx, al
	lea	rsi, -1691[rbp]
	lea	rax, -636[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -688[rbp]
	movzx	eax, BYTE PTR -1691[rbp]
	movzx	edx, al
	lea	rsi, -1690[rbp]
	lea	rax, -632[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -660[rbp]
	lea	rsi, -624[rbp]
	lea	rax, -628[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -628[rbp]
	lea	rsi, -616[rbp]
	lea	rax, -620[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -628[rbp]
	lea	rsi, -608[rbp]
	lea	rax, -612[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -628[rbp]
	lea	rsi, -600[rbp]
	lea	rax, -604[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -628[rbp]
	lea	rsi, -592[rbp]
	lea	rax, -596[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -628[rbp]
	lea	rsi, -584[rbp]
	lea	rax, -588[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -628[rbp]
	lea	rsi, -576[rbp]
	lea	rax, -580[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -628[rbp]
	lea	rsi, -568[rbp]
	lea	rax, -572[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -628[rbp]
	lea	rsi, -560[rbp]
	lea	rax, -564[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -572[rbp]
	mov	edx, DWORD PTR -560[rbp]
	lea	rsi, -1689[rbp]
	lea	rax, -556[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -580[rbp]
	mov	ecx, DWORD PTR -568[rbp]
	movzx	eax, BYTE PTR -1689[rbp]
	movzx	edx, al
	lea	rsi, -1688[rbp]
	lea	rax, -552[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -588[rbp]
	mov	ecx, DWORD PTR -576[rbp]
	movzx	eax, BYTE PTR -1688[rbp]
	movzx	edx, al
	lea	rsi, -1687[rbp]
	lea	rax, -548[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -596[rbp]
	mov	ecx, DWORD PTR -584[rbp]
	movzx	eax, BYTE PTR -1687[rbp]
	movzx	edx, al
	lea	rsi, -1686[rbp]
	lea	rax, -544[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -604[rbp]
	mov	ecx, DWORD PTR -592[rbp]
	movzx	eax, BYTE PTR -1686[rbp]
	movzx	edx, al
	lea	rsi, -1685[rbp]
	lea	rax, -540[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -612[rbp]
	mov	ecx, DWORD PTR -600[rbp]
	movzx	eax, BYTE PTR -1685[rbp]
	movzx	edx, al
	lea	rsi, -1684[rbp]
	lea	rax, -536[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -620[rbp]
	mov	ecx, DWORD PTR -608[rbp]
	movzx	eax, BYTE PTR -1684[rbp]
	movzx	edx, al
	lea	rsi, -1683[rbp]
	lea	rax, -532[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -564[rbp]
	mov	edx, DWORD PTR -660[rbp]
	lea	rsi, -1682[rbp]
	lea	rax, -528[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -556[rbp]
	mov	ecx, DWORD PTR -656[rbp]
	movzx	eax, BYTE PTR -1682[rbp]
	movzx	edx, al
	lea	rsi, -1681[rbp]
	lea	rax, -524[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -552[rbp]
	mov	ecx, DWORD PTR -652[rbp]
	movzx	eax, BYTE PTR -1681[rbp]
	movzx	edx, al
	lea	rsi, -1680[rbp]
	lea	rax, -520[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -548[rbp]
	mov	ecx, DWORD PTR -648[rbp]
	movzx	eax, BYTE PTR -1680[rbp]
	movzx	edx, al
	lea	rsi, -1679[rbp]
	lea	rax, -516[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -544[rbp]
	mov	ecx, DWORD PTR -644[rbp]
	movzx	eax, BYTE PTR -1679[rbp]
	movzx	edx, al
	lea	rsi, -1678[rbp]
	lea	rax, -512[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -540[rbp]
	mov	ecx, DWORD PTR -640[rbp]
	movzx	eax, BYTE PTR -1678[rbp]
	movzx	edx, al
	lea	rsi, -1677[rbp]
	lea	rax, -508[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -536[rbp]
	mov	ecx, DWORD PTR -636[rbp]
	movzx	eax, BYTE PTR -1677[rbp]
	movzx	edx, al
	lea	rsi, -1676[rbp]
	lea	rax, -504[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -532[rbp]
	mov	ecx, DWORD PTR -632[rbp]
	movzx	eax, BYTE PTR -1676[rbp]
	movzx	edx, al
	lea	rsi, -1675[rbp]
	lea	rax, -500[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1683[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -616[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -1690[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -1700[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -1675[rbp]
	movzx	edx, al
	lea	rsi, -1674[rbp]
	lea	rax, -496[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -20[rbp]
	lea	rsi, -488[rbp]
	lea	rax, -492[rbp]
	mov	ecx, 1954
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -20[rbp]
	lea	rsi, -480[rbp]
	lea	rax, -484[rbp]
	mov	ecx, 954529
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -492[rbp]
	mov	edx, DWORD PTR -480[rbp]
	lea	rsi, -1673[rbp]
	lea	rax, -476[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -488[rbp]
	movzx	eax, BYTE PTR -1673[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -20[rbp]
	lea	rsi, -1672[rbp]
	lea	rax, -472[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -484[rbp]
	mov	edx, DWORD PTR -524[rbp]
	lea	rsi, -1671[rbp]
	lea	rax, -468[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -476[rbp]
	mov	ecx, DWORD PTR -520[rbp]
	movzx	eax, BYTE PTR -1671[rbp]
	movzx	edx, al
	lea	rsi, -1670[rbp]
	lea	rax, -464[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -472[rbp]
	mov	ecx, DWORD PTR -516[rbp]
	movzx	eax, BYTE PTR -1670[rbp]
	movzx	edx, al
	lea	rsi, -1669[rbp]
	lea	rax, -460[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1672[rbp]
	movzx	edi, al
	mov	ecx, DWORD PTR -512[rbp]
	movzx	eax, BYTE PTR -1669[rbp]
	movzx	edx, al
	lea	rsi, -1668[rbp]
	lea	rax, -456[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -508[rbp]
	movzx	eax, BYTE PTR -1668[rbp]
	movzx	edx, al
	lea	rsi, -1667[rbp]
	lea	rax, -452[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -504[rbp]
	movzx	eax, BYTE PTR -1667[rbp]
	movzx	edx, al
	lea	rsi, -1666[rbp]
	lea	rax, -448[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -500[rbp]
	movzx	eax, BYTE PTR -1666[rbp]
	movzx	edx, al
	lea	rsi, -1665[rbp]
	lea	rax, -444[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -496[rbp]
	movzx	eax, BYTE PTR -1665[rbp]
	movzx	edx, al
	lea	rsi, -1664[rbp]
	lea	rax, -440[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -468[rbp]
	lea	rsi, -432[rbp]
	lea	rax, -436[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -436[rbp]
	lea	rsi, -424[rbp]
	lea	rax, -428[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -436[rbp]
	lea	rsi, -416[rbp]
	lea	rax, -420[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -436[rbp]
	lea	rsi, -408[rbp]
	lea	rax, -412[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -436[rbp]
	lea	rsi, -400[rbp]
	lea	rax, -404[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -436[rbp]
	lea	rsi, -392[rbp]
	lea	rax, -396[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -436[rbp]
	lea	rsi, -384[rbp]
	lea	rax, -388[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -436[rbp]
	lea	rsi, -376[rbp]
	lea	rax, -380[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -436[rbp]
	lea	rsi, -368[rbp]
	lea	rax, -372[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -380[rbp]
	mov	edx, DWORD PTR -368[rbp]
	lea	rsi, -1663[rbp]
	lea	rax, -364[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -388[rbp]
	mov	ecx, DWORD PTR -376[rbp]
	movzx	eax, BYTE PTR -1663[rbp]
	movzx	edx, al
	lea	rsi, -1662[rbp]
	lea	rax, -360[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -396[rbp]
	mov	ecx, DWORD PTR -384[rbp]
	movzx	eax, BYTE PTR -1662[rbp]
	movzx	edx, al
	lea	rsi, -1661[rbp]
	lea	rax, -356[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -404[rbp]
	mov	ecx, DWORD PTR -392[rbp]
	movzx	eax, BYTE PTR -1661[rbp]
	movzx	edx, al
	lea	rsi, -1660[rbp]
	lea	rax, -352[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -412[rbp]
	mov	ecx, DWORD PTR -400[rbp]
	movzx	eax, BYTE PTR -1660[rbp]
	movzx	edx, al
	lea	rsi, -1659[rbp]
	lea	rax, -348[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -420[rbp]
	mov	ecx, DWORD PTR -408[rbp]
	movzx	eax, BYTE PTR -1659[rbp]
	movzx	edx, al
	lea	rsi, -1658[rbp]
	lea	rax, -344[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -428[rbp]
	mov	ecx, DWORD PTR -416[rbp]
	movzx	eax, BYTE PTR -1658[rbp]
	movzx	edx, al
	lea	rsi, -1657[rbp]
	lea	rax, -340[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -372[rbp]
	mov	edx, DWORD PTR -468[rbp]
	lea	rsi, -1656[rbp]
	lea	rax, -336[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -364[rbp]
	mov	ecx, DWORD PTR -464[rbp]
	movzx	eax, BYTE PTR -1656[rbp]
	movzx	edx, al
	lea	rsi, -1655[rbp]
	lea	rax, -332[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -360[rbp]
	mov	ecx, DWORD PTR -460[rbp]
	movzx	eax, BYTE PTR -1655[rbp]
	movzx	edx, al
	lea	rsi, -1654[rbp]
	lea	rax, -328[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -356[rbp]
	mov	ecx, DWORD PTR -456[rbp]
	movzx	eax, BYTE PTR -1654[rbp]
	movzx	edx, al
	lea	rsi, -1653[rbp]
	lea	rax, -324[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -352[rbp]
	mov	ecx, DWORD PTR -452[rbp]
	movzx	eax, BYTE PTR -1653[rbp]
	movzx	edx, al
	lea	rsi, -1652[rbp]
	lea	rax, -320[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -348[rbp]
	mov	ecx, DWORD PTR -448[rbp]
	movzx	eax, BYTE PTR -1652[rbp]
	movzx	edx, al
	lea	rsi, -1651[rbp]
	lea	rax, -316[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -344[rbp]
	mov	ecx, DWORD PTR -444[rbp]
	movzx	eax, BYTE PTR -1651[rbp]
	movzx	edx, al
	lea	rsi, -1650[rbp]
	lea	rax, -312[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -340[rbp]
	mov	ecx, DWORD PTR -440[rbp]
	movzx	eax, BYTE PTR -1650[rbp]
	movzx	edx, al
	lea	rsi, -1649[rbp]
	lea	rax, -308[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1657[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -424[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -1664[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -1674[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -1649[rbp]
	movzx	edx, al
	lea	rsi, -1648[rbp]
	lea	rax, -304[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -16[rbp]
	lea	rsi, -296[rbp]
	lea	rax, -300[rbp]
	mov	ecx, 1954
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -16[rbp]
	lea	rsi, -288[rbp]
	lea	rax, -292[rbp]
	mov	ecx, 954529
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -300[rbp]
	mov	edx, DWORD PTR -288[rbp]
	lea	rsi, -1647[rbp]
	lea	rax, -284[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -296[rbp]
	movzx	eax, BYTE PTR -1647[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -16[rbp]
	lea	rsi, -1646[rbp]
	lea	rax, -280[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -292[rbp]
	mov	edx, DWORD PTR -332[rbp]
	lea	rsi, -1645[rbp]
	lea	rax, -276[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -284[rbp]
	mov	ecx, DWORD PTR -328[rbp]
	movzx	eax, BYTE PTR -1645[rbp]
	movzx	edx, al
	lea	rsi, -1644[rbp]
	lea	rax, -272[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -280[rbp]
	mov	ecx, DWORD PTR -324[rbp]
	movzx	eax, BYTE PTR -1644[rbp]
	movzx	edx, al
	lea	rsi, -1643[rbp]
	lea	rax, -268[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1646[rbp]
	movzx	edi, al
	mov	ecx, DWORD PTR -320[rbp]
	movzx	eax, BYTE PTR -1643[rbp]
	movzx	edx, al
	lea	rsi, -1642[rbp]
	lea	rax, -264[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -316[rbp]
	movzx	eax, BYTE PTR -1642[rbp]
	movzx	edx, al
	lea	rsi, -1641[rbp]
	lea	rax, -260[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -312[rbp]
	movzx	eax, BYTE PTR -1641[rbp]
	movzx	edx, al
	lea	rsi, -1640[rbp]
	lea	rax, -256[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -308[rbp]
	movzx	eax, BYTE PTR -1640[rbp]
	movzx	edx, al
	lea	rsi, -1639[rbp]
	lea	rax, -252[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -304[rbp]
	movzx	eax, BYTE PTR -1639[rbp]
	movzx	edx, al
	lea	rsi, -1638[rbp]
	lea	rax, -248[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -276[rbp]
	lea	rsi, -240[rbp]
	lea	rax, -244[rbp]
	mov	ecx, -769313487
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -244[rbp]
	lea	rsi, -232[rbp]
	lea	rax, -236[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -244[rbp]
	lea	rsi, -224[rbp]
	lea	rax, -228[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -244[rbp]
	lea	rsi, -216[rbp]
	lea	rax, -220[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -244[rbp]
	lea	rsi, -208[rbp]
	lea	rax, -212[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -244[rbp]
	lea	rsi, -200[rbp]
	lea	rax, -204[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -244[rbp]
	lea	rsi, -192[rbp]
	lea	rax, -196[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -244[rbp]
	lea	rsi, -184[rbp]
	lea	rax, -188[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	edx, DWORD PTR -244[rbp]
	lea	rsi, -176[rbp]
	lea	rax, -180[rbp]
	mov	ecx, -977
	mov	rdi, rax
	call	fiat_secp256k1_mulx_u32
	mov	ecx, DWORD PTR -188[rbp]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -1637[rbp]
	lea	rax, -172[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -196[rbp]
	mov	ecx, DWORD PTR -184[rbp]
	movzx	eax, BYTE PTR -1637[rbp]
	movzx	edx, al
	lea	rsi, -1636[rbp]
	lea	rax, -168[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -204[rbp]
	mov	ecx, DWORD PTR -192[rbp]
	movzx	eax, BYTE PTR -1636[rbp]
	movzx	edx, al
	lea	rsi, -1635[rbp]
	lea	rax, -164[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -212[rbp]
	mov	ecx, DWORD PTR -200[rbp]
	movzx	eax, BYTE PTR -1635[rbp]
	movzx	edx, al
	lea	rsi, -1634[rbp]
	lea	rax, -160[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -220[rbp]
	mov	ecx, DWORD PTR -208[rbp]
	movzx	eax, BYTE PTR -1634[rbp]
	movzx	edx, al
	lea	rsi, -1633[rbp]
	lea	rax, -156[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -228[rbp]
	mov	ecx, DWORD PTR -216[rbp]
	movzx	eax, BYTE PTR -1633[rbp]
	movzx	edx, al
	lea	rsi, -1632[rbp]
	lea	rax, -152[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -236[rbp]
	mov	ecx, DWORD PTR -224[rbp]
	movzx	eax, BYTE PTR -1632[rbp]
	movzx	edx, al
	lea	rsi, -1631[rbp]
	lea	rax, -148[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -180[rbp]
	mov	edx, DWORD PTR -276[rbp]
	lea	rsi, -1630[rbp]
	lea	rax, -144[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -172[rbp]
	mov	ecx, DWORD PTR -272[rbp]
	movzx	eax, BYTE PTR -1630[rbp]
	movzx	edx, al
	lea	rsi, -1629[rbp]
	lea	rax, -140[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -168[rbp]
	mov	ecx, DWORD PTR -268[rbp]
	movzx	eax, BYTE PTR -1629[rbp]
	movzx	edx, al
	lea	rsi, -1628[rbp]
	lea	rax, -136[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -164[rbp]
	mov	ecx, DWORD PTR -264[rbp]
	movzx	eax, BYTE PTR -1628[rbp]
	movzx	edx, al
	lea	rsi, -1627[rbp]
	lea	rax, -132[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -160[rbp]
	mov	ecx, DWORD PTR -260[rbp]
	movzx	eax, BYTE PTR -1627[rbp]
	movzx	edx, al
	lea	rsi, -1626[rbp]
	lea	rax, -128[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -156[rbp]
	mov	ecx, DWORD PTR -256[rbp]
	movzx	eax, BYTE PTR -1626[rbp]
	movzx	edx, al
	lea	rsi, -1625[rbp]
	lea	rax, -124[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -152[rbp]
	mov	ecx, DWORD PTR -252[rbp]
	movzx	eax, BYTE PTR -1625[rbp]
	movzx	edx, al
	lea	rsi, -1624[rbp]
	lea	rax, -120[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -148[rbp]
	mov	ecx, DWORD PTR -248[rbp]
	movzx	eax, BYTE PTR -1624[rbp]
	movzx	edx, al
	lea	rsi, -1623[rbp]
	lea	rax, -116[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	movzx	eax, BYTE PTR -1631[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -232[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -1638[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -1648[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -1623[rbp]
	movzx	edx, al
	lea	rsi, -1622[rbp]
	lea	rax, -112[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -140[rbp]
	lea	rsi, -1621[rbp]
	lea	rax, -108[rbp]
	mov	r8d, -977
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -136[rbp]
	movzx	eax, BYTE PTR -1621[rbp]
	movzx	edx, al
	lea	rsi, -1620[rbp]
	lea	rax, -104[rbp]
	mov	r8d, -2
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -132[rbp]
	movzx	eax, BYTE PTR -1620[rbp]
	movzx	edx, al
	lea	rsi, -1619[rbp]
	lea	rax, -100[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -128[rbp]
	movzx	eax, BYTE PTR -1619[rbp]
	movzx	edx, al
	lea	rsi, -1618[rbp]
	lea	rax, -96[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -124[rbp]
	movzx	eax, BYTE PTR -1618[rbp]
	movzx	edx, al
	lea	rsi, -1617[rbp]
	lea	rax, -92[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -120[rbp]
	movzx	eax, BYTE PTR -1617[rbp]
	movzx	edx, al
	lea	rsi, -1616[rbp]
	lea	rax, -88[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -116[rbp]
	movzx	eax, BYTE PTR -1616[rbp]
	movzx	edx, al
	lea	rsi, -1615[rbp]
	lea	rax, -84[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -112[rbp]
	movzx	eax, BYTE PTR -1615[rbp]
	movzx	edx, al
	lea	rsi, -1614[rbp]
	lea	rax, -80[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -1622[rbp]
	movzx	ecx, al
	movzx	eax, BYTE PTR -1614[rbp]
	movzx	edx, al
	lea	rsi, -1613[rbp]
	lea	rax, -76[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -140[rbp]
	mov	edx, DWORD PTR -108[rbp]
	movzx	eax, BYTE PTR -1613[rbp]
	movzx	esi, al
	lea	rax, -72[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -136[rbp]
	mov	edx, DWORD PTR -104[rbp]
	movzx	eax, BYTE PTR -1613[rbp]
	movzx	esi, al
	lea	rax, -68[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -132[rbp]
	mov	edx, DWORD PTR -100[rbp]
	movzx	eax, BYTE PTR -1613[rbp]
	movzx	esi, al
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -128[rbp]
	mov	edx, DWORD PTR -96[rbp]
	movzx	eax, BYTE PTR -1613[rbp]
	movzx	esi, al
	lea	rax, -60[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -124[rbp]
	mov	edx, DWORD PTR -92[rbp]
	movzx	eax, BYTE PTR -1613[rbp]
	movzx	esi, al
	lea	rax, -56[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -120[rbp]
	mov	edx, DWORD PTR -88[rbp]
	movzx	eax, BYTE PTR -1613[rbp]
	movzx	esi, al
	lea	rax, -52[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -116[rbp]
	mov	edx, DWORD PTR -84[rbp]
	movzx	eax, BYTE PTR -1613[rbp]
	movzx	esi, al
	lea	rax, -48[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -112[rbp]
	mov	edx, DWORD PTR -80[rbp]
	movzx	eax, BYTE PTR -1613[rbp]
	movzx	esi, al
	lea	rax, -44[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -72[rbp]
	mov	rax, QWORD PTR -1832[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -1832[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -1832[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -64[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -1832[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -1832[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -1832[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -1832[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -1832[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L20
	call	__stack_chk_fail@PLT
.L20:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	fiat_secp256k1_to_montgomery, .-fiat_secp256k1_to_montgomery
	.type	fiat_secp256k1_nonzero, @function
fiat_secp256k1_nonzero:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 8
	mov	esi, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 12
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 16
	mov	r8d, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 20
	mov	r9d, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 24
	mov	r10d, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 28
	mov	eax, DWORD PTR [rax]
	or	eax, r10d
	or	eax, r9d
	or	eax, r8d
	or	eax, edi
	or	eax, esi
	or	eax, ecx
	or	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR [rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	fiat_secp256k1_nonzero, .-fiat_secp256k1_nonzero
	.type	fiat_secp256k1_selectznz, @function
fiat_secp256k1_selectznz:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	eax, esi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	BYTE PTR -60[rbp], al
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -60[rbp]
	lea	rax, -40[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 4
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -60[rbp]
	lea	rax, -36[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -60[rbp]
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 12
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -60[rbp]
	lea	rax, -28[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 16
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -60[rbp]
	lea	rax, -24[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 20
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -60[rbp]
	lea	rax, -20[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 24
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -60[rbp]
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 28
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -60[rbp]
	lea	rax, -12[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L23
	call	__stack_chk_fail@PLT
.L23:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	fiat_secp256k1_selectznz, .-fiat_secp256k1_selectznz
	.type	fiat_secp256k1_to_bytes, @function
fiat_secp256k1_to_bytes:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR -96[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -92[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 20[rax]
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -84[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR -80[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -76[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -68[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	mov	BYTE PTR -128[rbp], al
	mov	eax, DWORD PTR -68[rbp]
	shr	eax, 8
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	mov	BYTE PTR -127[rbp], al
	mov	eax, DWORD PTR -64[rbp]
	shr	eax, 8
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	BYTE PTR -126[rbp], al
	mov	eax, DWORD PTR -60[rbp]
	shr	eax, 8
	mov	BYTE PTR -125[rbp], al
	mov	eax, DWORD PTR -72[rbp]
	mov	BYTE PTR -124[rbp], al
	mov	eax, DWORD PTR -72[rbp]
	shr	eax, 8
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	mov	BYTE PTR -123[rbp], al
	mov	eax, DWORD PTR -56[rbp]
	shr	eax, 8
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	mov	BYTE PTR -122[rbp], al
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 8
	mov	BYTE PTR -121[rbp], al
	mov	eax, DWORD PTR -76[rbp]
	mov	BYTE PTR -120[rbp], al
	mov	eax, DWORD PTR -76[rbp]
	shr	eax, 8
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	mov	BYTE PTR -119[rbp], al
	mov	eax, DWORD PTR -48[rbp]
	shr	eax, 8
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	mov	BYTE PTR -118[rbp], al
	mov	eax, DWORD PTR -44[rbp]
	shr	eax, 8
	mov	BYTE PTR -117[rbp], al
	mov	eax, DWORD PTR -80[rbp]
	mov	BYTE PTR -116[rbp], al
	mov	eax, DWORD PTR -80[rbp]
	shr	eax, 8
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	mov	BYTE PTR -115[rbp], al
	mov	eax, DWORD PTR -40[rbp]
	shr	eax, 8
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	mov	BYTE PTR -114[rbp], al
	mov	eax, DWORD PTR -36[rbp]
	shr	eax, 8
	mov	BYTE PTR -113[rbp], al
	mov	eax, DWORD PTR -84[rbp]
	mov	BYTE PTR -112[rbp], al
	mov	eax, DWORD PTR -84[rbp]
	shr	eax, 8
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	mov	BYTE PTR -111[rbp], al
	mov	eax, DWORD PTR -32[rbp]
	shr	eax, 8
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	BYTE PTR -110[rbp], al
	mov	eax, DWORD PTR -28[rbp]
	shr	eax, 8
	mov	BYTE PTR -109[rbp], al
	mov	eax, DWORD PTR -88[rbp]
	mov	BYTE PTR -108[rbp], al
	mov	eax, DWORD PTR -88[rbp]
	shr	eax, 8
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	mov	BYTE PTR -107[rbp], al
	mov	eax, DWORD PTR -24[rbp]
	shr	eax, 8
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	BYTE PTR -106[rbp], al
	mov	eax, DWORD PTR -20[rbp]
	shr	eax, 8
	mov	BYTE PTR -105[rbp], al
	mov	eax, DWORD PTR -92[rbp]
	mov	BYTE PTR -104[rbp], al
	mov	eax, DWORD PTR -92[rbp]
	shr	eax, 8
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	BYTE PTR -103[rbp], al
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 8
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	BYTE PTR -102[rbp], al
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 8
	mov	BYTE PTR -101[rbp], al
	mov	eax, DWORD PTR -96[rbp]
	mov	BYTE PTR -100[rbp], al
	mov	eax, DWORD PTR -96[rbp]
	shr	eax, 8
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	BYTE PTR -99[rbp], al
	mov	eax, DWORD PTR -8[rbp]
	shr	eax, 8
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	BYTE PTR -98[rbp], al
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 8
	mov	BYTE PTR -97[rbp], al
	mov	rax, QWORD PTR -136[rbp]
	movzx	edx, BYTE PTR -128[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	movzx	eax, BYTE PTR -127[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 2[rax]
	movzx	eax, BYTE PTR -126[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 3[rax]
	movzx	eax, BYTE PTR -125[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 4[rax]
	movzx	eax, BYTE PTR -124[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 5[rax]
	movzx	eax, BYTE PTR -123[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 6[rax]
	movzx	eax, BYTE PTR -122[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 7[rax]
	movzx	eax, BYTE PTR -121[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 8[rax]
	movzx	eax, BYTE PTR -120[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 9[rax]
	movzx	eax, BYTE PTR -119[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 10[rax]
	movzx	eax, BYTE PTR -118[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 11[rax]
	movzx	eax, BYTE PTR -117[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 12[rax]
	movzx	eax, BYTE PTR -116[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 13[rax]
	movzx	eax, BYTE PTR -115[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 14[rax]
	movzx	eax, BYTE PTR -114[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 15[rax]
	movzx	eax, BYTE PTR -113[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 16[rax]
	movzx	eax, BYTE PTR -112[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 17[rax]
	movzx	eax, BYTE PTR -111[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 18[rax]
	movzx	eax, BYTE PTR -110[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 19[rax]
	movzx	eax, BYTE PTR -109[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 20[rax]
	movzx	eax, BYTE PTR -108[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 21[rax]
	movzx	eax, BYTE PTR -107[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 22[rax]
	movzx	eax, BYTE PTR -106[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 23[rax]
	movzx	eax, BYTE PTR -105[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 24[rax]
	movzx	eax, BYTE PTR -104[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 25[rax]
	movzx	eax, BYTE PTR -103[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 26[rax]
	movzx	eax, BYTE PTR -102[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 27[rax]
	movzx	eax, BYTE PTR -101[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 28[rax]
	movzx	eax, BYTE PTR -100[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 29[rax]
	movzx	eax, BYTE PTR -99[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 30[rax]
	movzx	eax, BYTE PTR -98[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 31[rax]
	movzx	eax, BYTE PTR -97[rbp]
	mov	BYTE PTR [rdx], al
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	fiat_secp256k1_to_bytes, .-fiat_secp256k1_to_bytes
	.type	fiat_secp256k1_from_bytes, @function
fiat_secp256k1_from_bytes:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 104
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -224[rbp], rsi
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 31
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -192[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 30
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -188[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 29
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -184[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	movzx	eax, BYTE PTR 28[rax]
	mov	BYTE PTR -200[rbp], al
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 27
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -180[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 26
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -176[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 25
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -172[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	movzx	eax, BYTE PTR 24[rax]
	mov	BYTE PTR -199[rbp], al
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 23
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -168[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 22
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -164[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 21
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -160[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	movzx	eax, BYTE PTR 20[rax]
	mov	BYTE PTR -198[rbp], al
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 19
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -156[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 18
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -152[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 17
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -148[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	movzx	eax, BYTE PTR 16[rax]
	mov	BYTE PTR -197[rbp], al
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 15
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -144[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 14
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -140[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 13
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -136[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	movzx	eax, BYTE PTR 12[rax]
	mov	BYTE PTR -196[rbp], al
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 11
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -132[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 10
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -128[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 9
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -124[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	movzx	eax, BYTE PTR 8[rax]
	mov	BYTE PTR -195[rbp], al
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 7
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -116[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -112[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	movzx	eax, BYTE PTR 4[rax]
	mov	BYTE PTR -194[rbp], al
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -108[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -104[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -193[rbp], al
	movzx	edx, BYTE PTR -193[rbp]
	mov	eax, DWORD PTR -100[rbp]
	add	eax, edx
	mov	DWORD PTR -96[rbp], eax
	mov	edx, DWORD PTR -104[rbp]
	mov	eax, DWORD PTR -96[rbp]
	add	eax, edx
	mov	DWORD PTR -92[rbp], eax
	mov	edx, DWORD PTR -108[rbp]
	mov	eax, DWORD PTR -92[rbp]
	add	eax, edx
	mov	DWORD PTR -88[rbp], eax
	movzx	edx, BYTE PTR -194[rbp]
	mov	eax, DWORD PTR -112[rbp]
	add	eax, edx
	mov	DWORD PTR -84[rbp], eax
	mov	edx, DWORD PTR -116[rbp]
	mov	eax, DWORD PTR -84[rbp]
	add	eax, edx
	mov	DWORD PTR -80[rbp], eax
	mov	edx, DWORD PTR -120[rbp]
	mov	eax, DWORD PTR -80[rbp]
	add	eax, edx
	mov	DWORD PTR -76[rbp], eax
	movzx	edx, BYTE PTR -195[rbp]
	mov	eax, DWORD PTR -124[rbp]
	add	eax, edx
	mov	DWORD PTR -72[rbp], eax
	mov	edx, DWORD PTR -128[rbp]
	mov	eax, DWORD PTR -72[rbp]
	add	eax, edx
	mov	DWORD PTR -68[rbp], eax
	mov	edx, DWORD PTR -132[rbp]
	mov	eax, DWORD PTR -68[rbp]
	add	eax, edx
	mov	DWORD PTR -64[rbp], eax
	movzx	edx, BYTE PTR -196[rbp]
	mov	eax, DWORD PTR -136[rbp]
	add	eax, edx
	mov	DWORD PTR -60[rbp], eax
	mov	edx, DWORD PTR -140[rbp]
	mov	eax, DWORD PTR -60[rbp]
	add	eax, edx
	mov	DWORD PTR -56[rbp], eax
	mov	edx, DWORD PTR -144[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, edx
	mov	DWORD PTR -52[rbp], eax
	movzx	edx, BYTE PTR -197[rbp]
	mov	eax, DWORD PTR -148[rbp]
	add	eax, edx
	mov	DWORD PTR -48[rbp], eax
	mov	edx, DWORD PTR -152[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	eax, edx
	mov	DWORD PTR -44[rbp], eax
	mov	edx, DWORD PTR -156[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	mov	DWORD PTR -40[rbp], eax
	movzx	edx, BYTE PTR -198[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -36[rbp], eax
	mov	edx, DWORD PTR -164[rbp]
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	mov	DWORD PTR -32[rbp], eax
	mov	edx, DWORD PTR -168[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	mov	DWORD PTR -28[rbp], eax
	movzx	edx, BYTE PTR -199[rbp]
	mov	eax, DWORD PTR -172[rbp]
	add	eax, edx
	mov	DWORD PTR -24[rbp], eax
	mov	edx, DWORD PTR -176[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	edx, DWORD PTR -180[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	mov	DWORD PTR -16[rbp], eax
	movzx	edx, BYTE PTR -200[rbp]
	mov	eax, DWORD PTR -184[rbp]
	add	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	edx, DWORD PTR -188[rbp]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, edx
	mov	DWORD PTR -8[rbp], eax
	mov	edx, DWORD PTR -192[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -216[rbp]
	mov	edx, DWORD PTR -88[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -64[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	fiat_secp256k1_from_bytes, .-fiat_secp256k1_from_bytes
	.type	fiat_secp256k1_set_one, @function
fiat_secp256k1_set_one:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 977
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 4
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 8
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 12
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 16
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 20
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 24
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 28
	mov	DWORD PTR [rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	fiat_secp256k1_set_one, .-fiat_secp256k1_set_one
	.type	fiat_secp256k1_msat, @function
fiat_secp256k1_msat:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], -977
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 4
	mov	DWORD PTR [rax], -2
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 8
	mov	DWORD PTR [rax], -1
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 12
	mov	DWORD PTR [rax], -1
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 16
	mov	DWORD PTR [rax], -1
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 20
	mov	DWORD PTR [rax], -1
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 24
	mov	DWORD PTR [rax], -1
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 28
	mov	DWORD PTR [rax], -1
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 32
	mov	DWORD PTR [rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	fiat_secp256k1_msat, .-fiat_secp256k1_msat
	.type	fiat_secp256k1_divstep, @function
fiat_secp256k1_divstep:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 800
	mov	QWORD PTR -728[rbp], rdi
	mov	QWORD PTR -736[rbp], rsi
	mov	QWORD PTR -744[rbp], rdx
	mov	QWORD PTR -752[rbp], rcx
	mov	QWORD PTR -760[rbp], r8
	mov	DWORD PTR -764[rbp], r9d
	mov	rax, QWORD PTR 16[rbp]
	mov	QWORD PTR -776[rbp], rax
	mov	rax, QWORD PTR 24[rbp]
	mov	QWORD PTR -784[rbp], rax
	mov	rax, QWORD PTR 32[rbp]
	mov	QWORD PTR -792[rbp], rax
	mov	rax, QWORD PTR 40[rbp]
	mov	QWORD PTR -800[rbp], rax
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -764[rbp]
	not	eax
	mov	edx, eax
	lea	rsi, -709[rbp]
	lea	rax, -636[rbp]
	mov	r8d, 1
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	eax, DWORD PTR -636[rbp]
	shr	eax, 31
	mov	edx, eax
	mov	rax, QWORD PTR -784[rbp]
	mov	eax, DWORD PTR [rax]
	and	eax, 1
	and	eax, edx
	mov	BYTE PTR -638[rbp], al
	mov	eax, DWORD PTR -764[rbp]
	not	eax
	mov	edx, eax
	lea	rsi, -708[rbp]
	lea	rax, -632[rbp]
	mov	r8d, 1
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -632[rbp]
	movzx	esi, BYTE PTR -638[rbp]
	mov	edx, DWORD PTR -764[rbp]
	lea	rax, -628[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -784[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -624[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -784[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 4
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -620[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -784[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 8
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -616[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -784[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 12
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -612[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -784[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 16
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -608[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -784[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 20
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -604[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -784[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 24
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -600[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -784[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 28
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -596[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -784[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 32
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -592[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR [rax]
	not	eax
	mov	edx, eax
	lea	rsi, -707[rbp]
	lea	rax, -588[rbp]
	mov	r8d, edx
	mov	ecx, 1
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 4
	mov	eax, DWORD PTR [rax]
	not	eax
	mov	ecx, eax
	movzx	eax, BYTE PTR -707[rbp]
	movzx	edx, al
	lea	rsi, -706[rbp]
	lea	rax, -584[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	not	eax
	mov	ecx, eax
	movzx	eax, BYTE PTR -706[rbp]
	movzx	edx, al
	lea	rsi, -705[rbp]
	lea	rax, -580[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 12
	mov	eax, DWORD PTR [rax]
	not	eax
	mov	ecx, eax
	movzx	eax, BYTE PTR -705[rbp]
	movzx	edx, al
	lea	rsi, -704[rbp]
	lea	rax, -576[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 16
	mov	eax, DWORD PTR [rax]
	not	eax
	mov	ecx, eax
	movzx	eax, BYTE PTR -704[rbp]
	movzx	edx, al
	lea	rsi, -703[rbp]
	lea	rax, -572[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 20
	mov	eax, DWORD PTR [rax]
	not	eax
	mov	ecx, eax
	movzx	eax, BYTE PTR -703[rbp]
	movzx	edx, al
	lea	rsi, -702[rbp]
	lea	rax, -568[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 24
	mov	eax, DWORD PTR [rax]
	not	eax
	mov	ecx, eax
	movzx	eax, BYTE PTR -702[rbp]
	movzx	edx, al
	lea	rsi, -701[rbp]
	lea	rax, -564[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 28
	mov	eax, DWORD PTR [rax]
	not	eax
	mov	ecx, eax
	movzx	eax, BYTE PTR -701[rbp]
	movzx	edx, al
	lea	rsi, -700[rbp]
	lea	rax, -560[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 32
	mov	eax, DWORD PTR [rax]
	not	eax
	mov	ecx, eax
	movzx	eax, BYTE PTR -700[rbp]
	movzx	edx, al
	lea	rsi, -699[rbp]
	lea	rax, -556[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -588[rbp]
	mov	rax, QWORD PTR -784[rbp]
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -552[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -584[rbp]
	mov	rax, QWORD PTR -784[rbp]
	add	rax, 4
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -548[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -580[rbp]
	mov	rax, QWORD PTR -784[rbp]
	add	rax, 8
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -544[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -576[rbp]
	mov	rax, QWORD PTR -784[rbp]
	add	rax, 12
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -540[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -572[rbp]
	mov	rax, QWORD PTR -784[rbp]
	add	rax, 16
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -536[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -568[rbp]
	mov	rax, QWORD PTR -784[rbp]
	add	rax, 20
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -532[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -564[rbp]
	mov	rax, QWORD PTR -784[rbp]
	add	rax, 24
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -528[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -560[rbp]
	mov	rax, QWORD PTR -784[rbp]
	add	rax, 28
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -524[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -556[rbp]
	mov	rax, QWORD PTR -784[rbp]
	add	rax, 32
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -520[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -800[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -792[rbp]
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -516[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -800[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -792[rbp]
	add	rax, 4
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -512[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -800[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -792[rbp]
	add	rax, 8
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -508[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -800[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -792[rbp]
	add	rax, 12
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -504[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -800[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -792[rbp]
	add	rax, 16
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -500[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -800[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -792[rbp]
	add	rax, 20
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -496[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -800[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -792[rbp]
	add	rax, 24
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -492[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	rax, QWORD PTR -800[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -792[rbp]
	add	rax, 28
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -488[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -516[rbp]
	mov	edx, DWORD PTR -516[rbp]
	lea	rsi, -698[rbp]
	lea	rax, -484[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -512[rbp]
	mov	ecx, DWORD PTR -512[rbp]
	movzx	eax, BYTE PTR -698[rbp]
	movzx	edx, al
	lea	rsi, -697[rbp]
	lea	rax, -480[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -508[rbp]
	mov	ecx, DWORD PTR -508[rbp]
	movzx	eax, BYTE PTR -697[rbp]
	movzx	edx, al
	lea	rsi, -696[rbp]
	lea	rax, -476[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -504[rbp]
	mov	ecx, DWORD PTR -504[rbp]
	movzx	eax, BYTE PTR -696[rbp]
	movzx	edx, al
	lea	rsi, -695[rbp]
	lea	rax, -472[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -500[rbp]
	mov	ecx, DWORD PTR -500[rbp]
	movzx	eax, BYTE PTR -695[rbp]
	movzx	edx, al
	lea	rsi, -694[rbp]
	lea	rax, -468[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -496[rbp]
	mov	ecx, DWORD PTR -496[rbp]
	movzx	eax, BYTE PTR -694[rbp]
	movzx	edx, al
	lea	rsi, -693[rbp]
	lea	rax, -464[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -492[rbp]
	mov	ecx, DWORD PTR -492[rbp]
	movzx	eax, BYTE PTR -693[rbp]
	movzx	edx, al
	lea	rsi, -692[rbp]
	lea	rax, -460[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -488[rbp]
	mov	ecx, DWORD PTR -488[rbp]
	movzx	eax, BYTE PTR -692[rbp]
	movzx	edx, al
	lea	rsi, -691[rbp]
	lea	rax, -456[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -484[rbp]
	lea	rsi, -690[rbp]
	lea	rax, -452[rbp]
	mov	r8d, -977
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -480[rbp]
	movzx	eax, BYTE PTR -690[rbp]
	movzx	edx, al
	lea	rsi, -689[rbp]
	lea	rax, -448[rbp]
	mov	r8d, -2
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -476[rbp]
	movzx	eax, BYTE PTR -689[rbp]
	movzx	edx, al
	lea	rsi, -688[rbp]
	lea	rax, -444[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -472[rbp]
	movzx	eax, BYTE PTR -688[rbp]
	movzx	edx, al
	lea	rsi, -687[rbp]
	lea	rax, -440[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -468[rbp]
	movzx	eax, BYTE PTR -687[rbp]
	movzx	edx, al
	lea	rsi, -686[rbp]
	lea	rax, -436[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -464[rbp]
	movzx	eax, BYTE PTR -686[rbp]
	movzx	edx, al
	lea	rsi, -685[rbp]
	lea	rax, -432[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -460[rbp]
	movzx	eax, BYTE PTR -685[rbp]
	movzx	edx, al
	lea	rsi, -684[rbp]
	lea	rax, -428[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -456[rbp]
	movzx	eax, BYTE PTR -684[rbp]
	movzx	edx, al
	lea	rsi, -683[rbp]
	lea	rax, -424[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -691[rbp]
	movzx	ecx, al
	movzx	eax, BYTE PTR -683[rbp]
	movzx	edx, al
	lea	rsi, -682[rbp]
	lea	rax, -420[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	rax, QWORD PTR -792[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR -76[rbp], eax
	mov	rax, QWORD PTR -792[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -792[rbp]
	mov	eax, DWORD PTR 20[rax]
	mov	DWORD PTR -68[rbp], eax
	mov	rax, QWORD PTR -792[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR -792[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -792[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -56[rbp], eax
	mov	rax, QWORD PTR -792[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -792[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -48[rbp], eax
	mov	edx, DWORD PTR -48[rbp]
	lea	rsi, -681[rbp]
	lea	rax, -416[rbp]
	mov	r8d, edx
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -681[rbp]
	movzx	edx, al
	mov	ecx, DWORD PTR -52[rbp]
	lea	rsi, -680[rbp]
	lea	rax, -412[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -680[rbp]
	movzx	edx, al
	mov	ecx, DWORD PTR -56[rbp]
	lea	rsi, -679[rbp]
	lea	rax, -408[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -679[rbp]
	movzx	edx, al
	mov	ecx, DWORD PTR -60[rbp]
	lea	rsi, -678[rbp]
	lea	rax, -404[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -678[rbp]
	movzx	edx, al
	mov	ecx, DWORD PTR -64[rbp]
	lea	rsi, -677[rbp]
	lea	rax, -400[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -677[rbp]
	movzx	edx, al
	mov	ecx, DWORD PTR -68[rbp]
	lea	rsi, -676[rbp]
	lea	rax, -396[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -676[rbp]
	movzx	edx, al
	mov	ecx, DWORD PTR -72[rbp]
	lea	rsi, -675[rbp]
	lea	rax, -392[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -675[rbp]
	movzx	edx, al
	mov	ecx, DWORD PTR -76[rbp]
	lea	rsi, -674[rbp]
	lea	rax, -388[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -674[rbp]
	movzx	esi, al
	lea	rax, -384[rbp]
	mov	ecx, -1
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	eax, DWORD PTR -384[rbp]
	and	eax, -977
	mov	ecx, eax
	mov	edx, DWORD PTR -416[rbp]
	lea	rsi, -673[rbp]
	lea	rax, -380[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	eax, DWORD PTR -384[rbp]
	and	eax, -2
	mov	edi, eax
	mov	ecx, DWORD PTR -412[rbp]
	movzx	eax, BYTE PTR -673[rbp]
	movzx	edx, al
	lea	rsi, -672[rbp]
	lea	rax, -376[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -384[rbp]
	mov	ecx, DWORD PTR -408[rbp]
	movzx	eax, BYTE PTR -672[rbp]
	movzx	edx, al
	lea	rsi, -671[rbp]
	lea	rax, -372[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -384[rbp]
	mov	ecx, DWORD PTR -404[rbp]
	movzx	eax, BYTE PTR -671[rbp]
	movzx	edx, al
	lea	rsi, -670[rbp]
	lea	rax, -368[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -384[rbp]
	mov	ecx, DWORD PTR -400[rbp]
	movzx	eax, BYTE PTR -670[rbp]
	movzx	edx, al
	lea	rsi, -669[rbp]
	lea	rax, -364[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -384[rbp]
	mov	ecx, DWORD PTR -396[rbp]
	movzx	eax, BYTE PTR -669[rbp]
	movzx	edx, al
	lea	rsi, -668[rbp]
	lea	rax, -360[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -384[rbp]
	mov	ecx, DWORD PTR -392[rbp]
	movzx	eax, BYTE PTR -668[rbp]
	movzx	edx, al
	lea	rsi, -667[rbp]
	lea	rax, -356[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -384[rbp]
	mov	ecx, DWORD PTR -388[rbp]
	movzx	eax, BYTE PTR -667[rbp]
	movzx	edx, al
	lea	rsi, -666[rbp]
	lea	rax, -352[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	ecx, DWORD PTR -380[rbp]
	mov	rax, QWORD PTR -800[rbp]
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -348[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -376[rbp]
	mov	rax, QWORD PTR -800[rbp]
	add	rax, 4
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -344[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -372[rbp]
	mov	rax, QWORD PTR -800[rbp]
	add	rax, 8
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -340[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -368[rbp]
	mov	rax, QWORD PTR -800[rbp]
	add	rax, 12
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -336[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -364[rbp]
	mov	rax, QWORD PTR -800[rbp]
	add	rax, 16
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -332[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -360[rbp]
	mov	rax, QWORD PTR -800[rbp]
	add	rax, 20
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -328[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -356[rbp]
	mov	rax, QWORD PTR -800[rbp]
	add	rax, 24
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -324[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -352[rbp]
	mov	rax, QWORD PTR -800[rbp]
	add	rax, 28
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -638[rbp]
	lea	rax, -320[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	eax, DWORD PTR -552[rbp]
	and	eax, 1
	mov	BYTE PTR -637[rbp], al
	mov	edx, DWORD PTR -624[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -316[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -620[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -312[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -616[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -308[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -612[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -304[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -608[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -300[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -604[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -296[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -600[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -292[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -596[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -288[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -592[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -284[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -316[rbp]
	mov	edx, DWORD PTR -552[rbp]
	lea	rsi, -665[rbp]
	lea	rax, -280[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -312[rbp]
	mov	ecx, DWORD PTR -548[rbp]
	movzx	eax, BYTE PTR -665[rbp]
	movzx	edx, al
	lea	rsi, -664[rbp]
	lea	rax, -276[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -308[rbp]
	mov	ecx, DWORD PTR -544[rbp]
	movzx	eax, BYTE PTR -664[rbp]
	movzx	edx, al
	lea	rsi, -663[rbp]
	lea	rax, -272[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -540[rbp]
	movzx	eax, BYTE PTR -663[rbp]
	movzx	edx, al
	lea	rsi, -662[rbp]
	lea	rax, -268[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -300[rbp]
	mov	ecx, DWORD PTR -536[rbp]
	movzx	eax, BYTE PTR -662[rbp]
	movzx	edx, al
	lea	rsi, -661[rbp]
	lea	rax, -264[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -296[rbp]
	mov	ecx, DWORD PTR -532[rbp]
	movzx	eax, BYTE PTR -661[rbp]
	movzx	edx, al
	lea	rsi, -660[rbp]
	lea	rax, -260[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -292[rbp]
	mov	ecx, DWORD PTR -528[rbp]
	movzx	eax, BYTE PTR -660[rbp]
	movzx	edx, al
	lea	rsi, -659[rbp]
	lea	rax, -256[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -288[rbp]
	mov	ecx, DWORD PTR -524[rbp]
	movzx	eax, BYTE PTR -659[rbp]
	movzx	edx, al
	lea	rsi, -658[rbp]
	lea	rax, -252[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -284[rbp]
	mov	ecx, DWORD PTR -520[rbp]
	movzx	eax, BYTE PTR -658[rbp]
	movzx	edx, al
	lea	rsi, -657[rbp]
	lea	rax, -248[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -516[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -244[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -512[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -240[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -508[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -236[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -504[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -232[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -500[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -228[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -496[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -224[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -492[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -220[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -488[rbp]
	movzx	esi, BYTE PTR -637[rbp]
	lea	rax, -216[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -244[rbp]
	mov	edx, DWORD PTR -348[rbp]
	lea	rsi, -656[rbp]
	lea	rax, -212[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -240[rbp]
	mov	ecx, DWORD PTR -344[rbp]
	movzx	eax, BYTE PTR -656[rbp]
	movzx	edx, al
	lea	rsi, -655[rbp]
	lea	rax, -208[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -236[rbp]
	mov	ecx, DWORD PTR -340[rbp]
	movzx	eax, BYTE PTR -655[rbp]
	movzx	edx, al
	lea	rsi, -654[rbp]
	lea	rax, -204[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -232[rbp]
	mov	ecx, DWORD PTR -336[rbp]
	movzx	eax, BYTE PTR -654[rbp]
	movzx	edx, al
	lea	rsi, -653[rbp]
	lea	rax, -200[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -228[rbp]
	mov	ecx, DWORD PTR -332[rbp]
	movzx	eax, BYTE PTR -653[rbp]
	movzx	edx, al
	lea	rsi, -652[rbp]
	lea	rax, -196[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -224[rbp]
	mov	ecx, DWORD PTR -328[rbp]
	movzx	eax, BYTE PTR -652[rbp]
	movzx	edx, al
	lea	rsi, -651[rbp]
	lea	rax, -192[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -220[rbp]
	mov	ecx, DWORD PTR -324[rbp]
	movzx	eax, BYTE PTR -651[rbp]
	movzx	edx, al
	lea	rsi, -650[rbp]
	lea	rax, -188[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edi, DWORD PTR -216[rbp]
	mov	ecx, DWORD PTR -320[rbp]
	movzx	eax, BYTE PTR -650[rbp]
	movzx	edx, al
	lea	rsi, -649[rbp]
	lea	rax, -184[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	edx, DWORD PTR -212[rbp]
	lea	rsi, -648[rbp]
	lea	rax, -180[rbp]
	mov	r8d, -977
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -208[rbp]
	movzx	eax, BYTE PTR -648[rbp]
	movzx	edx, al
	lea	rsi, -647[rbp]
	lea	rax, -176[rbp]
	mov	r8d, -2
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -204[rbp]
	movzx	eax, BYTE PTR -647[rbp]
	movzx	edx, al
	lea	rsi, -646[rbp]
	lea	rax, -172[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -200[rbp]
	movzx	eax, BYTE PTR -646[rbp]
	movzx	edx, al
	lea	rsi, -645[rbp]
	lea	rax, -168[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -196[rbp]
	movzx	eax, BYTE PTR -645[rbp]
	movzx	edx, al
	lea	rsi, -644[rbp]
	lea	rax, -164[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -192[rbp]
	movzx	eax, BYTE PTR -644[rbp]
	movzx	edx, al
	lea	rsi, -643[rbp]
	lea	rax, -160[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -188[rbp]
	movzx	eax, BYTE PTR -643[rbp]
	movzx	edx, al
	lea	rsi, -642[rbp]
	lea	rax, -156[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	ecx, DWORD PTR -184[rbp]
	movzx	eax, BYTE PTR -642[rbp]
	movzx	edx, al
	lea	rsi, -641[rbp]
	lea	rax, -152[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	movzx	eax, BYTE PTR -649[rbp]
	movzx	ecx, al
	movzx	eax, BYTE PTR -641[rbp]
	movzx	edx, al
	lea	rsi, -640[rbp]
	lea	rax, -148[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_secp256k1_subborrowx_u32
	mov	edx, DWORD PTR -628[rbp]
	lea	rsi, -639[rbp]
	lea	rax, -144[rbp]
	mov	r8d, 1
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_secp256k1_addcarryx_u32
	mov	eax, DWORD PTR -280[rbp]
	shr	eax
	mov	edx, eax
	mov	eax, DWORD PTR -276[rbp]
	sal	eax, 31
	or	eax, edx
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -276[rbp]
	shr	eax
	mov	edx, eax
	mov	eax, DWORD PTR -272[rbp]
	sal	eax, 31
	or	eax, edx
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -272[rbp]
	shr	eax
	mov	edx, eax
	mov	eax, DWORD PTR -268[rbp]
	sal	eax, 31
	or	eax, edx
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -268[rbp]
	shr	eax
	mov	edx, eax
	mov	eax, DWORD PTR -264[rbp]
	sal	eax, 31
	or	eax, edx
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -264[rbp]
	shr	eax
	mov	edx, eax
	mov	eax, DWORD PTR -260[rbp]
	sal	eax, 31
	or	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -260[rbp]
	shr	eax
	mov	edx, eax
	mov	eax, DWORD PTR -256[rbp]
	sal	eax, 31
	or	eax, edx
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -256[rbp]
	shr	eax
	mov	edx, eax
	mov	eax, DWORD PTR -252[rbp]
	sal	eax, 31
	or	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -252[rbp]
	shr	eax
	mov	edx, eax
	mov	eax, DWORD PTR -248[rbp]
	sal	eax, 31
	or	eax, edx
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -248[rbp]
	and	eax, -2147483648
	mov	edx, eax
	mov	eax, DWORD PTR -248[rbp]
	shr	eax
	or	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	ecx, DWORD PTR -484[rbp]
	mov	edx, DWORD PTR -452[rbp]
	movzx	eax, BYTE PTR -682[rbp]
	movzx	esi, al
	lea	rax, -140[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -480[rbp]
	mov	edx, DWORD PTR -448[rbp]
	movzx	eax, BYTE PTR -682[rbp]
	movzx	esi, al
	lea	rax, -136[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -476[rbp]
	mov	edx, DWORD PTR -444[rbp]
	movzx	eax, BYTE PTR -682[rbp]
	movzx	esi, al
	lea	rax, -132[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -472[rbp]
	mov	edx, DWORD PTR -440[rbp]
	movzx	eax, BYTE PTR -682[rbp]
	movzx	esi, al
	lea	rax, -128[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -468[rbp]
	mov	edx, DWORD PTR -436[rbp]
	movzx	eax, BYTE PTR -682[rbp]
	movzx	esi, al
	lea	rax, -124[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -464[rbp]
	mov	edx, DWORD PTR -432[rbp]
	movzx	eax, BYTE PTR -682[rbp]
	movzx	esi, al
	lea	rax, -120[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -460[rbp]
	mov	edx, DWORD PTR -428[rbp]
	movzx	eax, BYTE PTR -682[rbp]
	movzx	esi, al
	lea	rax, -116[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -456[rbp]
	mov	edx, DWORD PTR -424[rbp]
	movzx	eax, BYTE PTR -682[rbp]
	movzx	esi, al
	lea	rax, -112[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -212[rbp]
	mov	edx, DWORD PTR -180[rbp]
	movzx	eax, BYTE PTR -640[rbp]
	movzx	esi, al
	lea	rax, -108[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -208[rbp]
	mov	edx, DWORD PTR -176[rbp]
	movzx	eax, BYTE PTR -640[rbp]
	movzx	esi, al
	lea	rax, -104[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -204[rbp]
	mov	edx, DWORD PTR -172[rbp]
	movzx	eax, BYTE PTR -640[rbp]
	movzx	esi, al
	lea	rax, -100[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -200[rbp]
	mov	edx, DWORD PTR -168[rbp]
	movzx	eax, BYTE PTR -640[rbp]
	movzx	esi, al
	lea	rax, -96[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -196[rbp]
	mov	edx, DWORD PTR -164[rbp]
	movzx	eax, BYTE PTR -640[rbp]
	movzx	esi, al
	lea	rax, -92[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -192[rbp]
	mov	edx, DWORD PTR -160[rbp]
	movzx	eax, BYTE PTR -640[rbp]
	movzx	esi, al
	lea	rax, -88[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -188[rbp]
	mov	edx, DWORD PTR -156[rbp]
	movzx	eax, BYTE PTR -640[rbp]
	movzx	esi, al
	lea	rax, -84[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	ecx, DWORD PTR -184[rbp]
	mov	edx, DWORD PTR -152[rbp]
	movzx	eax, BYTE PTR -640[rbp]
	movzx	esi, al
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	fiat_secp256k1_cmovznz_u32
	mov	edx, DWORD PTR -144[rbp]
	mov	rax, QWORD PTR -728[rbp]
	mov	DWORD PTR [rax], edx
	mov	edx, DWORD PTR -624[rbp]
	mov	rax, QWORD PTR -736[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -736[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -620[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -736[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -616[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -736[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -612[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -736[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -608[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -736[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -604[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -736[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -600[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -736[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -596[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -736[rbp]
	lea	rdx, 32[rax]
	mov	eax, DWORD PTR -592[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -744[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -744[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -744[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -744[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -744[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -744[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -744[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -744[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -744[rbp]
	lea	rdx, 32[rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	mov	edx, DWORD PTR -140[rbp]
	mov	rax, QWORD PTR -752[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -752[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -136[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -752[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -132[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -752[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -128[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -752[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -124[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -752[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -120[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -752[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -116[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -752[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -112[rbp]
	mov	DWORD PTR [rdx], eax
	mov	edx, DWORD PTR -108[rbp]
	mov	rax, QWORD PTR -760[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -760[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -104[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -760[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -100[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -760[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -96[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -760[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -92[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -760[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -88[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -760[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -84[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -760[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -80[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L29
	call	__stack_chk_fail@PLT
.L29:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	fiat_secp256k1_divstep, .-fiat_secp256k1_divstep
	.type	fiat_secp256k1_divstep_precomp, @function
fiat_secp256k1_divstep_precomp:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 827481610
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 4
	mov	DWORD PTR [rax], -234773480
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 8
	mov	DWORD PTR [rax], -849048187
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 12
	mov	DWORD PTR [rax], -1722549795
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 16
	mov	DWORD PTR [rax], 1035079849
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 20
	mov	DWORD PTR [rax], -396351162
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 24
	mov	DWORD PTR [rax], 78657289
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 28
	mov	DWORD PTR [rax], 620464689
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	fiat_secp256k1_divstep_precomp, .-fiat_secp256k1_divstep_precomp
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.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, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"272083.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_value_barrier_u32, %function
fiat_secp256k1_value_barrier_u32:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	fiat_secp256k1_value_barrier_u32, .-fiat_secp256k1_value_barrier_u32
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_addcarryx_u32, %function
fiat_secp256k1_addcarryx_u32:
	@ args = 4, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, r7, fp}
	add	fp, sp, #16
	sub	sp, sp, #36
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r3, [fp, #-52]
	mov	r3, r2
	strb	r3, [fp, #-45]
	ldrb	r0, [fp, #-45]	@ zero_extendqisi2
	mov	r1, #0
	ldr	r3, [fp, #-52]
	mov	r2, r3
	mov	r3, #0
	adds	r4, r0, r2
	adc	r5, r1, r3
	ldr	r3, [fp, #4]
	mov	r2, r3
	mov	r3, #0
	adds	r6, r4, r2
	adc	r7, r5, r3
	str	r6, [fp, #-28]
	str	r7, [fp, #-24]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-32]
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	mov	r2, r1
	mov	r3, #0
	mov	r3, r2
	strb	r3, [fp, #-33]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	ldrb	r2, [fp, #-33]
	strb	r2, [r3]
	nop
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, r7, fp}
	bx	lr
	.size	fiat_secp256k1_addcarryx_u32, .-fiat_secp256k1_addcarryx_u32
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_subborrowx_u32, %function
fiat_secp256k1_subborrowx_u32:
	@ args = 4, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, r7, fp}
	add	fp, sp, #16
	sub	sp, sp, #36
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r3, [fp, #-52]
	mov	r3, r2
	strb	r3, [fp, #-45]
	ldr	r3, [fp, #-52]
	mov	r0, r3
	mov	r1, #0
	ldrb	r2, [fp, #-45]	@ zero_extendqisi2
	mov	r3, #0
	subs	r4, r0, r2
	sbc	r5, r1, r3
	ldr	r3, [fp, #4]
	mov	r2, r3
	mov	r3, #0
	subs	r6, r4, r2
	sbc	r7, r5, r3
	str	r6, [fp, #-28]
	str	r7, [fp, #-24]
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	mov	r2, r1
	asr	r3, r1, #31
	mov	r3, r2
	strb	r3, [fp, #-33]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	rsb	r3, r3, #0
	and	r2, r3, #255
	ldr	r3, [fp, #-44]
	strb	r2, [r3]
	nop
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, r7, fp}
	bx	lr
	.size	fiat_secp256k1_subborrowx_u32, .-fiat_secp256k1_subborrowx_u32
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_mulx_u32, %function
fiat_secp256k1_mulx_u32:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, fp}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-40]
	mov	r4, r3
	mov	r5, #0
	ldr	r3, [fp, #-44]
	mov	r0, r3
	mov	r1, #0
	mul	r2, r0, r5
	mul	r3, r4, r1
	add	ip, r2, r3
	umull	r2, r3, r4, r0
	add	r1, ip, r3
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-28]
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	mov	r2, r1
	mov	r3, #0
	mov	r3, r2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, r5, fp}
	bx	lr
	.size	fiat_secp256k1_mulx_u32, .-fiat_secp256k1_mulx_u32
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_cmovznz_u32, %function
fiat_secp256k1_cmovznz_u32:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-32]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	mov	r3, r1
	strb	r3, [fp, #-33]
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	strb	r3, [fp, #-21]
	ldrb	r3, [fp, #-21]
	rsb	r3, r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	str	r3, [fp, #-20]
	ldr	r0, [fp, #-20]
	bl	fiat_secp256k1_value_barrier_u32
	mov	r2, r0
	ldr	r3, [fp, #-44]
	and	r4, r2, r3
	ldr	r3, [fp, #-20]
	mvn	r3, r3
	mov	r0, r3
	bl	fiat_secp256k1_value_barrier_u32
	mov	r2, r0
	ldr	r3, [fp, #-40]
	and	r3, r3, r2
	orr	r3, r4, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	fiat_secp256k1_cmovznz_u32, .-fiat_secp256k1_cmovznz_u32
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_mul, %function
fiat_secp256k1_mul:
	@ args = 0, pretend = 0, frame = 2544
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #2544
	sub	sp, sp, #8
	str	r0, [fp, #-2536]
	str	r1, [fp, #-2540]
	str	r2, [fp, #-2544]
	ldr	r3, .L9
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-2544]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #2256
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2272
	sub	r0, r0, #4
	ldr	r2, [fp, #-104]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #2256
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2256
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-104]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #2240
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2256
	sub	r0, r0, #4
	ldr	r2, [fp, #-104]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #2240
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2240
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-104]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #2224
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2240
	sub	r0, r0, #4
	ldr	r2, [fp, #-104]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #2224
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2224
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-104]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #2208
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2224
	sub	r0, r0, #4
	ldr	r2, [fp, #-104]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	ldr	r3, [r3]
	sub	r1, fp, #2208
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2208
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-104]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2216]
	ldr	r3, [fp, #-2228]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r0, fp, #2208
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2532]	@ zero_extendqisi2
	ldr	ip, [fp, #-2224]
	ldr	r3, [fp, #-2236]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #2192
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2531]	@ zero_extendqisi2
	ldr	ip, [fp, #-2232]
	ldr	r3, [fp, #-2244]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #2192
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2530]	@ zero_extendqisi2
	ldr	ip, [fp, #-2240]
	ldr	r3, [fp, #-2252]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #2192
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2529]	@ zero_extendqisi2
	ldr	ip, [fp, #-2248]
	ldr	r3, [fp, #-2260]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2192
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2528]	@ zero_extendqisi2
	ldr	ip, [fp, #-2256]
	ldr	r3, [fp, #-2268]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #2176
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2527]	@ zero_extendqisi2
	ldr	ip, [fp, #-2264]
	ldr	r3, [fp, #-2276]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #2176
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2526]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2272]
	add	r3, r2, r3
	str	r3, [fp, #-100]
	ldr	r2, [fp, #-2220]
	sub	r1, fp, #2176
	sub	r1, r1, #4
	sub	r0, fp, #2176
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, .L9+4
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2184]
	sub	r1, fp, #2160
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2160
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2184]
	sub	r1, fp, #2160
	sub	r1, r1, #4
	sub	r0, fp, #2160
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2184]
	sub	r1, fp, #2144
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2144
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2184]
	sub	r1, fp, #2144
	sub	r1, r1, #4
	sub	r0, fp, #2144
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2184]
	sub	r1, fp, #2128
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2128
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2184]
	sub	r1, fp, #2128
	sub	r1, r1, #4
	sub	r0, fp, #2128
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2184]
	sub	r1, fp, #2112
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2112
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2184]
	sub	r1, fp, #2112
	sub	r1, r1, #4
	sub	r0, fp, #2112
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2116]
	ldr	r3, [fp, #-2128]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #2096
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2525]	@ zero_extendqisi2
	ldr	ip, [fp, #-2124]
	ldr	r3, [fp, #-2136]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2096
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2524]	@ zero_extendqisi2
	ldr	ip, [fp, #-2132]
	ldr	r3, [fp, #-2144]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #2096
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2523]	@ zero_extendqisi2
	ldr	ip, [fp, #-2140]
	ldr	r3, [fp, #-2152]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #2096
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2522]	@ zero_extendqisi2
	ldr	ip, [fp, #-2148]
	ldr	r3, [fp, #-2160]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #2080
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2521]	@ zero_extendqisi2
	ldr	ip, [fp, #-2156]
	ldr	r3, [fp, #-2168]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2080
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2520]	@ zero_extendqisi2
	ldr	ip, [fp, #-2164]
	ldr	r3, [fp, #-2176]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #2080
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2519]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2172]
	add	r3, r2, r3
	str	r3, [fp, #-96]
	ldr	r2, [fp, #-2220]
	ldr	r3, [fp, #-2120]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #2080
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2518]	@ zero_extendqisi2
	ldr	ip, [fp, #-2212]
	ldr	r3, [fp, #-2112]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #2064
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2517]	@ zero_extendqisi2
	ldr	ip, [fp, #-2208]
	ldr	r3, [fp, #-2108]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r0, fp, #2064
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2516]	@ zero_extendqisi2
	ldr	ip, [fp, #-2204]
	ldr	r3, [fp, #-2104]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #2064
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2515]	@ zero_extendqisi2
	ldr	ip, [fp, #-2200]
	ldr	r3, [fp, #-2100]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #2064
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2514]	@ zero_extendqisi2
	ldr	ip, [fp, #-2196]
	ldr	r3, [fp, #-2096]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #2048
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2513]	@ zero_extendqisi2
	ldr	ip, [fp, #-2192]
	ldr	r3, [fp, #-2092]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2048
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2512]	@ zero_extendqisi2
	ldr	ip, [fp, #-2188]
	ldr	r3, [fp, #-2088]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #2048
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2511]	@ zero_extendqisi2
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #2048
	sub	r0, r0, #4
	ldr	r3, [fp, #-96]
	str	r3, [sp]
	ldr	r3, [fp, #-100]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #2032
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2032
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-132]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #2032
	sub	r1, r1, #4
	sub	r0, fp, #2032
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-132]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #2016
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2016
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-132]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #2016
	sub	r1, r1, #4
	sub	r0, fp, #2016
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-132]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #2000
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2000
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-132]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #2000
	sub	r1, r1, #4
	sub	r0, fp, #2000
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-132]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #1984
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1984
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-132]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	ldr	r3, [r3]
	sub	r1, fp, #1984
	sub	r1, r1, #4
	sub	r0, fp, #1984
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-132]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1988]
	ldr	r3, [fp, #-2000]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1968
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2509]	@ zero_extendqisi2
	ldr	ip, [fp, #-1996]
	ldr	r3, [fp, #-2008]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1968
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2508]	@ zero_extendqisi2
	ldr	ip, [fp, #-2004]
	ldr	r3, [fp, #-2016]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1968
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2507]	@ zero_extendqisi2
	ldr	ip, [fp, #-2012]
	ldr	r3, [fp, #-2024]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1968
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2506]	@ zero_extendqisi2
	ldr	ip, [fp, #-2020]
	ldr	r3, [fp, #-2032]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1952
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2505]	@ zero_extendqisi2
	ldr	ip, [fp, #-2028]
	ldr	r3, [fp, #-2040]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1952
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2504]	@ zero_extendqisi2
	ldr	ip, [fp, #-2036]
	ldr	r3, [fp, #-2048]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1952
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2503]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2044]
	add	r3, r2, r3
	str	r3, [fp, #-92]
	ldr	r2, [fp, #-2080]
	ldr	r3, [fp, #-1992]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1952
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2502]	@ zero_extendqisi2
	ldr	ip, [fp, #-2076]
	ldr	r3, [fp, #-1984]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1936
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2501]	@ zero_extendqisi2
	ldr	ip, [fp, #-2072]
	ldr	r3, [fp, #-1980]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r0, fp, #1936
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2500]	@ zero_extendqisi2
	ldr	ip, [fp, #-2068]
	ldr	r3, [fp, #-1976]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1936
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2499]	@ zero_extendqisi2
	ldr	ip, [fp, #-2064]
	ldr	r3, [fp, #-1972]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1936
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2498]	@ zero_extendqisi2
	ldr	ip, [fp, #-2060]
	ldr	r3, [fp, #-1968]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1920
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2497]	@ zero_extendqisi2
	ldr	ip, [fp, #-2056]
	ldr	r3, [fp, #-1964]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1920
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2496]	@ zero_extendqisi2
	ldr	ip, [fp, #-2052]
	ldr	r3, [fp, #-1960]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1920
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2495]	@ zero_extendqisi2
	ldrb	r3, [fp, #-2510]	@ zero_extendqisi2
	mov	ip, r3
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1920
	sub	r0, r0, #4
	ldr	r3, [fp, #-92]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1956]
	sub	r1, fp, #1904
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1904
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r3, .L9+4
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1920]
	sub	r1, fp, #1904
	sub	r1, r1, #4
	sub	r0, fp, #1904
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1920]
	sub	r1, fp, #1888
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1888
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1920]
	sub	r1, fp, #1888
	sub	r1, r1, #4
	sub	r0, fp, #1888
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1920]
	sub	r1, fp, #1872
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1872
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1920]
	sub	r1, fp, #1872
	sub	r1, r1, #4
	sub	r0, fp, #1872
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1920]
	sub	r1, fp, #1856
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1856
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1920]
	sub	r1, fp, #1856
	sub	r1, r1, #4
	sub	r0, fp, #1856
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1920]
	sub	r1, fp, #1840
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1840
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1852]
	ldr	r3, [fp, #-1864]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1840
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2493]	@ zero_extendqisi2
	ldr	ip, [fp, #-1860]
	ldr	r3, [fp, #-1872]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1840
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2492]	@ zero_extendqisi2
	ldr	ip, [fp, #-1868]
	ldr	r3, [fp, #-1880]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1824
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2491]	@ zero_extendqisi2
	ldr	ip, [fp, #-1876]
	ldr	r3, [fp, #-1888]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1824
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2490]	@ zero_extendqisi2
	ldr	ip, [fp, #-1884]
	ldr	r3, [fp, #-1896]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1824
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2489]	@ zero_extendqisi2
	ldr	ip, [fp, #-1892]
	ldr	r3, [fp, #-1904]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1824
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2488]	@ zero_extendqisi2
	ldr	ip, [fp, #-1900]
	ldr	r3, [fp, #-1912]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1808
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2487]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1908]
	add	r3, r2, r3
	str	r3, [fp, #-88]
	ldr	r2, [fp, #-1956]
	ldr	r3, [fp, #-1856]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1808
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2486]	@ zero_extendqisi2
	ldr	ip, [fp, #-1952]
	ldr	r3, [fp, #-1848]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1808
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2485]	@ zero_extendqisi2
	ldr	ip, [fp, #-1948]
	ldr	r3, [fp, #-1844]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r0, fp, #1808
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2484]	@ zero_extendqisi2
	ldr	ip, [fp, #-1944]
	ldr	r3, [fp, #-1840]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1792
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2483]	@ zero_extendqisi2
	ldr	ip, [fp, #-1940]
	ldr	r3, [fp, #-1836]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1792
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2482]	@ zero_extendqisi2
	ldr	ip, [fp, #-1936]
	ldr	r3, [fp, #-1832]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1792
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2481]	@ zero_extendqisi2
	ldr	ip, [fp, #-1932]
	ldr	r3, [fp, #-1828]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1792
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2480]	@ zero_extendqisi2
	ldr	ip, [fp, #-1928]
	ldr	r3, [fp, #-1824]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1776
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2479]	@ zero_extendqisi2
	ldr	ip, [fp, #-1924]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1776
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, [fp, #-88]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2478]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-2494]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-2544]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r0, fp, #1776
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-128]
	b	.L10
.L11:
	.align	2
.L9:
	.word	.LC0
	.word	-769313487
.L10:
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1760
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-128]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r0, fp, #1760
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-128]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1744
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-128]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r0, fp, #1744
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-128]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1728
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-128]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r0, fp, #1728
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-128]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	ldr	r3, [r3]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1712
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-128]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1724]
	ldr	r3, [fp, #-1736]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1712
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2477]	@ zero_extendqisi2
	ldr	ip, [fp, #-1732]
	ldr	r3, [fp, #-1744]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1712
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2476]	@ zero_extendqisi2
	ldr	ip, [fp, #-1740]
	ldr	r3, [fp, #-1752]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1696
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2475]	@ zero_extendqisi2
	ldr	ip, [fp, #-1748]
	ldr	r3, [fp, #-1760]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1696
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2474]	@ zero_extendqisi2
	ldr	ip, [fp, #-1756]
	ldr	r3, [fp, #-1768]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1696
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2473]	@ zero_extendqisi2
	ldr	ip, [fp, #-1764]
	ldr	r3, [fp, #-1776]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1696
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2472]	@ zero_extendqisi2
	ldr	ip, [fp, #-1772]
	ldr	r3, [fp, #-1784]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1680
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2471]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1780]
	add	r3, r2, r3
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-1816]
	ldr	r3, [fp, #-1728]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1680
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2470]	@ zero_extendqisi2
	ldr	ip, [fp, #-1812]
	ldr	r3, [fp, #-1720]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1680
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2469]	@ zero_extendqisi2
	ldr	ip, [fp, #-1808]
	ldr	r3, [fp, #-1716]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r0, fp, #1680
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2468]	@ zero_extendqisi2
	ldr	ip, [fp, #-1804]
	ldr	r3, [fp, #-1712]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1664
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2467]	@ zero_extendqisi2
	ldr	ip, [fp, #-1800]
	ldr	r3, [fp, #-1708]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1664
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2466]	@ zero_extendqisi2
	ldr	ip, [fp, #-1796]
	ldr	r3, [fp, #-1704]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1664
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2465]	@ zero_extendqisi2
	ldr	ip, [fp, #-1792]
	ldr	r3, [fp, #-1700]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1664
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2464]	@ zero_extendqisi2
	ldr	ip, [fp, #-1788]
	ldr	r3, [fp, #-1696]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1648
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2463]	@ zero_extendqisi2
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1648
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, [fp, #-80]
	str	r3, [sp]
	ldr	r3, [fp, #-84]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1692]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r0, fp, #1648
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, .L9+4
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1656]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1632
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1656]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r0, fp, #1632
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1656]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1616
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1656]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r0, fp, #1616
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1656]
	sub	r1, fp, #1600
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1656]
	sub	r1, fp, #1600
	sub	r1, r1, #4
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1656]
	sub	r1, fp, #1584
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1584
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1656]
	sub	r1, fp, #1584
	sub	r1, r1, #4
	sub	r0, fp, #1584
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1588]
	ldr	r3, [fp, #-1600]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1568
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2461]	@ zero_extendqisi2
	ldr	ip, [fp, #-1596]
	ldr	r3, [fp, #-1608]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1568
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2460]	@ zero_extendqisi2
	ldr	ip, [fp, #-1604]
	ldr	r3, [fp, #-1616]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1568
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2459]	@ zero_extendqisi2
	ldr	ip, [fp, #-1612]
	ldr	r3, [fp, #-1624]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1568
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2458]	@ zero_extendqisi2
	ldr	ip, [fp, #-1620]
	ldr	r3, [fp, #-1632]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1552
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2457]	@ zero_extendqisi2
	ldr	ip, [fp, #-1628]
	ldr	r3, [fp, #-1640]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1552
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2456]	@ zero_extendqisi2
	ldr	ip, [fp, #-1636]
	ldr	r3, [fp, #-1648]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1552
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2455]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1644]
	add	r3, r2, r3
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-1692]
	ldr	r3, [fp, #-1592]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1552
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2454]	@ zero_extendqisi2
	ldr	ip, [fp, #-1688]
	ldr	r3, [fp, #-1584]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1536
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2453]	@ zero_extendqisi2
	ldr	ip, [fp, #-1684]
	ldr	r3, [fp, #-1580]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r0, fp, #1536
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2452]	@ zero_extendqisi2
	ldr	ip, [fp, #-1680]
	ldr	r3, [fp, #-1576]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1536
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2451]	@ zero_extendqisi2
	ldr	ip, [fp, #-1676]
	ldr	r3, [fp, #-1572]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1536
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2450]	@ zero_extendqisi2
	ldr	ip, [fp, #-1672]
	ldr	r3, [fp, #-1568]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1520
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2449]	@ zero_extendqisi2
	ldr	ip, [fp, #-1668]
	ldr	r3, [fp, #-1564]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1520
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2448]	@ zero_extendqisi2
	ldr	ip, [fp, #-1664]
	ldr	r3, [fp, #-1560]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1520
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2447]	@ zero_extendqisi2
	ldr	ip, [fp, #-1660]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1520
	sub	r0, r0, #4
	ldr	r3, [fp, #-76]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2446]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-2462]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-2544]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1504
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-124]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r0, fp, #1504
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-124]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1488
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-124]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r0, fp, #1488
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-124]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1472
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-124]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r0, fp, #1472
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-124]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1456
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-124]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	ldr	r3, [r3]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r0, fp, #1456
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-124]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1460]
	ldr	r3, [fp, #-1472]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2445]	@ zero_extendqisi2
	ldr	ip, [fp, #-1468]
	ldr	r3, [fp, #-1480]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2444]	@ zero_extendqisi2
	ldr	ip, [fp, #-1476]
	ldr	r3, [fp, #-1488]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2443]	@ zero_extendqisi2
	ldr	ip, [fp, #-1484]
	ldr	r3, [fp, #-1496]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1440
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2442]	@ zero_extendqisi2
	ldr	ip, [fp, #-1492]
	ldr	r3, [fp, #-1504]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2441]	@ zero_extendqisi2
	ldr	ip, [fp, #-1500]
	ldr	r3, [fp, #-1512]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2440]	@ zero_extendqisi2
	ldr	ip, [fp, #-1508]
	ldr	r3, [fp, #-1520]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2439]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1516]
	add	r3, r2, r3
	str	r3, [fp, #-68]
	ldr	r2, [fp, #-1552]
	ldr	r3, [fp, #-1464]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1424
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2438]	@ zero_extendqisi2
	ldr	ip, [fp, #-1548]
	ldr	r3, [fp, #-1456]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2437]	@ zero_extendqisi2
	ldr	ip, [fp, #-1544]
	ldr	r3, [fp, #-1452]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2436]	@ zero_extendqisi2
	ldr	ip, [fp, #-1540]
	ldr	r3, [fp, #-1448]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2435]	@ zero_extendqisi2
	ldr	ip, [fp, #-1536]
	ldr	r3, [fp, #-1444]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1408
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2434]	@ zero_extendqisi2
	ldr	ip, [fp, #-1532]
	ldr	r3, [fp, #-1440]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2433]	@ zero_extendqisi2
	ldr	ip, [fp, #-1528]
	ldr	r3, [fp, #-1436]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2432]	@ zero_extendqisi2
	ldr	ip, [fp, #-1524]
	ldr	r3, [fp, #-1432]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2431]	@ zero_extendqisi2
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1392
	sub	r0, r0, #4
	ldr	r3, [fp, #-68]
	str	r3, [sp]
	ldr	r3, [fp, #-72]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1428]
	sub	r1, fp, #1376
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1376
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r3, .L9+4
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1376
	sub	r1, r1, #4
	sub	r0, fp, #1376
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1360
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1360
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1360
	sub	r1, r1, #4
	sub	r0, fp, #1360
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1344
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1344
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1344
	sub	r1, r1, #4
	sub	r0, fp, #1344
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1328
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1328
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1328
	sub	r1, r1, #4
	sub	r0, fp, #1328
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1312
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1312
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1324]
	ldr	r3, [fp, #-1336]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1312
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2429]	@ zero_extendqisi2
	ldr	ip, [fp, #-1332]
	ldr	r3, [fp, #-1344]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1312
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2428]	@ zero_extendqisi2
	ldr	ip, [fp, #-1340]
	ldr	r3, [fp, #-1352]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1296
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2427]	@ zero_extendqisi2
	ldr	ip, [fp, #-1348]
	ldr	r3, [fp, #-1360]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1296
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2426]	@ zero_extendqisi2
	ldr	ip, [fp, #-1356]
	ldr	r3, [fp, #-1368]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1296
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2425]	@ zero_extendqisi2
	ldr	ip, [fp, #-1364]
	ldr	r3, [fp, #-1376]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1296
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2424]	@ zero_extendqisi2
	ldr	ip, [fp, #-1372]
	ldr	r3, [fp, #-1384]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1280
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2423]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1380]
	add	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-1428]
	ldr	r3, [fp, #-1328]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1280
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2422]	@ zero_extendqisi2
	ldr	ip, [fp, #-1424]
	ldr	r3, [fp, #-1320]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1280
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2421]	@ zero_extendqisi2
	ldr	ip, [fp, #-1420]
	ldr	r3, [fp, #-1316]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r0, fp, #1280
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2420]	@ zero_extendqisi2
	ldr	ip, [fp, #-1416]
	ldr	r3, [fp, #-1312]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1264
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2419]	@ zero_extendqisi2
	ldr	ip, [fp, #-1412]
	ldr	r3, [fp, #-1308]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1264
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2418]	@ zero_extendqisi2
	ldr	ip, [fp, #-1408]
	ldr	r3, [fp, #-1304]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1264
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2417]	@ zero_extendqisi2
	ldr	ip, [fp, #-1404]
	ldr	r3, [fp, #-1300]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1264
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2416]	@ zero_extendqisi2
	ldr	ip, [fp, #-1400]
	ldr	r3, [fp, #-1296]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2415]	@ zero_extendqisi2
	ldr	ip, [fp, #-1396]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, [fp, #-64]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2414]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-2430]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-2544]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #1248
	sub	r1, r1, #4
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-120]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #1232
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-120]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #1232
	sub	r1, r1, #4
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-120]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #1216
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-120]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #1216
	sub	r1, r1, #4
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-120]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #1200
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-120]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #1200
	sub	r1, r1, #4
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-120]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	ldr	r3, [r3]
	sub	r1, fp, #1184
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1184
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-120]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1196]
	ldr	r3, [fp, #-1208]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1184
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2413]	@ zero_extendqisi2
	ldr	ip, [fp, #-1204]
	ldr	r3, [fp, #-1216]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1184
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2412]	@ zero_extendqisi2
	ldr	ip, [fp, #-1212]
	ldr	r3, [fp, #-1224]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2411]	@ zero_extendqisi2
	ldr	ip, [fp, #-1220]
	ldr	r3, [fp, #-1232]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2410]	@ zero_extendqisi2
	ldr	ip, [fp, #-1228]
	ldr	r3, [fp, #-1240]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2409]	@ zero_extendqisi2
	ldr	ip, [fp, #-1236]
	ldr	r3, [fp, #-1248]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1168
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2408]	@ zero_extendqisi2
	ldr	ip, [fp, #-1244]
	ldr	r3, [fp, #-1256]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1152
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2407]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1252]
	add	r3, r2, r3
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-1288]
	ldr	r3, [fp, #-1200]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1152
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2406]	@ zero_extendqisi2
	ldr	ip, [fp, #-1284]
	ldr	r3, [fp, #-1192]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1152
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2405]	@ zero_extendqisi2
	ldr	ip, [fp, #-1280]
	ldr	r3, [fp, #-1188]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r0, fp, #1152
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2404]	@ zero_extendqisi2
	ldr	ip, [fp, #-1276]
	ldr	r3, [fp, #-1184]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1136
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2403]	@ zero_extendqisi2
	ldr	ip, [fp, #-1272]
	ldr	r3, [fp, #-1180]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1136
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2402]	@ zero_extendqisi2
	ldr	ip, [fp, #-1268]
	ldr	r3, [fp, #-1176]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1136
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2401]	@ zero_extendqisi2
	ldr	ip, [fp, #-1264]
	ldr	r3, [fp, #-1172]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1136
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2400]	@ zero_extendqisi2
	ldr	ip, [fp, #-1260]
	ldr	r3, [fp, #-1168]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1120
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2399]	@ zero_extendqisi2
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1120
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, [fp, #-56]
	str	r3, [sp]
	ldr	r3, [fp, #-60]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1164]
	sub	r1, fp, #1120
	sub	r1, r1, #4
	sub	r0, fp, #1120
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, .L12
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1128]
	sub	r1, fp, #1104
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1104
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1128]
	sub	r1, fp, #1104
	sub	r1, r1, #4
	sub	r0, fp, #1104
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1128]
	sub	r1, fp, #1088
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1088
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1128]
	sub	r1, fp, #1088
	sub	r1, r1, #4
	sub	r0, fp, #1088
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1128]
	sub	r1, fp, #1072
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1128]
	sub	r1, fp, #1072
	sub	r1, r1, #4
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1128]
	sub	r1, fp, #1056
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1056
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1128]
	sub	r1, fp, #1056
	sub	r1, r1, #4
	sub	r0, fp, #1056
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1060]
	ldr	r3, [fp, #-1072]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2397]	@ zero_extendqisi2
	ldr	ip, [fp, #-1068]
	ldr	r3, [fp, #-1080]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2396]	@ zero_extendqisi2
	ldr	ip, [fp, #-1076]
	ldr	r3, [fp, #-1088]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2395]	@ zero_extendqisi2
	ldr	ip, [fp, #-1084]
	ldr	r3, [fp, #-1096]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1040
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2394]	@ zero_extendqisi2
	ldr	ip, [fp, #-1092]
	ldr	r3, [fp, #-1104]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2393]	@ zero_extendqisi2
	ldr	ip, [fp, #-1100]
	ldr	r3, [fp, #-1112]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2392]	@ zero_extendqisi2
	ldr	ip, [fp, #-1108]
	ldr	r3, [fp, #-1120]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2391]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1116]
	add	r3, r2, r3
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-1164]
	ldr	r3, [fp, #-1064]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1024
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2390]	@ zero_extendqisi2
	ldr	ip, [fp, #-1160]
	ldr	r3, [fp, #-1056]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1024
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2389]	@ zero_extendqisi2
	ldr	ip, [fp, #-1156]
	ldr	r3, [fp, #-1052]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r0, fp, #1020
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2388]	@ zero_extendqisi2
	ldr	ip, [fp, #-1152]
	ldr	r3, [fp, #-1048]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1016
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2387]	@ zero_extendqisi2
	ldr	ip, [fp, #-1148]
	ldr	r3, [fp, #-1044]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1012
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2386]	@ zero_extendqisi2
	ldr	ip, [fp, #-1144]
	ldr	r3, [fp, #-1040]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1008
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2385]	@ zero_extendqisi2
	ldr	ip, [fp, #-1140]
	ldr	r3, [fp, #-1036]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1004
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2384]	@ zero_extendqisi2
	ldr	ip, [fp, #-1136]
	ldr	r3, [fp, #-1032]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1000
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2383]	@ zero_extendqisi2
	ldr	ip, [fp, #-1132]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #996
	ldr	r3, [fp, #-52]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2382]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-2398]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-2544]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #988
	sub	r0, fp, #992
	ldr	r2, [fp, #-116]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #980
	sub	r0, fp, #984
	ldr	r2, [fp, #-116]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #972
	sub	r0, fp, #976
	ldr	r2, [fp, #-116]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #964
	sub	r0, fp, #968
	ldr	r2, [fp, #-116]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #956
	sub	r0, fp, #960
	ldr	r2, [fp, #-116]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #948
	sub	r0, fp, #952
	ldr	r2, [fp, #-116]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #940
	sub	r0, fp, #944
	ldr	r2, [fp, #-116]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	ldr	r3, [r3]
	sub	r1, fp, #932
	sub	r0, fp, #936
	ldr	r2, [fp, #-116]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-932]
	ldr	r3, [fp, #-944]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #928
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2381]	@ zero_extendqisi2
	ldr	ip, [fp, #-940]
	ldr	r3, [fp, #-952]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #924
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2380]	@ zero_extendqisi2
	ldr	ip, [fp, #-948]
	ldr	r3, [fp, #-960]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #920
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2379]	@ zero_extendqisi2
	ldr	ip, [fp, #-956]
	ldr	r3, [fp, #-968]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #916
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2378]	@ zero_extendqisi2
	ldr	ip, [fp, #-964]
	ldr	r3, [fp, #-976]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #912
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2377]	@ zero_extendqisi2
	ldr	ip, [fp, #-972]
	ldr	r3, [fp, #-984]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #908
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2376]	@ zero_extendqisi2
	ldr	ip, [fp, #-980]
	ldr	r3, [fp, #-992]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #904
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2375]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-988]
	add	r3, r2, r3
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-1024]
	ldr	r3, [fp, #-936]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #900
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2374]	@ zero_extendqisi2
	ldr	ip, [fp, #-1020]
	ldr	r3, [fp, #-928]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #896
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2373]	@ zero_extendqisi2
	ldr	ip, [fp, #-1016]
	ldr	r3, [fp, #-924]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r0, fp, #892
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2372]	@ zero_extendqisi2
	ldr	ip, [fp, #-1012]
	ldr	r3, [fp, #-920]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #888
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2371]	@ zero_extendqisi2
	ldr	ip, [fp, #-1008]
	ldr	r3, [fp, #-916]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #884
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2370]	@ zero_extendqisi2
	ldr	ip, [fp, #-1004]
	ldr	r3, [fp, #-912]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #880
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2369]	@ zero_extendqisi2
	ldr	ip, [fp, #-1000]
	ldr	r3, [fp, #-908]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #876
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2368]	@ zero_extendqisi2
	ldr	ip, [fp, #-996]
	ldr	r3, [fp, #-904]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #872
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2367]	@ zero_extendqisi2
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #868
	ldr	r3, [fp, #-44]
	str	r3, [sp]
	ldr	r3, [fp, #-48]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-900]
	sub	r1, fp, #860
	sub	r0, fp, #864
	ldr	r3, .L12
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	sub	r1, fp, #852
	sub	r0, fp, #856
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	sub	r1, fp, #844
	sub	r0, fp, #848
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	sub	r1, fp, #836
	sub	r0, fp, #840
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	sub	r1, fp, #828
	sub	r0, fp, #832
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	sub	r1, fp, #820
	sub	r0, fp, #824
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	sub	r1, fp, #812
	sub	r0, fp, #816
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	sub	r1, fp, #804
	sub	r0, fp, #808
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	sub	r1, fp, #796
	sub	r0, fp, #800
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-796]
	ldr	r3, [fp, #-808]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #792
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2365]	@ zero_extendqisi2
	ldr	ip, [fp, #-804]
	ldr	r3, [fp, #-816]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #788
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2364]	@ zero_extendqisi2
	ldr	ip, [fp, #-812]
	ldr	r3, [fp, #-824]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #784
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2363]	@ zero_extendqisi2
	ldr	ip, [fp, #-820]
	ldr	r3, [fp, #-832]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #780
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2362]	@ zero_extendqisi2
	ldr	ip, [fp, #-828]
	ldr	r3, [fp, #-840]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #776
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2361]	@ zero_extendqisi2
	ldr	ip, [fp, #-836]
	ldr	r3, [fp, #-848]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #772
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2360]	@ zero_extendqisi2
	ldr	ip, [fp, #-844]
	ldr	r3, [fp, #-856]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #768
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2359]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-852]
	add	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-900]
	ldr	r3, [fp, #-800]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #764
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2358]	@ zero_extendqisi2
	ldr	ip, [fp, #-896]
	ldr	r3, [fp, #-792]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #760
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2357]	@ zero_extendqisi2
	ldr	ip, [fp, #-892]
	ldr	r3, [fp, #-788]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r0, fp, #756
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2356]	@ zero_extendqisi2
	ldr	ip, [fp, #-888]
	ldr	r3, [fp, #-784]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #752
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2355]	@ zero_extendqisi2
	ldr	ip, [fp, #-884]
	ldr	r3, [fp, #-780]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #748
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2354]	@ zero_extendqisi2
	ldr	ip, [fp, #-880]
	ldr	r3, [fp, #-776]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #744
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2353]	@ zero_extendqisi2
	ldr	ip, [fp, #-876]
	ldr	r3, [fp, #-772]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #740
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2352]	@ zero_extendqisi2
	ldr	ip, [fp, #-872]
	ldr	r3, [fp, #-768]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #736
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2351]	@ zero_extendqisi2
	ldr	ip, [fp, #-868]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #732
	ldr	r3, [fp, #-40]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2350]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-2366]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-2544]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #724
	sub	r0, fp, #728
	ldr	r2, [fp, #-112]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #716
	sub	r0, fp, #720
	ldr	r2, [fp, #-112]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #708
	sub	r0, fp, #712
	ldr	r2, [fp, #-112]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #700
	sub	r0, fp, #704
	ldr	r2, [fp, #-112]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #692
	sub	r0, fp, #696
	ldr	r2, [fp, #-112]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #684
	sub	r0, fp, #688
	ldr	r2, [fp, #-112]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #676
	sub	r0, fp, #680
	ldr	r2, [fp, #-112]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	ldr	r3, [r3]
	sub	r1, fp, #668
	sub	r0, fp, #672
	ldr	r2, [fp, #-112]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-668]
	ldr	r3, [fp, #-680]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #664
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2349]	@ zero_extendqisi2
	ldr	ip, [fp, #-676]
	ldr	r3, [fp, #-688]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #660
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2348]	@ zero_extendqisi2
	ldr	ip, [fp, #-684]
	ldr	r3, [fp, #-696]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #656
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2347]	@ zero_extendqisi2
	ldr	ip, [fp, #-692]
	ldr	r3, [fp, #-704]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #652
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2346]	@ zero_extendqisi2
	ldr	ip, [fp, #-700]
	ldr	r3, [fp, #-712]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #648
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2345]	@ zero_extendqisi2
	ldr	ip, [fp, #-708]
	ldr	r3, [fp, #-720]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #644
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2344]	@ zero_extendqisi2
	ldr	ip, [fp, #-716]
	ldr	r3, [fp, #-728]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #640
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2343]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-724]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-760]
	ldr	r3, [fp, #-672]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #636
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2342]	@ zero_extendqisi2
	ldr	ip, [fp, #-756]
	ldr	r3, [fp, #-664]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #632
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2341]	@ zero_extendqisi2
	ldr	ip, [fp, #-752]
	ldr	r3, [fp, #-660]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r0, fp, #628
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2340]	@ zero_extendqisi2
	ldr	ip, [fp, #-748]
	ldr	r3, [fp, #-656]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #624
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2339]	@ zero_extendqisi2
	ldr	ip, [fp, #-744]
	ldr	r3, [fp, #-652]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #620
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2338]	@ zero_extendqisi2
	ldr	ip, [fp, #-740]
	ldr	r3, [fp, #-648]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #616
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2337]	@ zero_extendqisi2
	ldr	ip, [fp, #-736]
	ldr	r3, [fp, #-644]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #612
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2336]	@ zero_extendqisi2
	ldr	ip, [fp, #-732]
	ldr	r3, [fp, #-640]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #608
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2335]	@ zero_extendqisi2
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #604
	ldr	r3, [fp, #-32]
	str	r3, [sp]
	ldr	r3, [fp, #-36]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-636]
	sub	r1, fp, #596
	sub	r0, fp, #600
	ldr	r3, .L12
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-600]
	sub	r1, fp, #588
	sub	r0, fp, #592
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-600]
	sub	r1, fp, #580
	sub	r0, fp, #584
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-600]
	sub	r1, fp, #572
	sub	r0, fp, #576
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-600]
	sub	r1, fp, #564
	sub	r0, fp, #568
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-600]
	sub	r1, fp, #556
	sub	r0, fp, #560
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-600]
	sub	r1, fp, #548
	sub	r0, fp, #552
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-600]
	sub	r1, fp, #540
	sub	r0, fp, #544
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-600]
	sub	r1, fp, #532
	sub	r0, fp, #536
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-532]
	ldr	r3, [fp, #-544]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #528
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2333]	@ zero_extendqisi2
	ldr	ip, [fp, #-540]
	ldr	r3, [fp, #-552]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #524
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2332]	@ zero_extendqisi2
	ldr	ip, [fp, #-548]
	ldr	r3, [fp, #-560]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #520
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2331]	@ zero_extendqisi2
	ldr	ip, [fp, #-556]
	ldr	r3, [fp, #-568]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #516
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2330]	@ zero_extendqisi2
	ldr	ip, [fp, #-564]
	ldr	r3, [fp, #-576]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #512
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2329]	@ zero_extendqisi2
	ldr	ip, [fp, #-572]
	ldr	r3, [fp, #-584]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #508
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2328]	@ zero_extendqisi2
	ldr	ip, [fp, #-580]
	ldr	r3, [fp, #-592]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #504
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2327]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-588]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	b	.L13
.L14:
	.align	2
.L12:
	.word	-769313487
	.word	-769313487
	.word	.LC0
.L13:
	ldr	r2, [fp, #-636]
	ldr	r3, [fp, #-536]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #500
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2326]	@ zero_extendqisi2
	ldr	ip, [fp, #-632]
	ldr	r3, [fp, #-528]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #496
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2325]	@ zero_extendqisi2
	ldr	ip, [fp, #-628]
	ldr	r3, [fp, #-524]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r0, fp, #492
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2324]	@ zero_extendqisi2
	ldr	ip, [fp, #-624]
	ldr	r3, [fp, #-520]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #488
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2323]	@ zero_extendqisi2
	ldr	ip, [fp, #-620]
	ldr	r3, [fp, #-516]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #484
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2322]	@ zero_extendqisi2
	ldr	ip, [fp, #-616]
	ldr	r3, [fp, #-512]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #480
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2321]	@ zero_extendqisi2
	ldr	ip, [fp, #-612]
	ldr	r3, [fp, #-508]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #476
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2320]	@ zero_extendqisi2
	ldr	ip, [fp, #-608]
	ldr	r3, [fp, #-504]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #472
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2319]	@ zero_extendqisi2
	ldr	ip, [fp, #-604]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #468
	ldr	r3, [fp, #-28]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2318]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-2334]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-2544]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #460
	sub	r0, fp, #464
	ldr	r2, [fp, #-108]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #452
	sub	r0, fp, #456
	ldr	r2, [fp, #-108]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #444
	sub	r0, fp, #448
	ldr	r2, [fp, #-108]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #436
	sub	r0, fp, #440
	ldr	r2, [fp, #-108]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #428
	sub	r0, fp, #432
	ldr	r2, [fp, #-108]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #420
	sub	r0, fp, #424
	ldr	r2, [fp, #-108]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #412
	sub	r0, fp, #416
	ldr	r2, [fp, #-108]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2544]
	ldr	r3, [r3]
	sub	r1, fp, #404
	sub	r0, fp, #408
	ldr	r2, [fp, #-108]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-404]
	ldr	r3, [fp, #-416]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #400
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2317]	@ zero_extendqisi2
	ldr	ip, [fp, #-412]
	ldr	r3, [fp, #-424]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #396
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2316]	@ zero_extendqisi2
	ldr	ip, [fp, #-420]
	ldr	r3, [fp, #-432]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #392
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2315]	@ zero_extendqisi2
	ldr	ip, [fp, #-428]
	ldr	r3, [fp, #-440]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #388
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2314]	@ zero_extendqisi2
	ldr	ip, [fp, #-436]
	ldr	r3, [fp, #-448]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #384
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2313]	@ zero_extendqisi2
	ldr	ip, [fp, #-444]
	ldr	r3, [fp, #-456]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #380
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2312]	@ zero_extendqisi2
	ldr	ip, [fp, #-452]
	ldr	r3, [fp, #-464]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #376
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2311]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-460]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-496]
	ldr	r3, [fp, #-408]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #372
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2310]	@ zero_extendqisi2
	ldr	ip, [fp, #-492]
	ldr	r3, [fp, #-400]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #368
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2309]	@ zero_extendqisi2
	ldr	ip, [fp, #-488]
	ldr	r3, [fp, #-396]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r0, fp, #364
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2308]	@ zero_extendqisi2
	ldr	ip, [fp, #-484]
	ldr	r3, [fp, #-392]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #360
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2307]	@ zero_extendqisi2
	ldr	ip, [fp, #-480]
	ldr	r3, [fp, #-388]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #356
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2306]	@ zero_extendqisi2
	ldr	ip, [fp, #-476]
	ldr	r3, [fp, #-384]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #352
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2305]	@ zero_extendqisi2
	ldr	ip, [fp, #-472]
	ldr	r3, [fp, #-380]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #348
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2304]	@ zero_extendqisi2
	ldr	ip, [fp, #-468]
	ldr	r3, [fp, #-376]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #344
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2303]	@ zero_extendqisi2
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #340
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	ldr	r3, [fp, #-24]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-372]
	sub	r1, fp, #332
	sub	r0, fp, #336
	ldr	r3, .L12+4
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-336]
	sub	r1, fp, #324
	sub	r0, fp, #328
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-336]
	sub	r1, fp, #316
	sub	r0, fp, #320
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-336]
	sub	r1, fp, #308
	sub	r0, fp, #312
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-336]
	sub	r1, fp, #300
	sub	r0, fp, #304
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-336]
	sub	r1, fp, #292
	sub	r0, fp, #296
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-336]
	sub	r1, fp, #284
	sub	r0, fp, #288
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-336]
	sub	r1, fp, #276
	sub	r0, fp, #280
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-336]
	sub	r1, fp, #268
	sub	r0, fp, #272
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-268]
	ldr	r3, [fp, #-280]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #264
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2301]	@ zero_extendqisi2
	ldr	ip, [fp, #-276]
	ldr	r3, [fp, #-288]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #260
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2300]	@ zero_extendqisi2
	ldr	ip, [fp, #-284]
	ldr	r3, [fp, #-296]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #256
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2299]	@ zero_extendqisi2
	ldr	ip, [fp, #-292]
	ldr	r3, [fp, #-304]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #252
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2298]	@ zero_extendqisi2
	ldr	ip, [fp, #-300]
	ldr	r3, [fp, #-312]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #248
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2297]	@ zero_extendqisi2
	ldr	ip, [fp, #-308]
	ldr	r3, [fp, #-320]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #244
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2296]	@ zero_extendqisi2
	ldr	ip, [fp, #-316]
	ldr	r3, [fp, #-328]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #240
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2295]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-324]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-272]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #236
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2294]	@ zero_extendqisi2
	ldr	ip, [fp, #-368]
	ldr	r3, [fp, #-264]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #232
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2293]	@ zero_extendqisi2
	ldr	ip, [fp, #-364]
	ldr	r3, [fp, #-260]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r0, fp, #228
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2292]	@ zero_extendqisi2
	ldr	ip, [fp, #-360]
	ldr	r3, [fp, #-256]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #224
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2291]	@ zero_extendqisi2
	ldr	ip, [fp, #-356]
	ldr	r3, [fp, #-252]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #220
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2290]	@ zero_extendqisi2
	ldr	ip, [fp, #-352]
	ldr	r3, [fp, #-248]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #216
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2289]	@ zero_extendqisi2
	ldr	ip, [fp, #-348]
	ldr	r3, [fp, #-244]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #212
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2288]	@ zero_extendqisi2
	ldr	ip, [fp, #-344]
	ldr	r3, [fp, #-240]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #208
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2287]	@ zero_extendqisi2
	ldr	ip, [fp, #-340]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #204
	ldr	r3, [fp, #-16]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2286]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-2302]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-232]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #200
	mvn	r2, #976
	str	r2, [sp]
	mov	r2, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-2285]	@ zero_extendqisi2
	ldr	r3, [fp, #-228]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #196
	mvn	ip, #1
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-2284]	@ zero_extendqisi2
	ldr	r3, [fp, #-224]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #192
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-2283]	@ zero_extendqisi2
	ldr	r3, [fp, #-220]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #188
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-2282]	@ zero_extendqisi2
	ldr	r3, [fp, #-216]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #184
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-2281]	@ zero_extendqisi2
	ldr	r3, [fp, #-212]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #180
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-2280]	@ zero_extendqisi2
	ldr	r3, [fp, #-208]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #176
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-2279]	@ zero_extendqisi2
	ldr	r3, [fp, #-204]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #172
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-2278]	@ zero_extendqisi2
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #168
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-12]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r1, [fp, #-2277]	@ zero_extendqisi2
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-232]
	sub	r0, fp, #164
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-2277]	@ zero_extendqisi2
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-228]
	sub	r0, fp, #160
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-2277]	@ zero_extendqisi2
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-224]
	sub	r0, fp, #156
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-2277]	@ zero_extendqisi2
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-220]
	sub	r0, fp, #152
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-2277]	@ zero_extendqisi2
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-216]
	sub	r0, fp, #148
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-2277]	@ zero_extendqisi2
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-212]
	sub	r0, fp, #144
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-2277]	@ zero_extendqisi2
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-208]
	sub	r0, fp, #140
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-2277]	@ zero_extendqisi2
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-204]
	sub	r0, fp, #136
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r2, [fp, #-164]
	ldr	r3, [fp, #-2536]
	str	r2, [r3]
	ldr	r3, [fp, #-2536]
	add	r3, r3, #4
	ldr	r2, [fp, #-160]
	str	r2, [r3]
	ldr	r3, [fp, #-2536]
	add	r3, r3, #8
	ldr	r2, [fp, #-156]
	str	r2, [r3]
	ldr	r3, [fp, #-2536]
	add	r3, r3, #12
	ldr	r2, [fp, #-152]
	str	r2, [r3]
	ldr	r3, [fp, #-2536]
	add	r3, r3, #16
	ldr	r2, [fp, #-148]
	str	r2, [r3]
	ldr	r3, [fp, #-2536]
	add	r3, r3, #20
	ldr	r2, [fp, #-144]
	str	r2, [r3]
	ldr	r3, [fp, #-2536]
	add	r3, r3, #24
	ldr	r2, [fp, #-140]
	str	r2, [r3]
	ldr	r3, [fp, #-2536]
	add	r3, r3, #28
	ldr	r2, [fp, #-136]
	str	r2, [r3]
	nop
	ldr	r3, .L12+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L8
	bl	__stack_chk_fail
.L8:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	fiat_secp256k1_mul, .-fiat_secp256k1_mul
	.section	.rodata
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_square, %function
fiat_secp256k1_square:
	@ args = 0, pretend = 0, frame = 2536
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #2544
	str	r0, [fp, #-2536]
	str	r1, [fp, #-2540]
	ldr	r3, .L17
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-2540]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #2256
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2272
	sub	r0, r0, #4
	ldr	r2, [fp, #-104]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #2256
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2256
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-104]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #2240
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2256
	sub	r0, r0, #4
	ldr	r2, [fp, #-104]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #2240
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2240
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-104]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #2224
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2240
	sub	r0, r0, #4
	ldr	r2, [fp, #-104]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #2224
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2224
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-104]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #2208
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2224
	sub	r0, r0, #4
	ldr	r2, [fp, #-104]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3]
	sub	r1, fp, #2208
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2208
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-104]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2216]
	ldr	r3, [fp, #-2228]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r0, fp, #2208
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2532]	@ zero_extendqisi2
	ldr	ip, [fp, #-2224]
	ldr	r3, [fp, #-2236]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #2192
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2531]	@ zero_extendqisi2
	ldr	ip, [fp, #-2232]
	ldr	r3, [fp, #-2244]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #2192
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2530]	@ zero_extendqisi2
	ldr	ip, [fp, #-2240]
	ldr	r3, [fp, #-2252]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #2192
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2529]	@ zero_extendqisi2
	ldr	ip, [fp, #-2248]
	ldr	r3, [fp, #-2260]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2192
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2528]	@ zero_extendqisi2
	ldr	ip, [fp, #-2256]
	ldr	r3, [fp, #-2268]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #2176
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2527]	@ zero_extendqisi2
	ldr	ip, [fp, #-2264]
	ldr	r3, [fp, #-2276]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #2176
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2526]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2272]
	add	r3, r2, r3
	str	r3, [fp, #-100]
	ldr	r2, [fp, #-2220]
	sub	r1, fp, #2176
	sub	r1, r1, #4
	sub	r0, fp, #2176
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, .L17+4
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2184]
	sub	r1, fp, #2160
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2160
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2184]
	sub	r1, fp, #2160
	sub	r1, r1, #4
	sub	r0, fp, #2160
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2184]
	sub	r1, fp, #2144
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2144
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2184]
	sub	r1, fp, #2144
	sub	r1, r1, #4
	sub	r0, fp, #2144
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2184]
	sub	r1, fp, #2128
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2128
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2184]
	sub	r1, fp, #2128
	sub	r1, r1, #4
	sub	r0, fp, #2128
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2184]
	sub	r1, fp, #2112
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2112
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2184]
	sub	r1, fp, #2112
	sub	r1, r1, #4
	sub	r0, fp, #2112
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-2116]
	ldr	r3, [fp, #-2128]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #2096
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2525]	@ zero_extendqisi2
	ldr	ip, [fp, #-2124]
	ldr	r3, [fp, #-2136]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2096
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2524]	@ zero_extendqisi2
	ldr	ip, [fp, #-2132]
	ldr	r3, [fp, #-2144]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #2096
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2523]	@ zero_extendqisi2
	ldr	ip, [fp, #-2140]
	ldr	r3, [fp, #-2152]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #2096
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2522]	@ zero_extendqisi2
	ldr	ip, [fp, #-2148]
	ldr	r3, [fp, #-2160]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #2080
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2521]	@ zero_extendqisi2
	ldr	ip, [fp, #-2156]
	ldr	r3, [fp, #-2168]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2080
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2520]	@ zero_extendqisi2
	ldr	ip, [fp, #-2164]
	ldr	r3, [fp, #-2176]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #2080
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2519]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2172]
	add	r3, r2, r3
	str	r3, [fp, #-96]
	ldr	r2, [fp, #-2220]
	ldr	r3, [fp, #-2120]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #2080
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2518]	@ zero_extendqisi2
	ldr	ip, [fp, #-2212]
	ldr	r3, [fp, #-2112]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #2064
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2517]	@ zero_extendqisi2
	ldr	ip, [fp, #-2208]
	ldr	r3, [fp, #-2108]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r0, fp, #2064
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2516]	@ zero_extendqisi2
	ldr	ip, [fp, #-2204]
	ldr	r3, [fp, #-2104]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #2064
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2515]	@ zero_extendqisi2
	ldr	ip, [fp, #-2200]
	ldr	r3, [fp, #-2100]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #2064
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2514]	@ zero_extendqisi2
	ldr	ip, [fp, #-2196]
	ldr	r3, [fp, #-2096]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #2048
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2513]	@ zero_extendqisi2
	ldr	ip, [fp, #-2192]
	ldr	r3, [fp, #-2092]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2048
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2512]	@ zero_extendqisi2
	ldr	ip, [fp, #-2188]
	ldr	r3, [fp, #-2088]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #2048
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2511]	@ zero_extendqisi2
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #2048
	sub	r0, r0, #4
	ldr	r3, [fp, #-96]
	str	r3, [sp]
	ldr	r3, [fp, #-100]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #2032
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2032
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-132]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #2032
	sub	r1, r1, #4
	sub	r0, fp, #2032
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-132]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #2016
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2016
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-132]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #2016
	sub	r1, r1, #4
	sub	r0, fp, #2016
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-132]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #2000
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2000
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-132]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #2000
	sub	r1, r1, #4
	sub	r0, fp, #2000
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-132]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #1984
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1984
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-132]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3]
	sub	r1, fp, #1984
	sub	r1, r1, #4
	sub	r0, fp, #1984
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-132]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1988]
	ldr	r3, [fp, #-2000]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1968
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2509]	@ zero_extendqisi2
	ldr	ip, [fp, #-1996]
	ldr	r3, [fp, #-2008]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1968
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2508]	@ zero_extendqisi2
	ldr	ip, [fp, #-2004]
	ldr	r3, [fp, #-2016]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1968
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2507]	@ zero_extendqisi2
	ldr	ip, [fp, #-2012]
	ldr	r3, [fp, #-2024]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1968
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2506]	@ zero_extendqisi2
	ldr	ip, [fp, #-2020]
	ldr	r3, [fp, #-2032]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1952
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2505]	@ zero_extendqisi2
	ldr	ip, [fp, #-2028]
	ldr	r3, [fp, #-2040]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1952
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2504]	@ zero_extendqisi2
	ldr	ip, [fp, #-2036]
	ldr	r3, [fp, #-2048]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1952
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2503]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2044]
	add	r3, r2, r3
	str	r3, [fp, #-92]
	ldr	r2, [fp, #-2080]
	ldr	r3, [fp, #-1992]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1952
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2502]	@ zero_extendqisi2
	ldr	ip, [fp, #-2076]
	ldr	r3, [fp, #-1984]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1936
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2501]	@ zero_extendqisi2
	ldr	ip, [fp, #-2072]
	ldr	r3, [fp, #-1980]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r0, fp, #1936
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2500]	@ zero_extendqisi2
	ldr	ip, [fp, #-2068]
	ldr	r3, [fp, #-1976]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1936
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2499]	@ zero_extendqisi2
	ldr	ip, [fp, #-2064]
	ldr	r3, [fp, #-1972]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1936
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2498]	@ zero_extendqisi2
	ldr	ip, [fp, #-2060]
	ldr	r3, [fp, #-1968]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1920
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2497]	@ zero_extendqisi2
	ldr	ip, [fp, #-2056]
	ldr	r3, [fp, #-1964]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1920
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2496]	@ zero_extendqisi2
	ldr	ip, [fp, #-2052]
	ldr	r3, [fp, #-1960]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1920
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2495]	@ zero_extendqisi2
	ldrb	r3, [fp, #-2510]	@ zero_extendqisi2
	mov	ip, r3
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1920
	sub	r0, r0, #4
	ldr	r3, [fp, #-92]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1956]
	sub	r1, fp, #1904
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1904
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r3, .L17+4
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1920]
	sub	r1, fp, #1904
	sub	r1, r1, #4
	sub	r0, fp, #1904
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1920]
	sub	r1, fp, #1888
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1888
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1920]
	sub	r1, fp, #1888
	sub	r1, r1, #4
	sub	r0, fp, #1888
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1920]
	sub	r1, fp, #1872
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1872
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1920]
	sub	r1, fp, #1872
	sub	r1, r1, #4
	sub	r0, fp, #1872
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1920]
	sub	r1, fp, #1856
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1856
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1920]
	sub	r1, fp, #1856
	sub	r1, r1, #4
	sub	r0, fp, #1856
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1920]
	sub	r1, fp, #1840
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1840
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1852]
	ldr	r3, [fp, #-1864]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1840
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2493]	@ zero_extendqisi2
	ldr	ip, [fp, #-1860]
	ldr	r3, [fp, #-1872]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1840
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2492]	@ zero_extendqisi2
	ldr	ip, [fp, #-1868]
	ldr	r3, [fp, #-1880]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1824
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2491]	@ zero_extendqisi2
	ldr	ip, [fp, #-1876]
	ldr	r3, [fp, #-1888]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1824
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2490]	@ zero_extendqisi2
	ldr	ip, [fp, #-1884]
	ldr	r3, [fp, #-1896]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1824
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2489]	@ zero_extendqisi2
	ldr	ip, [fp, #-1892]
	ldr	r3, [fp, #-1904]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1824
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2488]	@ zero_extendqisi2
	ldr	ip, [fp, #-1900]
	ldr	r3, [fp, #-1912]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1808
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2487]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1908]
	add	r3, r2, r3
	str	r3, [fp, #-88]
	ldr	r2, [fp, #-1956]
	ldr	r3, [fp, #-1856]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1808
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2486]	@ zero_extendqisi2
	ldr	ip, [fp, #-1952]
	ldr	r3, [fp, #-1848]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1808
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2485]	@ zero_extendqisi2
	ldr	ip, [fp, #-1948]
	ldr	r3, [fp, #-1844]
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r0, fp, #1808
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2484]	@ zero_extendqisi2
	ldr	ip, [fp, #-1944]
	ldr	r3, [fp, #-1840]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1792
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2483]	@ zero_extendqisi2
	ldr	ip, [fp, #-1940]
	ldr	r3, [fp, #-1836]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1792
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2482]	@ zero_extendqisi2
	ldr	ip, [fp, #-1936]
	ldr	r3, [fp, #-1832]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1792
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2481]	@ zero_extendqisi2
	ldr	ip, [fp, #-1932]
	ldr	r3, [fp, #-1828]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1792
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2480]	@ zero_extendqisi2
	ldr	ip, [fp, #-1928]
	ldr	r3, [fp, #-1824]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1776
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2479]	@ zero_extendqisi2
	ldr	ip, [fp, #-1924]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1776
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, [fp, #-88]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2478]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-2494]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-2540]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r0, fp, #1776
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-128]
	b	.L18
.L19:
	.align	2
.L17:
	.word	.LC1
	.word	-769313487
.L18:
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1760
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-128]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r0, fp, #1760
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-128]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1744
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-128]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r0, fp, #1744
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-128]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1728
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-128]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r0, fp, #1728
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-128]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1712
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-128]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1724]
	ldr	r3, [fp, #-1736]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1712
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2477]	@ zero_extendqisi2
	ldr	ip, [fp, #-1732]
	ldr	r3, [fp, #-1744]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1712
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2476]	@ zero_extendqisi2
	ldr	ip, [fp, #-1740]
	ldr	r3, [fp, #-1752]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1696
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2475]	@ zero_extendqisi2
	ldr	ip, [fp, #-1748]
	ldr	r3, [fp, #-1760]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1696
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2474]	@ zero_extendqisi2
	ldr	ip, [fp, #-1756]
	ldr	r3, [fp, #-1768]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1696
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2473]	@ zero_extendqisi2
	ldr	ip, [fp, #-1764]
	ldr	r3, [fp, #-1776]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1696
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2472]	@ zero_extendqisi2
	ldr	ip, [fp, #-1772]
	ldr	r3, [fp, #-1784]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1680
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2471]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1780]
	add	r3, r2, r3
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-1816]
	ldr	r3, [fp, #-1728]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1680
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2470]	@ zero_extendqisi2
	ldr	ip, [fp, #-1812]
	ldr	r3, [fp, #-1720]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1680
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2469]	@ zero_extendqisi2
	ldr	ip, [fp, #-1808]
	ldr	r3, [fp, #-1716]
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r0, fp, #1680
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2468]	@ zero_extendqisi2
	ldr	ip, [fp, #-1804]
	ldr	r3, [fp, #-1712]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1664
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2467]	@ zero_extendqisi2
	ldr	ip, [fp, #-1800]
	ldr	r3, [fp, #-1708]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1664
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2466]	@ zero_extendqisi2
	ldr	ip, [fp, #-1796]
	ldr	r3, [fp, #-1704]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1664
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2465]	@ zero_extendqisi2
	ldr	ip, [fp, #-1792]
	ldr	r3, [fp, #-1700]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1664
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2464]	@ zero_extendqisi2
	ldr	ip, [fp, #-1788]
	ldr	r3, [fp, #-1696]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1648
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2463]	@ zero_extendqisi2
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1648
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, [fp, #-80]
	str	r3, [sp]
	ldr	r3, [fp, #-84]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1692]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r0, fp, #1648
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, .L17+4
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1656]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1632
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1656]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r0, fp, #1632
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1656]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1616
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1656]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r0, fp, #1616
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1656]
	sub	r1, fp, #1600
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1656]
	sub	r1, fp, #1600
	sub	r1, r1, #4
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1656]
	sub	r1, fp, #1584
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1584
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1656]
	sub	r1, fp, #1584
	sub	r1, r1, #4
	sub	r0, fp, #1584
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1588]
	ldr	r3, [fp, #-1600]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1568
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2461]	@ zero_extendqisi2
	ldr	ip, [fp, #-1596]
	ldr	r3, [fp, #-1608]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1568
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2460]	@ zero_extendqisi2
	ldr	ip, [fp, #-1604]
	ldr	r3, [fp, #-1616]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1568
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2459]	@ zero_extendqisi2
	ldr	ip, [fp, #-1612]
	ldr	r3, [fp, #-1624]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1568
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2458]	@ zero_extendqisi2
	ldr	ip, [fp, #-1620]
	ldr	r3, [fp, #-1632]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1552
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2457]	@ zero_extendqisi2
	ldr	ip, [fp, #-1628]
	ldr	r3, [fp, #-1640]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1552
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2456]	@ zero_extendqisi2
	ldr	ip, [fp, #-1636]
	ldr	r3, [fp, #-1648]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1552
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2455]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1644]
	add	r3, r2, r3
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-1692]
	ldr	r3, [fp, #-1592]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1552
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2454]	@ zero_extendqisi2
	ldr	ip, [fp, #-1688]
	ldr	r3, [fp, #-1584]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1536
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2453]	@ zero_extendqisi2
	ldr	ip, [fp, #-1684]
	ldr	r3, [fp, #-1580]
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r0, fp, #1536
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2452]	@ zero_extendqisi2
	ldr	ip, [fp, #-1680]
	ldr	r3, [fp, #-1576]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1536
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2451]	@ zero_extendqisi2
	ldr	ip, [fp, #-1676]
	ldr	r3, [fp, #-1572]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1536
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2450]	@ zero_extendqisi2
	ldr	ip, [fp, #-1672]
	ldr	r3, [fp, #-1568]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1520
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2449]	@ zero_extendqisi2
	ldr	ip, [fp, #-1668]
	ldr	r3, [fp, #-1564]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1520
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2448]	@ zero_extendqisi2
	ldr	ip, [fp, #-1664]
	ldr	r3, [fp, #-1560]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1520
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2447]	@ zero_extendqisi2
	ldr	ip, [fp, #-1660]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1520
	sub	r0, r0, #4
	ldr	r3, [fp, #-76]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2446]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-2462]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-2540]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1504
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-124]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r0, fp, #1504
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-124]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1488
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-124]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r0, fp, #1488
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-124]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1472
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-124]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r0, fp, #1472
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-124]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1456
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-124]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r0, fp, #1456
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-124]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1460]
	ldr	r3, [fp, #-1472]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2445]	@ zero_extendqisi2
	ldr	ip, [fp, #-1468]
	ldr	r3, [fp, #-1480]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2444]	@ zero_extendqisi2
	ldr	ip, [fp, #-1476]
	ldr	r3, [fp, #-1488]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2443]	@ zero_extendqisi2
	ldr	ip, [fp, #-1484]
	ldr	r3, [fp, #-1496]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1440
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2442]	@ zero_extendqisi2
	ldr	ip, [fp, #-1492]
	ldr	r3, [fp, #-1504]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2441]	@ zero_extendqisi2
	ldr	ip, [fp, #-1500]
	ldr	r3, [fp, #-1512]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2440]	@ zero_extendqisi2
	ldr	ip, [fp, #-1508]
	ldr	r3, [fp, #-1520]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2439]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1516]
	add	r3, r2, r3
	str	r3, [fp, #-68]
	ldr	r2, [fp, #-1552]
	ldr	r3, [fp, #-1464]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1424
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2438]	@ zero_extendqisi2
	ldr	ip, [fp, #-1548]
	ldr	r3, [fp, #-1456]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2437]	@ zero_extendqisi2
	ldr	ip, [fp, #-1544]
	ldr	r3, [fp, #-1452]
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2436]	@ zero_extendqisi2
	ldr	ip, [fp, #-1540]
	ldr	r3, [fp, #-1448]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2435]	@ zero_extendqisi2
	ldr	ip, [fp, #-1536]
	ldr	r3, [fp, #-1444]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1408
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2434]	@ zero_extendqisi2
	ldr	ip, [fp, #-1532]
	ldr	r3, [fp, #-1440]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2433]	@ zero_extendqisi2
	ldr	ip, [fp, #-1528]
	ldr	r3, [fp, #-1436]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2432]	@ zero_extendqisi2
	ldr	ip, [fp, #-1524]
	ldr	r3, [fp, #-1432]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2431]	@ zero_extendqisi2
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1392
	sub	r0, r0, #4
	ldr	r3, [fp, #-68]
	str	r3, [sp]
	ldr	r3, [fp, #-72]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1428]
	sub	r1, fp, #1376
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1376
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r3, .L17+4
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1376
	sub	r1, r1, #4
	sub	r0, fp, #1376
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1360
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1360
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1360
	sub	r1, r1, #4
	sub	r0, fp, #1360
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1344
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1344
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1344
	sub	r1, r1, #4
	sub	r0, fp, #1344
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1328
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1328
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1328
	sub	r1, r1, #4
	sub	r0, fp, #1328
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1312
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1312
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1324]
	ldr	r3, [fp, #-1336]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1312
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2429]	@ zero_extendqisi2
	ldr	ip, [fp, #-1332]
	ldr	r3, [fp, #-1344]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1312
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2428]	@ zero_extendqisi2
	ldr	ip, [fp, #-1340]
	ldr	r3, [fp, #-1352]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1296
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2427]	@ zero_extendqisi2
	ldr	ip, [fp, #-1348]
	ldr	r3, [fp, #-1360]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1296
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2426]	@ zero_extendqisi2
	ldr	ip, [fp, #-1356]
	ldr	r3, [fp, #-1368]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1296
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2425]	@ zero_extendqisi2
	ldr	ip, [fp, #-1364]
	ldr	r3, [fp, #-1376]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1296
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2424]	@ zero_extendqisi2
	ldr	ip, [fp, #-1372]
	ldr	r3, [fp, #-1384]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1280
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2423]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1380]
	add	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-1428]
	ldr	r3, [fp, #-1328]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1280
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2422]	@ zero_extendqisi2
	ldr	ip, [fp, #-1424]
	ldr	r3, [fp, #-1320]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1280
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2421]	@ zero_extendqisi2
	ldr	ip, [fp, #-1420]
	ldr	r3, [fp, #-1316]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r0, fp, #1280
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2420]	@ zero_extendqisi2
	ldr	ip, [fp, #-1416]
	ldr	r3, [fp, #-1312]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1264
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2419]	@ zero_extendqisi2
	ldr	ip, [fp, #-1412]
	ldr	r3, [fp, #-1308]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1264
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2418]	@ zero_extendqisi2
	ldr	ip, [fp, #-1408]
	ldr	r3, [fp, #-1304]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1264
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2417]	@ zero_extendqisi2
	ldr	ip, [fp, #-1404]
	ldr	r3, [fp, #-1300]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1264
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2416]	@ zero_extendqisi2
	ldr	ip, [fp, #-1400]
	ldr	r3, [fp, #-1296]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2415]	@ zero_extendqisi2
	ldr	ip, [fp, #-1396]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, [fp, #-64]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2414]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-2430]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-2540]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #1248
	sub	r1, r1, #4
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-120]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #1232
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-120]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #1232
	sub	r1, r1, #4
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-120]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #1216
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-120]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #1216
	sub	r1, r1, #4
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-120]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #1200
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-120]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #1200
	sub	r1, r1, #4
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-120]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3]
	sub	r1, fp, #1184
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1184
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-120]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1196]
	ldr	r3, [fp, #-1208]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1184
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2413]	@ zero_extendqisi2
	ldr	ip, [fp, #-1204]
	ldr	r3, [fp, #-1216]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1184
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2412]	@ zero_extendqisi2
	ldr	ip, [fp, #-1212]
	ldr	r3, [fp, #-1224]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2411]	@ zero_extendqisi2
	ldr	ip, [fp, #-1220]
	ldr	r3, [fp, #-1232]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2410]	@ zero_extendqisi2
	ldr	ip, [fp, #-1228]
	ldr	r3, [fp, #-1240]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2409]	@ zero_extendqisi2
	ldr	ip, [fp, #-1236]
	ldr	r3, [fp, #-1248]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1168
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2408]	@ zero_extendqisi2
	ldr	ip, [fp, #-1244]
	ldr	r3, [fp, #-1256]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1152
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2407]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1252]
	add	r3, r2, r3
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-1288]
	ldr	r3, [fp, #-1200]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1152
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2406]	@ zero_extendqisi2
	ldr	ip, [fp, #-1284]
	ldr	r3, [fp, #-1192]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1152
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2405]	@ zero_extendqisi2
	ldr	ip, [fp, #-1280]
	ldr	r3, [fp, #-1188]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r0, fp, #1152
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2404]	@ zero_extendqisi2
	ldr	ip, [fp, #-1276]
	ldr	r3, [fp, #-1184]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1136
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2403]	@ zero_extendqisi2
	ldr	ip, [fp, #-1272]
	ldr	r3, [fp, #-1180]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1136
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2402]	@ zero_extendqisi2
	ldr	ip, [fp, #-1268]
	ldr	r3, [fp, #-1176]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1136
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2401]	@ zero_extendqisi2
	ldr	ip, [fp, #-1264]
	ldr	r3, [fp, #-1172]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1136
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2400]	@ zero_extendqisi2
	ldr	ip, [fp, #-1260]
	ldr	r3, [fp, #-1168]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1120
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2399]	@ zero_extendqisi2
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1120
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, [fp, #-56]
	str	r3, [sp]
	ldr	r3, [fp, #-60]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1164]
	sub	r1, fp, #1120
	sub	r1, r1, #4
	sub	r0, fp, #1120
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, .L20
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1128]
	sub	r1, fp, #1104
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1104
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1128]
	sub	r1, fp, #1104
	sub	r1, r1, #4
	sub	r0, fp, #1104
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1128]
	sub	r1, fp, #1088
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1088
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1128]
	sub	r1, fp, #1088
	sub	r1, r1, #4
	sub	r0, fp, #1088
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1128]
	sub	r1, fp, #1072
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1128]
	sub	r1, fp, #1072
	sub	r1, r1, #4
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1128]
	sub	r1, fp, #1056
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1056
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1128]
	sub	r1, fp, #1056
	sub	r1, r1, #4
	sub	r0, fp, #1056
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1060]
	ldr	r3, [fp, #-1072]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2397]	@ zero_extendqisi2
	ldr	ip, [fp, #-1068]
	ldr	r3, [fp, #-1080]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2396]	@ zero_extendqisi2
	ldr	ip, [fp, #-1076]
	ldr	r3, [fp, #-1088]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2395]	@ zero_extendqisi2
	ldr	ip, [fp, #-1084]
	ldr	r3, [fp, #-1096]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1040
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2394]	@ zero_extendqisi2
	ldr	ip, [fp, #-1092]
	ldr	r3, [fp, #-1104]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2393]	@ zero_extendqisi2
	ldr	ip, [fp, #-1100]
	ldr	r3, [fp, #-1112]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2392]	@ zero_extendqisi2
	ldr	ip, [fp, #-1108]
	ldr	r3, [fp, #-1120]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2391]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1116]
	add	r3, r2, r3
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-1164]
	ldr	r3, [fp, #-1064]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1024
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2390]	@ zero_extendqisi2
	ldr	ip, [fp, #-1160]
	ldr	r3, [fp, #-1056]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1024
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2389]	@ zero_extendqisi2
	ldr	ip, [fp, #-1156]
	ldr	r3, [fp, #-1052]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r0, fp, #1020
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2388]	@ zero_extendqisi2
	ldr	ip, [fp, #-1152]
	ldr	r3, [fp, #-1048]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1016
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2387]	@ zero_extendqisi2
	ldr	ip, [fp, #-1148]
	ldr	r3, [fp, #-1044]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1012
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2386]	@ zero_extendqisi2
	ldr	ip, [fp, #-1144]
	ldr	r3, [fp, #-1040]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1008
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2385]	@ zero_extendqisi2
	ldr	ip, [fp, #-1140]
	ldr	r3, [fp, #-1036]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1004
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2384]	@ zero_extendqisi2
	ldr	ip, [fp, #-1136]
	ldr	r3, [fp, #-1032]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1000
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2383]	@ zero_extendqisi2
	ldr	ip, [fp, #-1132]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #996
	ldr	r3, [fp, #-52]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2382]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-2398]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-2540]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #988
	sub	r0, fp, #992
	ldr	r2, [fp, #-116]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #980
	sub	r0, fp, #984
	ldr	r2, [fp, #-116]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #972
	sub	r0, fp, #976
	ldr	r2, [fp, #-116]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #964
	sub	r0, fp, #968
	ldr	r2, [fp, #-116]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #956
	sub	r0, fp, #960
	ldr	r2, [fp, #-116]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #948
	sub	r0, fp, #952
	ldr	r2, [fp, #-116]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #940
	sub	r0, fp, #944
	ldr	r2, [fp, #-116]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3]
	sub	r1, fp, #932
	sub	r0, fp, #936
	ldr	r2, [fp, #-116]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-932]
	ldr	r3, [fp, #-944]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #928
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2381]	@ zero_extendqisi2
	ldr	ip, [fp, #-940]
	ldr	r3, [fp, #-952]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #924
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2380]	@ zero_extendqisi2
	ldr	ip, [fp, #-948]
	ldr	r3, [fp, #-960]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #920
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2379]	@ zero_extendqisi2
	ldr	ip, [fp, #-956]
	ldr	r3, [fp, #-968]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #916
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2378]	@ zero_extendqisi2
	ldr	ip, [fp, #-964]
	ldr	r3, [fp, #-976]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #912
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2377]	@ zero_extendqisi2
	ldr	ip, [fp, #-972]
	ldr	r3, [fp, #-984]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #908
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2376]	@ zero_extendqisi2
	ldr	ip, [fp, #-980]
	ldr	r3, [fp, #-992]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #904
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2375]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-988]
	add	r3, r2, r3
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-1024]
	ldr	r3, [fp, #-936]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #900
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2374]	@ zero_extendqisi2
	ldr	ip, [fp, #-1020]
	ldr	r3, [fp, #-928]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #896
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2373]	@ zero_extendqisi2
	ldr	ip, [fp, #-1016]
	ldr	r3, [fp, #-924]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r0, fp, #892
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2372]	@ zero_extendqisi2
	ldr	ip, [fp, #-1012]
	ldr	r3, [fp, #-920]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #888
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2371]	@ zero_extendqisi2
	ldr	ip, [fp, #-1008]
	ldr	r3, [fp, #-916]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #884
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2370]	@ zero_extendqisi2
	ldr	ip, [fp, #-1004]
	ldr	r3, [fp, #-912]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #880
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2369]	@ zero_extendqisi2
	ldr	ip, [fp, #-1000]
	ldr	r3, [fp, #-908]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #876
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2368]	@ zero_extendqisi2
	ldr	ip, [fp, #-996]
	ldr	r3, [fp, #-904]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #872
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2367]	@ zero_extendqisi2
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #868
	ldr	r3, [fp, #-44]
	str	r3, [sp]
	ldr	r3, [fp, #-48]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-900]
	sub	r1, fp, #860
	sub	r0, fp, #864
	ldr	r3, .L20
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	sub	r1, fp, #852
	sub	r0, fp, #856
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	sub	r1, fp, #844
	sub	r0, fp, #848
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	sub	r1, fp, #836
	sub	r0, fp, #840
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	sub	r1, fp, #828
	sub	r0, fp, #832
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	sub	r1, fp, #820
	sub	r0, fp, #824
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	sub	r1, fp, #812
	sub	r0, fp, #816
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	sub	r1, fp, #804
	sub	r0, fp, #808
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	sub	r1, fp, #796
	sub	r0, fp, #800
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-796]
	ldr	r3, [fp, #-808]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #792
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2365]	@ zero_extendqisi2
	ldr	ip, [fp, #-804]
	ldr	r3, [fp, #-816]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #788
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2364]	@ zero_extendqisi2
	ldr	ip, [fp, #-812]
	ldr	r3, [fp, #-824]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #784
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2363]	@ zero_extendqisi2
	ldr	ip, [fp, #-820]
	ldr	r3, [fp, #-832]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #780
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2362]	@ zero_extendqisi2
	ldr	ip, [fp, #-828]
	ldr	r3, [fp, #-840]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #776
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2361]	@ zero_extendqisi2
	ldr	ip, [fp, #-836]
	ldr	r3, [fp, #-848]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #772
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2360]	@ zero_extendqisi2
	ldr	ip, [fp, #-844]
	ldr	r3, [fp, #-856]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #768
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2359]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-852]
	add	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-900]
	ldr	r3, [fp, #-800]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #764
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2358]	@ zero_extendqisi2
	ldr	ip, [fp, #-896]
	ldr	r3, [fp, #-792]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #760
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2357]	@ zero_extendqisi2
	ldr	ip, [fp, #-892]
	ldr	r3, [fp, #-788]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r0, fp, #756
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2356]	@ zero_extendqisi2
	ldr	ip, [fp, #-888]
	ldr	r3, [fp, #-784]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #752
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2355]	@ zero_extendqisi2
	ldr	ip, [fp, #-884]
	ldr	r3, [fp, #-780]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #748
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2354]	@ zero_extendqisi2
	ldr	ip, [fp, #-880]
	ldr	r3, [fp, #-776]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #744
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2353]	@ zero_extendqisi2
	ldr	ip, [fp, #-876]
	ldr	r3, [fp, #-772]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #740
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2352]	@ zero_extendqisi2
	ldr	ip, [fp, #-872]
	ldr	r3, [fp, #-768]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #736
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2351]	@ zero_extendqisi2
	ldr	ip, [fp, #-868]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #732
	ldr	r3, [fp, #-40]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2350]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-2366]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-2540]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #724
	sub	r0, fp, #728
	ldr	r2, [fp, #-112]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #716
	sub	r0, fp, #720
	ldr	r2, [fp, #-112]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #708
	sub	r0, fp, #712
	ldr	r2, [fp, #-112]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #700
	sub	r0, fp, #704
	ldr	r2, [fp, #-112]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #692
	sub	r0, fp, #696
	ldr	r2, [fp, #-112]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #684
	sub	r0, fp, #688
	ldr	r2, [fp, #-112]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #676
	sub	r0, fp, #680
	ldr	r2, [fp, #-112]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3]
	sub	r1, fp, #668
	sub	r0, fp, #672
	ldr	r2, [fp, #-112]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-668]
	ldr	r3, [fp, #-680]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #664
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2349]	@ zero_extendqisi2
	ldr	ip, [fp, #-676]
	ldr	r3, [fp, #-688]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #660
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2348]	@ zero_extendqisi2
	ldr	ip, [fp, #-684]
	ldr	r3, [fp, #-696]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #656
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2347]	@ zero_extendqisi2
	ldr	ip, [fp, #-692]
	ldr	r3, [fp, #-704]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #652
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2346]	@ zero_extendqisi2
	ldr	ip, [fp, #-700]
	ldr	r3, [fp, #-712]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #648
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2345]	@ zero_extendqisi2
	ldr	ip, [fp, #-708]
	ldr	r3, [fp, #-720]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #644
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2344]	@ zero_extendqisi2
	ldr	ip, [fp, #-716]
	ldr	r3, [fp, #-728]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #640
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2343]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-724]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-760]
	ldr	r3, [fp, #-672]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #636
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2342]	@ zero_extendqisi2
	ldr	ip, [fp, #-756]
	ldr	r3, [fp, #-664]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #632
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2341]	@ zero_extendqisi2
	ldr	ip, [fp, #-752]
	ldr	r3, [fp, #-660]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r0, fp, #628
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2340]	@ zero_extendqisi2
	ldr	ip, [fp, #-748]
	ldr	r3, [fp, #-656]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #624
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2339]	@ zero_extendqisi2
	ldr	ip, [fp, #-744]
	ldr	r3, [fp, #-652]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #620
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2338]	@ zero_extendqisi2
	ldr	ip, [fp, #-740]
	ldr	r3, [fp, #-648]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #616
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2337]	@ zero_extendqisi2
	ldr	ip, [fp, #-736]
	ldr	r3, [fp, #-644]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #612
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2336]	@ zero_extendqisi2
	ldr	ip, [fp, #-732]
	ldr	r3, [fp, #-640]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #608
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2335]	@ zero_extendqisi2
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #604
	ldr	r3, [fp, #-32]
	str	r3, [sp]
	ldr	r3, [fp, #-36]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-636]
	sub	r1, fp, #596
	sub	r0, fp, #600
	ldr	r3, .L20
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-600]
	sub	r1, fp, #588
	sub	r0, fp, #592
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-600]
	sub	r1, fp, #580
	sub	r0, fp, #584
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-600]
	sub	r1, fp, #572
	sub	r0, fp, #576
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-600]
	sub	r1, fp, #564
	sub	r0, fp, #568
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-600]
	sub	r1, fp, #556
	sub	r0, fp, #560
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-600]
	sub	r1, fp, #548
	sub	r0, fp, #552
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-600]
	sub	r1, fp, #540
	sub	r0, fp, #544
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-600]
	sub	r1, fp, #532
	sub	r0, fp, #536
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-532]
	ldr	r3, [fp, #-544]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #528
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2333]	@ zero_extendqisi2
	ldr	ip, [fp, #-540]
	ldr	r3, [fp, #-552]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #524
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2332]	@ zero_extendqisi2
	ldr	ip, [fp, #-548]
	ldr	r3, [fp, #-560]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #520
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2331]	@ zero_extendqisi2
	ldr	ip, [fp, #-556]
	ldr	r3, [fp, #-568]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #516
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2330]	@ zero_extendqisi2
	ldr	ip, [fp, #-564]
	ldr	r3, [fp, #-576]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #512
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2329]	@ zero_extendqisi2
	ldr	ip, [fp, #-572]
	ldr	r3, [fp, #-584]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #508
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2328]	@ zero_extendqisi2
	ldr	ip, [fp, #-580]
	ldr	r3, [fp, #-592]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #504
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2327]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-588]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	b	.L21
.L22:
	.align	2
.L20:
	.word	-769313487
	.word	-769313487
	.word	.LC1
.L21:
	ldr	r2, [fp, #-636]
	ldr	r3, [fp, #-536]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #500
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2326]	@ zero_extendqisi2
	ldr	ip, [fp, #-632]
	ldr	r3, [fp, #-528]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #496
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2325]	@ zero_extendqisi2
	ldr	ip, [fp, #-628]
	ldr	r3, [fp, #-524]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r0, fp, #492
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2324]	@ zero_extendqisi2
	ldr	ip, [fp, #-624]
	ldr	r3, [fp, #-520]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #488
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2323]	@ zero_extendqisi2
	ldr	ip, [fp, #-620]
	ldr	r3, [fp, #-516]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #484
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2322]	@ zero_extendqisi2
	ldr	ip, [fp, #-616]
	ldr	r3, [fp, #-512]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #480
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2321]	@ zero_extendqisi2
	ldr	ip, [fp, #-612]
	ldr	r3, [fp, #-508]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #476
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2320]	@ zero_extendqisi2
	ldr	ip, [fp, #-608]
	ldr	r3, [fp, #-504]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #472
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2319]	@ zero_extendqisi2
	ldr	ip, [fp, #-604]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #468
	ldr	r3, [fp, #-28]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2318]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-2334]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-2540]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #460
	sub	r0, fp, #464
	ldr	r2, [fp, #-108]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #452
	sub	r0, fp, #456
	ldr	r2, [fp, #-108]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #444
	sub	r0, fp, #448
	ldr	r2, [fp, #-108]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #436
	sub	r0, fp, #440
	ldr	r2, [fp, #-108]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #428
	sub	r0, fp, #432
	ldr	r2, [fp, #-108]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #420
	sub	r0, fp, #424
	ldr	r2, [fp, #-108]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #412
	sub	r0, fp, #416
	ldr	r2, [fp, #-108]
	bl	fiat_secp256k1_mulx_u32
	ldr	r3, [fp, #-2540]
	ldr	r3, [r3]
	sub	r1, fp, #404
	sub	r0, fp, #408
	ldr	r2, [fp, #-108]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-404]
	ldr	r3, [fp, #-416]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #400
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2317]	@ zero_extendqisi2
	ldr	ip, [fp, #-412]
	ldr	r3, [fp, #-424]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #396
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2316]	@ zero_extendqisi2
	ldr	ip, [fp, #-420]
	ldr	r3, [fp, #-432]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #392
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2315]	@ zero_extendqisi2
	ldr	ip, [fp, #-428]
	ldr	r3, [fp, #-440]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #388
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2314]	@ zero_extendqisi2
	ldr	ip, [fp, #-436]
	ldr	r3, [fp, #-448]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #384
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2313]	@ zero_extendqisi2
	ldr	ip, [fp, #-444]
	ldr	r3, [fp, #-456]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #380
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2312]	@ zero_extendqisi2
	ldr	ip, [fp, #-452]
	ldr	r3, [fp, #-464]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #376
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2311]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-460]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-496]
	ldr	r3, [fp, #-408]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #372
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2310]	@ zero_extendqisi2
	ldr	ip, [fp, #-492]
	ldr	r3, [fp, #-400]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #368
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2309]	@ zero_extendqisi2
	ldr	ip, [fp, #-488]
	ldr	r3, [fp, #-396]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r0, fp, #364
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2308]	@ zero_extendqisi2
	ldr	ip, [fp, #-484]
	ldr	r3, [fp, #-392]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #360
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2307]	@ zero_extendqisi2
	ldr	ip, [fp, #-480]
	ldr	r3, [fp, #-388]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #356
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2306]	@ zero_extendqisi2
	ldr	ip, [fp, #-476]
	ldr	r3, [fp, #-384]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #352
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2305]	@ zero_extendqisi2
	ldr	ip, [fp, #-472]
	ldr	r3, [fp, #-380]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #348
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2304]	@ zero_extendqisi2
	ldr	ip, [fp, #-468]
	ldr	r3, [fp, #-376]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #344
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2303]	@ zero_extendqisi2
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #340
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	ldr	r3, [fp, #-24]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-372]
	sub	r1, fp, #332
	sub	r0, fp, #336
	ldr	r3, .L20+4
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-336]
	sub	r1, fp, #324
	sub	r0, fp, #328
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-336]
	sub	r1, fp, #316
	sub	r0, fp, #320
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-336]
	sub	r1, fp, #308
	sub	r0, fp, #312
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-336]
	sub	r1, fp, #300
	sub	r0, fp, #304
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-336]
	sub	r1, fp, #292
	sub	r0, fp, #296
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-336]
	sub	r1, fp, #284
	sub	r0, fp, #288
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-336]
	sub	r1, fp, #276
	sub	r0, fp, #280
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-336]
	sub	r1, fp, #268
	sub	r0, fp, #272
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-268]
	ldr	r3, [fp, #-280]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #264
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2301]	@ zero_extendqisi2
	ldr	ip, [fp, #-276]
	ldr	r3, [fp, #-288]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #260
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2300]	@ zero_extendqisi2
	ldr	ip, [fp, #-284]
	ldr	r3, [fp, #-296]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #256
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2299]	@ zero_extendqisi2
	ldr	ip, [fp, #-292]
	ldr	r3, [fp, #-304]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #252
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2298]	@ zero_extendqisi2
	ldr	ip, [fp, #-300]
	ldr	r3, [fp, #-312]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #248
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2297]	@ zero_extendqisi2
	ldr	ip, [fp, #-308]
	ldr	r3, [fp, #-320]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #244
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2296]	@ zero_extendqisi2
	ldr	ip, [fp, #-316]
	ldr	r3, [fp, #-328]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #240
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2295]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-324]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-272]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #236
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2294]	@ zero_extendqisi2
	ldr	ip, [fp, #-368]
	ldr	r3, [fp, #-264]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #232
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2293]	@ zero_extendqisi2
	ldr	ip, [fp, #-364]
	ldr	r3, [fp, #-260]
	sub	r1, fp, #2288
	sub	r1, r1, #4
	sub	r0, fp, #228
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2292]	@ zero_extendqisi2
	ldr	ip, [fp, #-360]
	ldr	r3, [fp, #-256]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #224
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2291]	@ zero_extendqisi2
	ldr	ip, [fp, #-356]
	ldr	r3, [fp, #-252]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #220
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2290]	@ zero_extendqisi2
	ldr	ip, [fp, #-352]
	ldr	r3, [fp, #-248]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #216
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2289]	@ zero_extendqisi2
	ldr	ip, [fp, #-348]
	ldr	r3, [fp, #-244]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #212
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2288]	@ zero_extendqisi2
	ldr	ip, [fp, #-344]
	ldr	r3, [fp, #-240]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #208
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-2287]	@ zero_extendqisi2
	ldr	ip, [fp, #-340]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #204
	ldr	r3, [fp, #-16]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r3, [fp, #-2286]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-2302]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-232]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #200
	mvn	r2, #976
	str	r2, [sp]
	mov	r2, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-2285]	@ zero_extendqisi2
	ldr	r3, [fp, #-228]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #196
	mvn	ip, #1
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-2284]	@ zero_extendqisi2
	ldr	r3, [fp, #-224]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #192
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-2283]	@ zero_extendqisi2
	ldr	r3, [fp, #-220]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #188
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-2282]	@ zero_extendqisi2
	ldr	r3, [fp, #-216]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #184
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-2281]	@ zero_extendqisi2
	ldr	r3, [fp, #-212]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #180
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-2280]	@ zero_extendqisi2
	ldr	r3, [fp, #-208]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #176
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-2279]	@ zero_extendqisi2
	ldr	r3, [fp, #-204]
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #172
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-2278]	@ zero_extendqisi2
	sub	r1, fp, #2272
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #168
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-12]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r1, [fp, #-2277]	@ zero_extendqisi2
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-232]
	sub	r0, fp, #164
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-2277]	@ zero_extendqisi2
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-228]
	sub	r0, fp, #160
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-2277]	@ zero_extendqisi2
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-224]
	sub	r0, fp, #156
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-2277]	@ zero_extendqisi2
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-220]
	sub	r0, fp, #152
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-2277]	@ zero_extendqisi2
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-216]
	sub	r0, fp, #148
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-2277]	@ zero_extendqisi2
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-212]
	sub	r0, fp, #144
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-2277]	@ zero_extendqisi2
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-208]
	sub	r0, fp, #140
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-2277]	@ zero_extendqisi2
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-204]
	sub	r0, fp, #136
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r2, [fp, #-164]
	ldr	r3, [fp, #-2536]
	str	r2, [r3]
	ldr	r3, [fp, #-2536]
	add	r3, r3, #4
	ldr	r2, [fp, #-160]
	str	r2, [r3]
	ldr	r3, [fp, #-2536]
	add	r3, r3, #8
	ldr	r2, [fp, #-156]
	str	r2, [r3]
	ldr	r3, [fp, #-2536]
	add	r3, r3, #12
	ldr	r2, [fp, #-152]
	str	r2, [r3]
	ldr	r3, [fp, #-2536]
	add	r3, r3, #16
	ldr	r2, [fp, #-148]
	str	r2, [r3]
	ldr	r3, [fp, #-2536]
	add	r3, r3, #20
	ldr	r2, [fp, #-144]
	str	r2, [r3]
	ldr	r3, [fp, #-2536]
	add	r3, r3, #24
	ldr	r2, [fp, #-140]
	str	r2, [r3]
	ldr	r3, [fp, #-2536]
	add	r3, r3, #28
	ldr	r2, [fp, #-136]
	str	r2, [r3]
	nop
	ldr	r3, .L20+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L16
	bl	__stack_chk_fail
.L16:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	fiat_secp256k1_square, .-fiat_secp256k1_square
	.section	.rodata
	.align	2
.LC2:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_add, %function
fiat_secp256k1_add:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #152
	str	r0, [fp, #-136]
	str	r1, [fp, #-140]
	str	r2, [fp, #-144]
	ldr	r3, .L25
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-140]
	ldr	r2, [r3]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3]
	sub	r1, fp, #125
	sub	r0, fp, #108
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-125]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #4
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #124
	sub	r0, fp, #104
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-124]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #123
	sub	r0, fp, #100
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-123]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #12
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #122
	sub	r0, fp, #96
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-122]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #16
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #121
	sub	r0, fp, #92
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-121]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #20
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #120
	sub	r0, fp, #88
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-120]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #24
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #119
	sub	r0, fp, #84
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-119]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #28
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #118
	sub	r0, fp, #80
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r3, [fp, #-108]
	sub	r1, fp, #117
	sub	r0, fp, #76
	mvn	r2, #976
	str	r2, [sp]
	mov	r2, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-117]	@ zero_extendqisi2
	ldr	r3, [fp, #-104]
	sub	r1, fp, #116
	sub	r0, fp, #72
	mvn	ip, #1
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-116]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	sub	r1, fp, #115
	sub	r0, fp, #68
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-115]	@ zero_extendqisi2
	ldr	r3, [fp, #-96]
	sub	r1, fp, #114
	sub	r0, fp, #64
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-114]	@ zero_extendqisi2
	ldr	r3, [fp, #-92]
	sub	r1, fp, #113
	sub	r0, fp, #60
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-113]	@ zero_extendqisi2
	ldr	r3, [fp, #-88]
	sub	r1, fp, #112
	sub	r0, fp, #56
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-112]	@ zero_extendqisi2
	ldr	r3, [fp, #-84]
	sub	r1, fp, #111
	sub	r0, fp, #52
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-111]	@ zero_extendqisi2
	ldr	r3, [fp, #-80]
	sub	r1, fp, #110
	sub	r0, fp, #48
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-110]	@ zero_extendqisi2
	ldrb	r3, [fp, #-118]	@ zero_extendqisi2
	mov	ip, r3
	sub	r1, fp, #109
	sub	r0, fp, #44
	mov	r3, #0
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r1, [fp, #-109]	@ zero_extendqisi2
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-108]
	sub	r0, fp, #40
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-109]	@ zero_extendqisi2
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-104]
	sub	r0, fp, #36
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-109]	@ zero_extendqisi2
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-100]
	sub	r0, fp, #32
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-109]	@ zero_extendqisi2
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-96]
	sub	r0, fp, #28
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-109]	@ zero_extendqisi2
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-92]
	sub	r0, fp, #24
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-109]	@ zero_extendqisi2
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-88]
	sub	r0, fp, #20
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-109]	@ zero_extendqisi2
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-84]
	sub	r0, fp, #16
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-109]	@ zero_extendqisi2
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-80]
	sub	r0, fp, #12
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-136]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #4
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #8
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #12
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #16
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #20
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #24
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #28
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	nop
	ldr	r3, .L25
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L24
	bl	__stack_chk_fail
.L24:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L26:
	.align	2
.L25:
	.word	.LC2
	.size	fiat_secp256k1_add, .-fiat_secp256k1_add
	.section	.rodata
	.align	2
.LC3:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_sub, %function
fiat_secp256k1_sub:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #112
	str	r0, [fp, #-96]
	str	r1, [fp, #-100]
	str	r2, [fp, #-104]
	ldr	r3, .L29
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-100]
	ldr	r2, [r3]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3]
	sub	r1, fp, #92
	sub	r0, fp, #76
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-92]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	add	r3, r3, #4
	ldr	ip, [r3]
	ldr	r3, [fp, #-104]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #91
	sub	r0, fp, #72
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-91]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	add	r3, r3, #8
	ldr	ip, [r3]
	ldr	r3, [fp, #-104]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #90
	sub	r0, fp, #68
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-90]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	add	r3, r3, #12
	ldr	ip, [r3]
	ldr	r3, [fp, #-104]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #89
	sub	r0, fp, #64
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-89]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	add	r3, r3, #16
	ldr	ip, [r3]
	ldr	r3, [fp, #-104]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #88
	sub	r0, fp, #60
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-88]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	add	r3, r3, #20
	ldr	ip, [r3]
	ldr	r3, [fp, #-104]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #87
	sub	r0, fp, #56
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-87]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	add	r3, r3, #24
	ldr	ip, [r3]
	ldr	r3, [fp, #-104]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #86
	sub	r0, fp, #52
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-86]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	add	r3, r3, #28
	ldr	ip, [r3]
	ldr	r3, [fp, #-104]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #85
	sub	r0, fp, #48
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r1, [fp, #-85]	@ zero_extendqisi2
	sub	r0, fp, #44
	mvn	r3, #0
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-44]
	bic	r3, r3, #976
	sub	r1, fp, #84
	sub	r0, fp, #40
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-84]	@ zero_extendqisi2
	ldr	ip, [fp, #-72]
	ldr	r3, [fp, #-44]
	bic	r3, r3, #1
	sub	r1, fp, #83
	sub	r0, fp, #36
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-83]	@ zero_extendqisi2
	ldr	ip, [fp, #-68]
	ldr	r3, [fp, #-44]
	sub	r1, fp, #82
	sub	r0, fp, #32
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-82]	@ zero_extendqisi2
	ldr	ip, [fp, #-64]
	ldr	r3, [fp, #-44]
	sub	r1, fp, #81
	sub	r0, fp, #28
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-81]	@ zero_extendqisi2
	ldr	ip, [fp, #-60]
	ldr	r3, [fp, #-44]
	sub	r1, fp, #80
	sub	r0, fp, #24
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-80]	@ zero_extendqisi2
	ldr	ip, [fp, #-56]
	ldr	r3, [fp, #-44]
	sub	r1, fp, #79
	sub	r0, fp, #20
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-79]	@ zero_extendqisi2
	ldr	ip, [fp, #-52]
	ldr	r3, [fp, #-44]
	sub	r1, fp, #78
	sub	r0, fp, #16
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-78]	@ zero_extendqisi2
	ldr	ip, [fp, #-48]
	ldr	r3, [fp, #-44]
	sub	r1, fp, #77
	sub	r0, fp, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-96]
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #4
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #8
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #12
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #16
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #20
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #24
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #28
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	nop
	ldr	r3, .L29
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L28
	bl	__stack_chk_fail
.L28:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L30:
	.align	2
.L29:
	.word	.LC3
	.size	fiat_secp256k1_sub, .-fiat_secp256k1_sub
	.section	.rodata
	.align	2
.LC4:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_opp, %function
fiat_secp256k1_opp:
	@ args = 0, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #104
	str	r0, [fp, #-96]
	str	r1, [fp, #-100]
	ldr	r3, .L33
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-100]
	ldr	r3, [r3]
	sub	r1, fp, #92
	sub	r0, fp, #76
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-92]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #91
	sub	r0, fp, #72
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-91]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #90
	sub	r0, fp, #68
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-90]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #89
	sub	r0, fp, #64
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-89]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #88
	sub	r0, fp, #60
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-88]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #87
	sub	r0, fp, #56
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-87]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #86
	sub	r0, fp, #52
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-86]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #85
	sub	r0, fp, #48
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r1, [fp, #-85]	@ zero_extendqisi2
	sub	r0, fp, #44
	mvn	r3, #0
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-44]
	bic	r3, r3, #976
	sub	r1, fp, #84
	sub	r0, fp, #40
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-84]	@ zero_extendqisi2
	ldr	ip, [fp, #-72]
	ldr	r3, [fp, #-44]
	bic	r3, r3, #1
	sub	r1, fp, #83
	sub	r0, fp, #36
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-83]	@ zero_extendqisi2
	ldr	ip, [fp, #-68]
	ldr	r3, [fp, #-44]
	sub	r1, fp, #82
	sub	r0, fp, #32
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-82]	@ zero_extendqisi2
	ldr	ip, [fp, #-64]
	ldr	r3, [fp, #-44]
	sub	r1, fp, #81
	sub	r0, fp, #28
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-81]	@ zero_extendqisi2
	ldr	ip, [fp, #-60]
	ldr	r3, [fp, #-44]
	sub	r1, fp, #80
	sub	r0, fp, #24
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-80]	@ zero_extendqisi2
	ldr	ip, [fp, #-56]
	ldr	r3, [fp, #-44]
	sub	r1, fp, #79
	sub	r0, fp, #20
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-79]	@ zero_extendqisi2
	ldr	ip, [fp, #-52]
	ldr	r3, [fp, #-44]
	sub	r1, fp, #78
	sub	r0, fp, #16
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-78]	@ zero_extendqisi2
	ldr	ip, [fp, #-48]
	ldr	r3, [fp, #-44]
	sub	r1, fp, #77
	sub	r0, fp, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-96]
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #4
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #8
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #12
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #16
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #20
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #24
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #28
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	nop
	ldr	r3, .L33
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L32
	bl	__stack_chk_fail
.L32:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L34:
	.align	2
.L33:
	.word	.LC4
	.size	fiat_secp256k1_opp, .-fiat_secp256k1_opp
	.section	.rodata
	.align	2
.LC5:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_from_montgomery, %function
fiat_secp256k1_from_montgomery:
	@ args = 0, pretend = 0, frame = 1592
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1600
	str	r0, [fp, #-1592]
	str	r1, [fp, #-1596]
	ldr	r3, .L37
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-1596]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	sub	r1, fp, #1376
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1376
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r3, .L37+4
	ldr	r2, [fp, #-12]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1376
	sub	r1, r1, #4
	sub	r0, fp, #1376
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1360
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1360
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1360
	sub	r1, r1, #4
	sub	r0, fp, #1360
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1344
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1344
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1344
	sub	r1, r1, #4
	sub	r0, fp, #1344
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1328
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1328
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1328
	sub	r1, r1, #4
	sub	r0, fp, #1328
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1392]
	sub	r1, fp, #1312
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1312
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1324]
	ldr	r3, [fp, #-1336]
	sub	r1, fp, #1568
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1312
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1585]	@ zero_extendqisi2
	ldr	ip, [fp, #-1332]
	ldr	r3, [fp, #-1344]
	sub	r1, fp, #1568
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1312
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1584]	@ zero_extendqisi2
	ldr	ip, [fp, #-1340]
	ldr	r3, [fp, #-1352]
	sub	r1, fp, #1568
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1296
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1583]	@ zero_extendqisi2
	ldr	ip, [fp, #-1348]
	ldr	r3, [fp, #-1360]
	sub	r1, fp, #1568
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1296
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1582]	@ zero_extendqisi2
	ldr	ip, [fp, #-1356]
	ldr	r3, [fp, #-1368]
	sub	r1, fp, #1568
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1296
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1581]	@ zero_extendqisi2
	ldr	ip, [fp, #-1364]
	ldr	r3, [fp, #-1376]
	sub	r1, fp, #1568
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1296
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1580]	@ zero_extendqisi2
	ldr	ip, [fp, #-1372]
	ldr	r3, [fp, #-1384]
	sub	r1, fp, #1568
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1280
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r3, [fp, #-1328]
	sub	r1, fp, #1568
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1280
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1578]	@ zero_extendqisi2
	ldr	r3, [fp, #-1320]
	sub	r1, fp, #1568
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1280
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1577]	@ zero_extendqisi2
	ldr	r3, [fp, #-1316]
	sub	r1, fp, #1568
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1280
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1576]	@ zero_extendqisi2
	ldr	r3, [fp, #-1312]
	sub	r1, fp, #1568
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1264
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1575]	@ zero_extendqisi2
	ldr	r3, [fp, #-1308]
	sub	r1, fp, #1568
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1264
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1574]	@ zero_extendqisi2
	ldr	r3, [fp, #-1304]
	sub	r1, fp, #1568
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1264
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1573]	@ zero_extendqisi2
	ldr	r3, [fp, #-1300]
	sub	r1, fp, #1568
	sub	r1, r1, #4
	sub	r0, fp, #1264
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1572]	@ zero_extendqisi2
	ldr	r3, [fp, #-1296]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1571]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1579]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-1380]
	add	r3, r1, r3
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1288]
	ldr	r3, [fp, #-1596]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1569]	@ zero_extendqisi2
	ldr	r3, [fp, #-1284]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1248
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1568]	@ zero_extendqisi2
	ldr	r3, [fp, #-1280]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1567]	@ zero_extendqisi2
	ldr	r3, [fp, #-1276]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1566]	@ zero_extendqisi2
	ldr	r3, [fp, #-1272]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1565]	@ zero_extendqisi2
	ldr	r3, [fp, #-1268]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1232
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1564]	@ zero_extendqisi2
	ldr	r3, [fp, #-1264]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1563]	@ zero_extendqisi2
	ldr	r3, [fp, #-1260]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1256]
	sub	r1, fp, #1216
	sub	r1, r1, #4
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, .L37+4
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1200
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1200
	sub	r1, r1, #4
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1184
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1184
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1184
	sub	r1, r1, #4
	sub	r0, fp, #1184
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1168
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1168
	sub	r1, r1, #4
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1152
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1152
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1152
	sub	r1, r1, #4
	sub	r0, fp, #1152
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1156]
	ldr	r3, [fp, #-1168]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1136
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1561]	@ zero_extendqisi2
	ldr	ip, [fp, #-1164]
	ldr	r3, [fp, #-1176]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1136
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1560]	@ zero_extendqisi2
	ldr	ip, [fp, #-1172]
	ldr	r3, [fp, #-1184]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1136
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1559]	@ zero_extendqisi2
	ldr	ip, [fp, #-1180]
	ldr	r3, [fp, #-1192]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1136
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1558]	@ zero_extendqisi2
	ldr	ip, [fp, #-1188]
	ldr	r3, [fp, #-1200]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1120
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1557]	@ zero_extendqisi2
	ldr	ip, [fp, #-1196]
	ldr	r3, [fp, #-1208]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r0, fp, #1120
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1556]	@ zero_extendqisi2
	ldr	ip, [fp, #-1204]
	ldr	r3, [fp, #-1216]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1120
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1256]
	ldr	r3, [fp, #-1160]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1120
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1554]	@ zero_extendqisi2
	ldr	ip, [fp, #-1252]
	ldr	r3, [fp, #-1152]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1104
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1553]	@ zero_extendqisi2
	ldr	ip, [fp, #-1248]
	ldr	r3, [fp, #-1148]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1104
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1552]	@ zero_extendqisi2
	ldr	ip, [fp, #-1244]
	ldr	r3, [fp, #-1144]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1104
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1551]	@ zero_extendqisi2
	ldr	ip, [fp, #-1240]
	ldr	r3, [fp, #-1140]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1104
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1550]	@ zero_extendqisi2
	ldr	ip, [fp, #-1236]
	ldr	r3, [fp, #-1136]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1088
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1549]	@ zero_extendqisi2
	ldr	ip, [fp, #-1232]
	ldr	r3, [fp, #-1132]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1088
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1548]	@ zero_extendqisi2
	ldr	ip, [fp, #-1228]
	ldr	r3, [fp, #-1128]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1088
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1547]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1562]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-1570]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-1555]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-1212]
	add	r3, r1, r3
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1088
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1120]
	ldr	r3, [fp, #-1596]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1545]	@ zero_extendqisi2
	ldr	r3, [fp, #-1116]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1544]	@ zero_extendqisi2
	ldr	r3, [fp, #-1112]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1543]	@ zero_extendqisi2
	ldr	r3, [fp, #-1108]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1072
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1542]	@ zero_extendqisi2
	ldr	r3, [fp, #-1104]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1056
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1541]	@ zero_extendqisi2
	ldr	r3, [fp, #-1100]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r0, fp, #1056
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1540]	@ zero_extendqisi2
	ldr	r3, [fp, #-1096]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1056
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1539]	@ zero_extendqisi2
	ldr	r3, [fp, #-1092]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1056
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1088]
	sub	r1, fp, #1040
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r3, .L37+4
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1056]
	sub	r1, fp, #1040
	sub	r1, r1, #4
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1056]
	sub	r1, fp, #1024
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1056]
	sub	r1, fp, #1024
	sub	r1, r1, #4
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1056]
	sub	r1, fp, #1020
	sub	r0, fp, #1024
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1056]
	sub	r1, fp, #1012
	sub	r0, fp, #1016
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1056]
	sub	r1, fp, #1004
	sub	r0, fp, #1008
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1056]
	sub	r1, fp, #996
	sub	r0, fp, #1000
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1056]
	sub	r1, fp, #988
	sub	r0, fp, #992
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-988]
	ldr	r3, [fp, #-1000]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #984
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1537]	@ zero_extendqisi2
	ldr	ip, [fp, #-996]
	ldr	r3, [fp, #-1008]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #980
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1536]	@ zero_extendqisi2
	ldr	ip, [fp, #-1004]
	ldr	r3, [fp, #-1016]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #976
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1535]	@ zero_extendqisi2
	ldr	ip, [fp, #-1012]
	ldr	r3, [fp, #-1024]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #972
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1534]	@ zero_extendqisi2
	ldr	ip, [fp, #-1020]
	ldr	r3, [fp, #-1032]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #968
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1533]	@ zero_extendqisi2
	ldr	ip, [fp, #-1028]
	ldr	r3, [fp, #-1040]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #964
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1532]	@ zero_extendqisi2
	ldr	ip, [fp, #-1036]
	ldr	r3, [fp, #-1048]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #960
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1088]
	ldr	r3, [fp, #-992]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #956
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1530]	@ zero_extendqisi2
	ldr	ip, [fp, #-1084]
	ldr	r3, [fp, #-984]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #952
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1529]	@ zero_extendqisi2
	ldr	ip, [fp, #-1080]
	ldr	r3, [fp, #-980]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #948
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1528]	@ zero_extendqisi2
	ldr	ip, [fp, #-1076]
	ldr	r3, [fp, #-976]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #944
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1527]	@ zero_extendqisi2
	ldr	ip, [fp, #-1072]
	ldr	r3, [fp, #-972]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #940
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1526]	@ zero_extendqisi2
	ldr	ip, [fp, #-1068]
	ldr	r3, [fp, #-968]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #936
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1525]	@ zero_extendqisi2
	ldr	ip, [fp, #-1064]
	ldr	r3, [fp, #-964]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r0, fp, #932
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1524]	@ zero_extendqisi2
	ldr	ip, [fp, #-1060]
	ldr	r3, [fp, #-960]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #928
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1523]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1538]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-1546]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-1531]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-1044]
	add	r3, r1, r3
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #924
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-952]
	ldr	r3, [fp, #-1596]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #920
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1521]	@ zero_extendqisi2
	ldr	r3, [fp, #-948]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #916
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1520]	@ zero_extendqisi2
	ldr	r3, [fp, #-944]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #912
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1519]	@ zero_extendqisi2
	ldr	r3, [fp, #-940]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #908
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1518]	@ zero_extendqisi2
	ldr	r3, [fp, #-936]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #904
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1517]	@ zero_extendqisi2
	ldr	r3, [fp, #-932]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #900
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1516]	@ zero_extendqisi2
	ldr	r3, [fp, #-928]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #896
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1515]	@ zero_extendqisi2
	ldr	r3, [fp, #-924]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #892
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-920]
	sub	r1, fp, #884
	sub	r0, fp, #888
	ldr	r3, .L37+4
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-888]
	sub	r1, fp, #876
	sub	r0, fp, #880
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-888]
	sub	r1, fp, #868
	sub	r0, fp, #872
	b	.L38
.L39:
	.align	2
.L37:
	.word	.LC5
	.word	-769313487
.L38:
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-888]
	sub	r1, fp, #860
	sub	r0, fp, #864
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-888]
	sub	r1, fp, #852
	sub	r0, fp, #856
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-888]
	sub	r1, fp, #844
	sub	r0, fp, #848
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-888]
	sub	r1, fp, #836
	sub	r0, fp, #840
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-888]
	sub	r1, fp, #828
	sub	r0, fp, #832
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-888]
	sub	r1, fp, #820
	sub	r0, fp, #824
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-820]
	ldr	r3, [fp, #-832]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #816
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1513]	@ zero_extendqisi2
	ldr	ip, [fp, #-828]
	ldr	r3, [fp, #-840]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #812
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1512]	@ zero_extendqisi2
	ldr	ip, [fp, #-836]
	ldr	r3, [fp, #-848]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #808
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1511]	@ zero_extendqisi2
	ldr	ip, [fp, #-844]
	ldr	r3, [fp, #-856]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #804
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1510]	@ zero_extendqisi2
	ldr	ip, [fp, #-852]
	ldr	r3, [fp, #-864]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #800
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1509]	@ zero_extendqisi2
	ldr	ip, [fp, #-860]
	ldr	r3, [fp, #-872]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r0, fp, #796
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1508]	@ zero_extendqisi2
	ldr	ip, [fp, #-868]
	ldr	r3, [fp, #-880]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #792
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-920]
	ldr	r3, [fp, #-824]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #788
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1506]	@ zero_extendqisi2
	ldr	ip, [fp, #-916]
	ldr	r3, [fp, #-816]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #784
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1505]	@ zero_extendqisi2
	ldr	ip, [fp, #-912]
	ldr	r3, [fp, #-812]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #780
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1504]	@ zero_extendqisi2
	ldr	ip, [fp, #-908]
	ldr	r3, [fp, #-808]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #776
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1503]	@ zero_extendqisi2
	ldr	ip, [fp, #-904]
	ldr	r3, [fp, #-804]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #772
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1502]	@ zero_extendqisi2
	ldr	ip, [fp, #-900]
	ldr	r3, [fp, #-800]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #768
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1501]	@ zero_extendqisi2
	ldr	ip, [fp, #-896]
	ldr	r3, [fp, #-796]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #764
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1500]	@ zero_extendqisi2
	ldr	ip, [fp, #-892]
	ldr	r3, [fp, #-792]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #760
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1499]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1514]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-1522]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-1507]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-876]
	add	r3, r1, r3
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #756
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-784]
	ldr	r3, [fp, #-1596]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #752
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1497]	@ zero_extendqisi2
	ldr	r3, [fp, #-780]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #748
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1496]	@ zero_extendqisi2
	ldr	r3, [fp, #-776]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #744
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1495]	@ zero_extendqisi2
	ldr	r3, [fp, #-772]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #740
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1494]	@ zero_extendqisi2
	ldr	r3, [fp, #-768]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #736
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1493]	@ zero_extendqisi2
	ldr	r3, [fp, #-764]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r0, fp, #732
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1492]	@ zero_extendqisi2
	ldr	r3, [fp, #-760]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #728
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1491]	@ zero_extendqisi2
	ldr	r3, [fp, #-756]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #724
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-752]
	sub	r1, fp, #716
	sub	r0, fp, #720
	ldr	r3, .L37+4
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-720]
	sub	r1, fp, #708
	sub	r0, fp, #712
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-720]
	sub	r1, fp, #700
	sub	r0, fp, #704
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-720]
	sub	r1, fp, #692
	sub	r0, fp, #696
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-720]
	sub	r1, fp, #684
	sub	r0, fp, #688
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-720]
	sub	r1, fp, #676
	sub	r0, fp, #680
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-720]
	sub	r1, fp, #668
	sub	r0, fp, #672
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-720]
	sub	r1, fp, #660
	sub	r0, fp, #664
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-720]
	sub	r1, fp, #652
	sub	r0, fp, #656
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-652]
	ldr	r3, [fp, #-664]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #648
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1489]	@ zero_extendqisi2
	ldr	ip, [fp, #-660]
	ldr	r3, [fp, #-672]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #644
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1488]	@ zero_extendqisi2
	ldr	ip, [fp, #-668]
	ldr	r3, [fp, #-680]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #640
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1487]	@ zero_extendqisi2
	ldr	ip, [fp, #-676]
	ldr	r3, [fp, #-688]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #636
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1486]	@ zero_extendqisi2
	ldr	ip, [fp, #-684]
	ldr	r3, [fp, #-696]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #632
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1485]	@ zero_extendqisi2
	ldr	ip, [fp, #-692]
	ldr	r3, [fp, #-704]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #628
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1484]	@ zero_extendqisi2
	ldr	ip, [fp, #-700]
	ldr	r3, [fp, #-712]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #624
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-752]
	ldr	r3, [fp, #-656]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #620
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1482]	@ zero_extendqisi2
	ldr	ip, [fp, #-748]
	ldr	r3, [fp, #-648]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #616
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1481]	@ zero_extendqisi2
	ldr	ip, [fp, #-744]
	ldr	r3, [fp, #-644]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #612
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1480]	@ zero_extendqisi2
	ldr	ip, [fp, #-740]
	ldr	r3, [fp, #-640]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #608
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1479]	@ zero_extendqisi2
	ldr	ip, [fp, #-736]
	ldr	r3, [fp, #-636]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #604
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1478]	@ zero_extendqisi2
	ldr	ip, [fp, #-732]
	ldr	r3, [fp, #-632]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #600
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1477]	@ zero_extendqisi2
	ldr	ip, [fp, #-728]
	ldr	r3, [fp, #-628]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r0, fp, #596
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1476]	@ zero_extendqisi2
	ldr	ip, [fp, #-724]
	ldr	r3, [fp, #-624]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #592
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1475]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1490]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-1498]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-1483]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-708]
	add	r3, r1, r3
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #588
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-616]
	ldr	r3, [fp, #-1596]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #584
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1473]	@ zero_extendqisi2
	ldr	r3, [fp, #-612]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #580
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1472]	@ zero_extendqisi2
	ldr	r3, [fp, #-608]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #576
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1471]	@ zero_extendqisi2
	ldr	r3, [fp, #-604]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #572
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1470]	@ zero_extendqisi2
	ldr	r3, [fp, #-600]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #568
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1469]	@ zero_extendqisi2
	ldr	r3, [fp, #-596]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #564
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1468]	@ zero_extendqisi2
	ldr	r3, [fp, #-592]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #560
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1467]	@ zero_extendqisi2
	ldr	r3, [fp, #-588]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #556
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-584]
	sub	r1, fp, #548
	sub	r0, fp, #552
	ldr	r3, .L37+4
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-552]
	sub	r1, fp, #540
	sub	r0, fp, #544
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-552]
	sub	r1, fp, #532
	sub	r0, fp, #536
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-552]
	sub	r1, fp, #524
	sub	r0, fp, #528
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-552]
	sub	r1, fp, #516
	sub	r0, fp, #520
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-552]
	sub	r1, fp, #508
	sub	r0, fp, #512
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-552]
	sub	r1, fp, #500
	sub	r0, fp, #504
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-552]
	sub	r1, fp, #492
	sub	r0, fp, #496
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-552]
	sub	r1, fp, #484
	sub	r0, fp, #488
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-484]
	ldr	r3, [fp, #-496]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #480
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1465]	@ zero_extendqisi2
	ldr	ip, [fp, #-492]
	ldr	r3, [fp, #-504]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #476
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1464]	@ zero_extendqisi2
	ldr	ip, [fp, #-500]
	ldr	r3, [fp, #-512]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #472
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1463]	@ zero_extendqisi2
	ldr	ip, [fp, #-508]
	ldr	r3, [fp, #-520]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #468
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1462]	@ zero_extendqisi2
	ldr	ip, [fp, #-516]
	ldr	r3, [fp, #-528]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #464
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1461]	@ zero_extendqisi2
	ldr	ip, [fp, #-524]
	ldr	r3, [fp, #-536]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r0, fp, #460
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1460]	@ zero_extendqisi2
	ldr	ip, [fp, #-532]
	ldr	r3, [fp, #-544]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #456
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-584]
	ldr	r3, [fp, #-488]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #452
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1458]	@ zero_extendqisi2
	ldr	ip, [fp, #-580]
	ldr	r3, [fp, #-480]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #448
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1457]	@ zero_extendqisi2
	ldr	ip, [fp, #-576]
	ldr	r3, [fp, #-476]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #444
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1456]	@ zero_extendqisi2
	ldr	ip, [fp, #-572]
	ldr	r3, [fp, #-472]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #440
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1455]	@ zero_extendqisi2
	ldr	ip, [fp, #-568]
	ldr	r3, [fp, #-468]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #436
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1454]	@ zero_extendqisi2
	ldr	ip, [fp, #-564]
	ldr	r3, [fp, #-464]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #432
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1453]	@ zero_extendqisi2
	ldr	ip, [fp, #-560]
	ldr	r3, [fp, #-460]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #428
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1452]	@ zero_extendqisi2
	ldr	ip, [fp, #-556]
	ldr	r3, [fp, #-456]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #424
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1451]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1466]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-1474]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-1459]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-540]
	add	r3, r1, r3
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #420
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-448]
	ldr	r3, [fp, #-1596]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #416
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1449]	@ zero_extendqisi2
	ldr	r3, [fp, #-444]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #412
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1448]	@ zero_extendqisi2
	ldr	r3, [fp, #-440]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #408
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1447]	@ zero_extendqisi2
	ldr	r3, [fp, #-436]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #404
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1446]	@ zero_extendqisi2
	ldr	r3, [fp, #-432]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #400
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1445]	@ zero_extendqisi2
	ldr	r3, [fp, #-428]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r0, fp, #396
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1444]	@ zero_extendqisi2
	ldr	r3, [fp, #-424]
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #392
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1443]	@ zero_extendqisi2
	ldr	r3, [fp, #-420]
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #388
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-416]
	sub	r1, fp, #380
	sub	r0, fp, #384
	ldr	r3, .L37+4
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-384]
	sub	r1, fp, #372
	sub	r0, fp, #376
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-384]
	sub	r1, fp, #364
	sub	r0, fp, #368
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-384]
	sub	r1, fp, #356
	sub	r0, fp, #360
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-384]
	sub	r1, fp, #348
	sub	r0, fp, #352
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-384]
	sub	r1, fp, #340
	sub	r0, fp, #344
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-384]
	sub	r1, fp, #332
	sub	r0, fp, #336
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-384]
	sub	r1, fp, #324
	sub	r0, fp, #328
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-384]
	sub	r1, fp, #316
	sub	r0, fp, #320
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-316]
	ldr	r3, [fp, #-328]
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #312
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1441]	@ zero_extendqisi2
	ldr	ip, [fp, #-324]
	ldr	r3, [fp, #-336]
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #308
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1440]	@ zero_extendqisi2
	ldr	ip, [fp, #-332]
	ldr	r3, [fp, #-344]
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #304
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1439]	@ zero_extendqisi2
	ldr	ip, [fp, #-340]
	ldr	r3, [fp, #-352]
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #300
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1438]	@ zero_extendqisi2
	ldr	ip, [fp, #-348]
	ldr	r3, [fp, #-360]
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #296
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1437]	@ zero_extendqisi2
	ldr	ip, [fp, #-356]
	ldr	r3, [fp, #-368]
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #292
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1436]	@ zero_extendqisi2
	ldr	ip, [fp, #-364]
	ldr	r3, [fp, #-376]
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #288
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-416]
	ldr	r3, [fp, #-320]
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #284
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1434]	@ zero_extendqisi2
	ldr	ip, [fp, #-412]
	ldr	r3, [fp, #-312]
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #280
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1433]	@ zero_extendqisi2
	ldr	ip, [fp, #-408]
	ldr	r3, [fp, #-308]
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #276
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1432]	@ zero_extendqisi2
	ldr	ip, [fp, #-404]
	ldr	r3, [fp, #-304]
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #272
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1431]	@ zero_extendqisi2
	ldr	ip, [fp, #-400]
	ldr	r3, [fp, #-300]
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #268
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1430]	@ zero_extendqisi2
	ldr	ip, [fp, #-396]
	ldr	r3, [fp, #-296]
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #264
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1429]	@ zero_extendqisi2
	ldr	ip, [fp, #-392]
	ldr	r3, [fp, #-292]
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r0, fp, #260
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1428]	@ zero_extendqisi2
	ldr	ip, [fp, #-388]
	ldr	r3, [fp, #-288]
	sub	r1, fp, #1408
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #256
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1427]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1442]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-1450]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-1435]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-372]
	add	r3, r1, r3
	sub	r1, fp, #1408
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #252
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-280]
	ldr	r3, [fp, #-1596]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #1408
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #248
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1425]	@ zero_extendqisi2
	ldr	r3, [fp, #-276]
	sub	r1, fp, #1408
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #244
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1424]	@ zero_extendqisi2
	ldr	r3, [fp, #-272]
	sub	r1, fp, #1408
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #240
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1423]	@ zero_extendqisi2
	ldr	r3, [fp, #-268]
	sub	r1, fp, #1408
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #236
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1422]	@ zero_extendqisi2
	ldr	r3, [fp, #-264]
	sub	r1, fp, #1408
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #232
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1421]	@ zero_extendqisi2
	ldr	r3, [fp, #-260]
	sub	r1, fp, #1408
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #228
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1420]	@ zero_extendqisi2
	ldr	r3, [fp, #-256]
	sub	r1, fp, #1408
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #224
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1419]	@ zero_extendqisi2
	ldr	r3, [fp, #-252]
	sub	r1, fp, #1408
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #220
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-248]
	sub	r1, fp, #212
	sub	r0, fp, #216
	ldr	r3, .L40
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-216]
	sub	r1, fp, #204
	sub	r0, fp, #208
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-216]
	sub	r1, fp, #196
	sub	r0, fp, #200
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-216]
	sub	r1, fp, #188
	sub	r0, fp, #192
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-216]
	sub	r1, fp, #180
	sub	r0, fp, #184
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-216]
	sub	r1, fp, #172
	sub	r0, fp, #176
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-216]
	sub	r1, fp, #164
	sub	r0, fp, #168
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-216]
	sub	r1, fp, #156
	sub	r0, fp, #160
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-216]
	sub	r1, fp, #148
	sub	r0, fp, #152
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-148]
	ldr	r3, [fp, #-160]
	sub	r1, fp, #1408
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #144
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1417]	@ zero_extendqisi2
	ldr	ip, [fp, #-156]
	ldr	r3, [fp, #-168]
	sub	r1, fp, #1408
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #140
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1416]	@ zero_extendqisi2
	ldr	ip, [fp, #-164]
	ldr	r3, [fp, #-176]
	sub	r1, fp, #1408
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #136
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1415]	@ zero_extendqisi2
	ldr	ip, [fp, #-172]
	ldr	r3, [fp, #-184]
	sub	r1, fp, #1408
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #132
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1414]	@ zero_extendqisi2
	ldr	ip, [fp, #-180]
	ldr	r3, [fp, #-192]
	sub	r1, fp, #1408
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #128
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1413]	@ zero_extendqisi2
	ldr	ip, [fp, #-188]
	ldr	r3, [fp, #-200]
	sub	r1, fp, #1408
	sub	r1, r1, #4
	sub	r0, fp, #124
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1412]	@ zero_extendqisi2
	ldr	ip, [fp, #-196]
	ldr	r3, [fp, #-208]
	sub	r1, fp, #1392
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #120
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-248]
	ldr	r3, [fp, #-152]
	sub	r1, fp, #1392
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #116
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1410]	@ zero_extendqisi2
	ldr	ip, [fp, #-244]
	ldr	r3, [fp, #-144]
	sub	r1, fp, #1392
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #112
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1409]	@ zero_extendqisi2
	ldr	ip, [fp, #-240]
	ldr	r3, [fp, #-140]
	sub	r1, fp, #1392
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #108
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1408]	@ zero_extendqisi2
	ldr	ip, [fp, #-236]
	ldr	r3, [fp, #-136]
	sub	r1, fp, #1392
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #104
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1407]	@ zero_extendqisi2
	ldr	ip, [fp, #-232]
	ldr	r3, [fp, #-132]
	sub	r1, fp, #1392
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #100
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1406]	@ zero_extendqisi2
	ldr	ip, [fp, #-228]
	ldr	r3, [fp, #-128]
	sub	r1, fp, #1392
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #96
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1405]	@ zero_extendqisi2
	ldr	ip, [fp, #-224]
	ldr	r3, [fp, #-124]
	sub	r1, fp, #1392
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #92
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1404]	@ zero_extendqisi2
	ldr	ip, [fp, #-220]
	ldr	r3, [fp, #-120]
	sub	r1, fp, #1392
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #88
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1403]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1418]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-1426]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-1411]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-204]
	add	r3, r1, r3
	sub	r1, fp, #1392
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #84
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r3, [fp, #-112]
	sub	r1, fp, #1392
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #80
	mvn	r2, #976
	str	r2, [sp]
	mov	r2, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-1401]	@ zero_extendqisi2
	ldr	r3, [fp, #-108]
	sub	r1, fp, #1392
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #76
	mvn	ip, #1
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-1400]	@ zero_extendqisi2
	ldr	r3, [fp, #-104]
	sub	r1, fp, #1392
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #72
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-1399]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	sub	r1, fp, #1392
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #68
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-1398]	@ zero_extendqisi2
	ldr	r3, [fp, #-96]
	sub	r1, fp, #1392
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #64
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-1397]	@ zero_extendqisi2
	ldr	r3, [fp, #-92]
	sub	r1, fp, #1392
	sub	r1, r1, #4
	sub	r0, fp, #60
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-1396]	@ zero_extendqisi2
	ldr	r3, [fp, #-88]
	sub	r1, fp, #1376
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #56
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-1395]	@ zero_extendqisi2
	ldr	r3, [fp, #-84]
	sub	r1, fp, #1376
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #52
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-1394]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1402]	@ zero_extendqisi2
	mov	ip, r3
	sub	r1, fp, #1376
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #48
	mov	r3, #0
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r1, [fp, #-1393]	@ zero_extendqisi2
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-112]
	sub	r0, fp, #44
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-1393]	@ zero_extendqisi2
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-108]
	sub	r0, fp, #40
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-1393]	@ zero_extendqisi2
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-104]
	sub	r0, fp, #36
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-1393]	@ zero_extendqisi2
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-100]
	sub	r0, fp, #32
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-1393]	@ zero_extendqisi2
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-96]
	sub	r0, fp, #28
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-1393]	@ zero_extendqisi2
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-92]
	sub	r0, fp, #24
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-1393]	@ zero_extendqisi2
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-88]
	sub	r0, fp, #20
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-1393]	@ zero_extendqisi2
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-84]
	sub	r0, fp, #16
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-1592]
	str	r2, [r3]
	ldr	r3, [fp, #-1592]
	add	r3, r3, #4
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-1592]
	add	r3, r3, #8
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-1592]
	add	r3, r3, #12
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-1592]
	add	r3, r3, #16
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-1592]
	add	r3, r3, #20
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-1592]
	add	r3, r3, #24
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-1592]
	add	r3, r3, #28
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	nop
	ldr	r3, .L40+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L36
	bl	__stack_chk_fail
.L36:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L41:
	.align	2
.L40:
	.word	-769313487
	.word	.LC5
	.size	fiat_secp256k1_from_montgomery, .-fiat_secp256k1_from_montgomery
	.section	.rodata
	.align	2
.LC6:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_to_montgomery, %function
fiat_secp256k1_to_montgomery:
	@ args = 0, pretend = 0, frame = 1832
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1840
	str	r0, [fp, #-1832]
	str	r1, [fp, #-1836]
	ldr	r3, .L44
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-1836]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-1836]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-1836]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-1836]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-1836]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-1836]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-1836]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-1836]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	sub	r1, fp, #1600
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, .L44+4
	ldr	r2, [fp, #-12]
	bl	fiat_secp256k1_mulx_u32
	sub	r1, fp, #1584
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1600
	sub	r0, r0, #4
	ldr	r3, .L44+8
	ldr	r2, [fp, #-12]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1600]
	ldr	r3, [fp, #-1612]
	sub	r1, fp, #1808
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1584
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1821]	@ zero_extendqisi2
	ldr	ip, [fp, #-1608]
	sub	r1, fp, #1808
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1584
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-12]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1604]
	sub	r1, fp, #1568
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1584
	sub	r0, r0, #4
	ldr	r3, .L44+12
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1588]
	sub	r1, fp, #1568
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1568
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1588]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1568
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1588]
	sub	r1, fp, #1552
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1552
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1588]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1552
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1588]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1536
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1588]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1536
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1588]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1520
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1588]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1520
	sub	r0, r0, #4
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1532]
	sub	r1, fp, #1808
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1504
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1819]	@ zero_extendqisi2
	ldr	ip, [fp, #-1528]
	ldr	r3, [fp, #-1540]
	sub	r1, fp, #1808
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1504
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1818]	@ zero_extendqisi2
	ldr	ip, [fp, #-1536]
	ldr	r3, [fp, #-1548]
	sub	r1, fp, #1808
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1504
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1817]	@ zero_extendqisi2
	ldr	ip, [fp, #-1544]
	ldr	r3, [fp, #-1556]
	sub	r1, fp, #1808
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1488
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1816]	@ zero_extendqisi2
	ldr	ip, [fp, #-1552]
	ldr	r3, [fp, #-1564]
	sub	r1, fp, #1808
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1488
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1815]	@ zero_extendqisi2
	ldr	ip, [fp, #-1560]
	ldr	r3, [fp, #-1572]
	sub	r1, fp, #1808
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1488
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1814]	@ zero_extendqisi2
	ldr	ip, [fp, #-1568]
	ldr	r3, [fp, #-1580]
	sub	r1, fp, #1808
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1488
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1604]
	ldr	r3, [fp, #-1524]
	sub	r1, fp, #1808
	sub	r1, r1, #4
	sub	r0, fp, #1472
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1812]	@ zero_extendqisi2
	ldr	ip, [fp, #-1596]
	ldr	r3, [fp, #-1516]
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1472
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1811]	@ zero_extendqisi2
	ldr	ip, [fp, #-1592]
	ldr	r3, [fp, #-1512]
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1472
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1810]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1820]	@ zero_extendqisi2
	mov	ip, r3
	ldr	r3, [fp, #-1508]
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1472
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1809]	@ zero_extendqisi2
	ldr	r3, [fp, #-1504]
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1456
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1808]	@ zero_extendqisi2
	ldr	r3, [fp, #-1500]
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1456
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1807]	@ zero_extendqisi2
	ldr	r3, [fp, #-1496]
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1456
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1806]	@ zero_extendqisi2
	ldr	r3, [fp, #-1492]
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1456
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1805]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1813]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-1576]
	add	r3, r1, r3
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, .L44+4
	ldr	r2, [fp, #-40]
	bl	fiat_secp256k1_mulx_u32
	sub	r1, fp, #1424
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1440
	sub	r0, r0, #4
	ldr	r3, .L44+8
	ldr	r2, [fp, #-40]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1440]
	ldr	r3, [fp, #-1452]
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1803]	@ zero_extendqisi2
	ldr	ip, [fp, #-1448]
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-40]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1484]
	ldr	r3, [fp, #-1444]
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1424
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1801]	@ zero_extendqisi2
	ldr	ip, [fp, #-1480]
	ldr	r3, [fp, #-1436]
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1800]	@ zero_extendqisi2
	ldr	ip, [fp, #-1476]
	ldr	r3, [fp, #-1432]
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1799]	@ zero_extendqisi2
	ldr	r3, [fp, #-1472]
	ldrb	r1, [fp, #-1802]	@ zero_extendqisi2
	mov	ip, r1
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1798]	@ zero_extendqisi2
	ldr	r3, [fp, #-1468]
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1408
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1797]	@ zero_extendqisi2
	ldr	r3, [fp, #-1464]
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1796]	@ zero_extendqisi2
	ldr	r3, [fp, #-1460]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1795]	@ zero_extendqisi2
	ldr	r3, [fp, #-1456]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1428]
	sub	r1, fp, #1376
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1392
	sub	r0, r0, #4
	ldr	r3, .L44+12
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1396]
	sub	r1, fp, #1376
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1376
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1396]
	sub	r1, fp, #1360
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1376
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1396]
	sub	r1, fp, #1360
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1360
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1396]
	sub	r1, fp, #1344
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1360
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1396]
	sub	r1, fp, #1344
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1344
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1396]
	sub	r1, fp, #1328
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1344
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1396]
	sub	r1, fp, #1328
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1328
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1396]
	sub	r1, fp, #1312
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1328
	sub	r0, r0, #4
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1328]
	ldr	r3, [fp, #-1340]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1312
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1793]	@ zero_extendqisi2
	ldr	ip, [fp, #-1336]
	ldr	r3, [fp, #-1348]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1312
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1792]	@ zero_extendqisi2
	ldr	ip, [fp, #-1344]
	ldr	r3, [fp, #-1356]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1312
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1791]	@ zero_extendqisi2
	ldr	ip, [fp, #-1352]
	ldr	r3, [fp, #-1364]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1296
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1790]	@ zero_extendqisi2
	ldr	ip, [fp, #-1360]
	ldr	r3, [fp, #-1372]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1296
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1789]	@ zero_extendqisi2
	ldr	ip, [fp, #-1368]
	ldr	r3, [fp, #-1380]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1296
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1788]	@ zero_extendqisi2
	ldr	ip, [fp, #-1376]
	ldr	r3, [fp, #-1388]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1296
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1428]
	ldr	r3, [fp, #-1332]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1280
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1786]	@ zero_extendqisi2
	ldr	ip, [fp, #-1424]
	ldr	r3, [fp, #-1324]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1280
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1785]	@ zero_extendqisi2
	ldr	ip, [fp, #-1420]
	ldr	r3, [fp, #-1320]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1280
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1784]	@ zero_extendqisi2
	ldr	ip, [fp, #-1416]
	ldr	r3, [fp, #-1316]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1280
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1783]	@ zero_extendqisi2
	ldr	ip, [fp, #-1412]
	ldr	r3, [fp, #-1312]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1264
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1782]	@ zero_extendqisi2
	ldr	ip, [fp, #-1408]
	ldr	r3, [fp, #-1308]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1264
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1781]	@ zero_extendqisi2
	ldr	ip, [fp, #-1404]
	ldr	r3, [fp, #-1304]
	sub	r1, fp, #1776
	sub	r1, r1, #4
	sub	r0, fp, #1264
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1780]	@ zero_extendqisi2
	ldr	ip, [fp, #-1400]
	ldr	r3, [fp, #-1300]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1264
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1779]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1794]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-1804]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-1787]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-1384]
	add	r3, r1, r3
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	sub	r1, fp, #1248
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, .L44+4
	ldr	r2, [fp, #-36]
	bl	fiat_secp256k1_mulx_u32
	sub	r1, fp, #1232
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1248
	sub	r0, r0, #4
	ldr	r3, .L44+8
	ldr	r2, [fp, #-36]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1248]
	ldr	r3, [fp, #-1260]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1777]	@ zero_extendqisi2
	ldr	ip, [fp, #-1256]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-36]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1292]
	ldr	r3, [fp, #-1252]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1232
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1775]	@ zero_extendqisi2
	ldr	ip, [fp, #-1288]
	ldr	r3, [fp, #-1244]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1774]	@ zero_extendqisi2
	ldr	ip, [fp, #-1284]
	ldr	r3, [fp, #-1240]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1773]	@ zero_extendqisi2
	ldr	r3, [fp, #-1280]
	ldrb	r1, [fp, #-1776]	@ zero_extendqisi2
	mov	ip, r1
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1772]	@ zero_extendqisi2
	ldr	r3, [fp, #-1276]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1216
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1771]	@ zero_extendqisi2
	ldr	r3, [fp, #-1272]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1770]	@ zero_extendqisi2
	ldr	r3, [fp, #-1268]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1769]	@ zero_extendqisi2
	ldr	r3, [fp, #-1264]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1236]
	sub	r1, fp, #1184
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1200
	sub	r0, r0, #4
	ldr	r3, .L44+12
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1204]
	sub	r1, fp, #1184
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1184
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1204]
	sub	r1, fp, #1168
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1184
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1204]
	sub	r1, fp, #1168
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1204]
	sub	r1, fp, #1152
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1168
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1204]
	sub	r1, fp, #1152
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1152
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1204]
	sub	r1, fp, #1136
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1152
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1204]
	sub	r1, fp, #1136
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1136
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1204]
	sub	r1, fp, #1120
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1136
	sub	r0, r0, #4
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1136]
	ldr	r3, [fp, #-1148]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1120
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1767]	@ zero_extendqisi2
	ldr	ip, [fp, #-1144]
	ldr	r3, [fp, #-1156]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1120
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1766]	@ zero_extendqisi2
	ldr	ip, [fp, #-1152]
	ldr	r3, [fp, #-1164]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1120
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1765]	@ zero_extendqisi2
	ldr	ip, [fp, #-1160]
	ldr	r3, [fp, #-1172]
	sub	r1, fp, #1760
	sub	r1, r1, #4
	sub	r0, fp, #1104
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1764]	@ zero_extendqisi2
	ldr	ip, [fp, #-1168]
	ldr	r3, [fp, #-1180]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1104
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1763]	@ zero_extendqisi2
	ldr	ip, [fp, #-1176]
	ldr	r3, [fp, #-1188]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1104
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1762]	@ zero_extendqisi2
	ldr	ip, [fp, #-1184]
	ldr	r3, [fp, #-1196]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1104
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1236]
	ldr	r3, [fp, #-1140]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #12
	b	.L45
.L46:
	.align	2
.L44:
	.word	.LC6
	.word	1954
	.word	954529
	.word	-769313487
.L45:
	sub	r0, fp, #1088
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1760]	@ zero_extendqisi2
	ldr	ip, [fp, #-1232]
	ldr	r3, [fp, #-1132]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1088
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1759]	@ zero_extendqisi2
	ldr	ip, [fp, #-1228]
	ldr	r3, [fp, #-1128]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1088
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1758]	@ zero_extendqisi2
	ldr	ip, [fp, #-1224]
	ldr	r3, [fp, #-1124]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1088
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1757]	@ zero_extendqisi2
	ldr	ip, [fp, #-1220]
	ldr	r3, [fp, #-1120]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1756]	@ zero_extendqisi2
	ldr	ip, [fp, #-1216]
	ldr	r3, [fp, #-1116]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1755]	@ zero_extendqisi2
	ldr	ip, [fp, #-1212]
	ldr	r3, [fp, #-1112]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1754]	@ zero_extendqisi2
	ldr	ip, [fp, #-1208]
	ldr	r3, [fp, #-1108]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1072
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1753]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1768]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-1778]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-1761]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-1192]
	add	r3, r1, r3
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1056
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	sub	r1, fp, #1056
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1056
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, .L44+4
	ldr	r2, [fp, #-32]
	bl	fiat_secp256k1_mulx_u32
	sub	r1, fp, #1040
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1056
	sub	r0, r0, #4
	ldr	r3, .L44+8
	ldr	r2, [fp, #-32]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1056]
	ldr	r3, [fp, #-1068]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1751]	@ zero_extendqisi2
	ldr	ip, [fp, #-1064]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-32]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1100]
	ldr	r3, [fp, #-1060]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1040
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1749]	@ zero_extendqisi2
	ldr	ip, [fp, #-1096]
	ldr	r3, [fp, #-1052]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1748]	@ zero_extendqisi2
	ldr	ip, [fp, #-1092]
	ldr	r3, [fp, #-1048]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1747]	@ zero_extendqisi2
	ldr	r3, [fp, #-1088]
	ldrb	r1, [fp, #-1750]	@ zero_extendqisi2
	mov	ip, r1
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1746]	@ zero_extendqisi2
	ldr	r3, [fp, #-1084]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1024
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1745]	@ zero_extendqisi2
	ldr	r3, [fp, #-1080]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1024
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1744]	@ zero_extendqisi2
	ldr	r3, [fp, #-1076]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1020
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1743]	@ zero_extendqisi2
	ldr	r3, [fp, #-1072]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1016
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1044]
	sub	r1, fp, #1008
	sub	r0, fp, #1012
	ldr	r3, .L44+12
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1012]
	sub	r1, fp, #1000
	sub	r0, fp, #1004
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1012]
	sub	r1, fp, #992
	sub	r0, fp, #996
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1012]
	sub	r1, fp, #984
	sub	r0, fp, #988
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1012]
	sub	r1, fp, #976
	sub	r0, fp, #980
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1012]
	sub	r1, fp, #968
	sub	r0, fp, #972
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1012]
	sub	r1, fp, #960
	sub	r0, fp, #964
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1012]
	sub	r1, fp, #952
	sub	r0, fp, #956
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-1012]
	sub	r1, fp, #944
	sub	r0, fp, #948
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-944]
	ldr	r3, [fp, #-956]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #940
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1741]	@ zero_extendqisi2
	ldr	ip, [fp, #-952]
	ldr	r3, [fp, #-964]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #936
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1740]	@ zero_extendqisi2
	ldr	ip, [fp, #-960]
	ldr	r3, [fp, #-972]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #932
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1739]	@ zero_extendqisi2
	ldr	ip, [fp, #-968]
	ldr	r3, [fp, #-980]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #928
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1738]	@ zero_extendqisi2
	ldr	ip, [fp, #-976]
	ldr	r3, [fp, #-988]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #924
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1737]	@ zero_extendqisi2
	ldr	ip, [fp, #-984]
	ldr	r3, [fp, #-996]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #920
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1736]	@ zero_extendqisi2
	ldr	ip, [fp, #-992]
	ldr	r3, [fp, #-1004]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #916
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-1044]
	ldr	r3, [fp, #-948]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #912
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1734]	@ zero_extendqisi2
	ldr	ip, [fp, #-1040]
	ldr	r3, [fp, #-940]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #908
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1733]	@ zero_extendqisi2
	ldr	ip, [fp, #-1036]
	ldr	r3, [fp, #-936]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r0, fp, #904
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1732]	@ zero_extendqisi2
	ldr	ip, [fp, #-1032]
	ldr	r3, [fp, #-932]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #900
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1731]	@ zero_extendqisi2
	ldr	ip, [fp, #-1028]
	ldr	r3, [fp, #-928]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #896
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1730]	@ zero_extendqisi2
	ldr	ip, [fp, #-1024]
	ldr	r3, [fp, #-924]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #892
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1729]	@ zero_extendqisi2
	ldr	ip, [fp, #-1020]
	ldr	r3, [fp, #-920]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #888
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1728]	@ zero_extendqisi2
	ldr	ip, [fp, #-1016]
	ldr	r3, [fp, #-916]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #884
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1727]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1742]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-1752]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-1735]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-1000]
	add	r3, r1, r3
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #880
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	sub	r1, fp, #872
	sub	r0, fp, #876
	ldr	r3, .L44+4
	ldr	r2, [fp, #-28]
	bl	fiat_secp256k1_mulx_u32
	sub	r1, fp, #864
	sub	r0, fp, #868
	ldr	r3, .L44+8
	ldr	r2, [fp, #-28]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-864]
	ldr	r3, [fp, #-876]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #860
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1725]	@ zero_extendqisi2
	ldr	ip, [fp, #-872]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #856
	ldr	r3, [fp, #-28]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-908]
	ldr	r3, [fp, #-868]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #852
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1723]	@ zero_extendqisi2
	ldr	ip, [fp, #-904]
	ldr	r3, [fp, #-860]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #848
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1722]	@ zero_extendqisi2
	ldr	ip, [fp, #-900]
	ldr	r3, [fp, #-856]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #844
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1721]	@ zero_extendqisi2
	ldr	r3, [fp, #-896]
	ldrb	r1, [fp, #-1724]	@ zero_extendqisi2
	mov	ip, r1
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #840
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1720]	@ zero_extendqisi2
	ldr	r3, [fp, #-892]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #836
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1719]	@ zero_extendqisi2
	ldr	r3, [fp, #-888]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #832
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1718]	@ zero_extendqisi2
	ldr	r3, [fp, #-884]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #828
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1717]	@ zero_extendqisi2
	ldr	r3, [fp, #-880]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r0, fp, #824
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-852]
	sub	r1, fp, #816
	sub	r0, fp, #820
	ldr	r3, .L44+12
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-820]
	sub	r1, fp, #808
	sub	r0, fp, #812
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-820]
	sub	r1, fp, #800
	sub	r0, fp, #804
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-820]
	sub	r1, fp, #792
	sub	r0, fp, #796
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-820]
	sub	r1, fp, #784
	sub	r0, fp, #788
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-820]
	sub	r1, fp, #776
	sub	r0, fp, #780
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-820]
	sub	r1, fp, #768
	sub	r0, fp, #772
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-820]
	sub	r1, fp, #760
	sub	r0, fp, #764
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-820]
	sub	r1, fp, #752
	sub	r0, fp, #756
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-752]
	ldr	r3, [fp, #-764]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #748
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1715]	@ zero_extendqisi2
	ldr	ip, [fp, #-760]
	ldr	r3, [fp, #-772]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #744
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1714]	@ zero_extendqisi2
	ldr	ip, [fp, #-768]
	ldr	r3, [fp, #-780]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #740
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1713]	@ zero_extendqisi2
	ldr	ip, [fp, #-776]
	ldr	r3, [fp, #-788]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #736
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1712]	@ zero_extendqisi2
	ldr	ip, [fp, #-784]
	ldr	r3, [fp, #-796]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #732
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1711]	@ zero_extendqisi2
	ldr	ip, [fp, #-792]
	ldr	r3, [fp, #-804]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #728
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1710]	@ zero_extendqisi2
	ldr	ip, [fp, #-800]
	ldr	r3, [fp, #-812]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #724
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-852]
	ldr	r3, [fp, #-756]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #720
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1708]	@ zero_extendqisi2
	ldr	ip, [fp, #-848]
	ldr	r3, [fp, #-748]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #716
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1707]	@ zero_extendqisi2
	ldr	ip, [fp, #-844]
	ldr	r3, [fp, #-744]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #712
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1706]	@ zero_extendqisi2
	ldr	ip, [fp, #-840]
	ldr	r3, [fp, #-740]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #708
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1705]	@ zero_extendqisi2
	ldr	ip, [fp, #-836]
	ldr	r3, [fp, #-736]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #704
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1704]	@ zero_extendqisi2
	ldr	ip, [fp, #-832]
	ldr	r3, [fp, #-732]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #700
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1703]	@ zero_extendqisi2
	ldr	ip, [fp, #-828]
	ldr	r3, [fp, #-728]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #696
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1702]	@ zero_extendqisi2
	ldr	ip, [fp, #-824]
	ldr	r3, [fp, #-724]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #692
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1701]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1716]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-1726]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-1709]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-808]
	add	r3, r1, r3
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r0, fp, #688
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	sub	r1, fp, #680
	sub	r0, fp, #684
	ldr	r3, .L44+4
	ldr	r2, [fp, #-24]
	bl	fiat_secp256k1_mulx_u32
	sub	r1, fp, #672
	sub	r0, fp, #676
	ldr	r3, .L44+8
	ldr	r2, [fp, #-24]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-672]
	ldr	r3, [fp, #-684]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #668
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1699]	@ zero_extendqisi2
	ldr	ip, [fp, #-680]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #664
	ldr	r3, [fp, #-24]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-716]
	ldr	r3, [fp, #-676]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #660
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1697]	@ zero_extendqisi2
	ldr	ip, [fp, #-712]
	ldr	r3, [fp, #-668]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #656
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1696]	@ zero_extendqisi2
	ldr	ip, [fp, #-708]
	ldr	r3, [fp, #-664]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #652
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1695]	@ zero_extendqisi2
	ldr	r3, [fp, #-704]
	ldrb	r1, [fp, #-1698]	@ zero_extendqisi2
	mov	ip, r1
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #648
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1694]	@ zero_extendqisi2
	ldr	r3, [fp, #-700]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #644
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1693]	@ zero_extendqisi2
	ldr	r3, [fp, #-696]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #640
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1692]	@ zero_extendqisi2
	ldr	r3, [fp, #-692]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #636
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1691]	@ zero_extendqisi2
	ldr	r3, [fp, #-688]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #632
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-660]
	sub	r1, fp, #624
	sub	r0, fp, #628
	ldr	r3, .L44+12
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-628]
	sub	r1, fp, #616
	sub	r0, fp, #620
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-628]
	sub	r1, fp, #608
	sub	r0, fp, #612
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-628]
	sub	r1, fp, #600
	sub	r0, fp, #604
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-628]
	sub	r1, fp, #592
	sub	r0, fp, #596
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-628]
	sub	r1, fp, #584
	sub	r0, fp, #588
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-628]
	sub	r1, fp, #576
	sub	r0, fp, #580
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-628]
	sub	r1, fp, #568
	sub	r0, fp, #572
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-628]
	sub	r1, fp, #560
	sub	r0, fp, #564
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-560]
	ldr	r3, [fp, #-572]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #556
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1689]	@ zero_extendqisi2
	ldr	ip, [fp, #-568]
	ldr	r3, [fp, #-580]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #552
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1688]	@ zero_extendqisi2
	ldr	ip, [fp, #-576]
	ldr	r3, [fp, #-588]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #548
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1687]	@ zero_extendqisi2
	ldr	ip, [fp, #-584]
	ldr	r3, [fp, #-596]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #544
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1686]	@ zero_extendqisi2
	ldr	ip, [fp, #-592]
	ldr	r3, [fp, #-604]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #540
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1685]	@ zero_extendqisi2
	ldr	ip, [fp, #-600]
	ldr	r3, [fp, #-612]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r0, fp, #536
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1684]	@ zero_extendqisi2
	ldr	ip, [fp, #-608]
	ldr	r3, [fp, #-620]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #532
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-660]
	ldr	r3, [fp, #-564]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #528
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1682]	@ zero_extendqisi2
	ldr	ip, [fp, #-656]
	ldr	r3, [fp, #-556]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #524
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1681]	@ zero_extendqisi2
	ldr	ip, [fp, #-652]
	ldr	r3, [fp, #-552]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #520
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1680]	@ zero_extendqisi2
	ldr	ip, [fp, #-648]
	ldr	r3, [fp, #-548]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #516
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1679]	@ zero_extendqisi2
	ldr	ip, [fp, #-644]
	ldr	r3, [fp, #-544]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #512
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1678]	@ zero_extendqisi2
	ldr	ip, [fp, #-640]
	ldr	r3, [fp, #-540]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #508
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1677]	@ zero_extendqisi2
	ldr	ip, [fp, #-636]
	ldr	r3, [fp, #-536]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #504
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1676]	@ zero_extendqisi2
	ldr	ip, [fp, #-632]
	ldr	r3, [fp, #-532]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #500
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1675]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1690]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-1700]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-1683]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-616]
	add	r3, r1, r3
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #496
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	sub	r1, fp, #488
	sub	r0, fp, #492
	ldr	r3, .L47
	ldr	r2, [fp, #-20]
	bl	fiat_secp256k1_mulx_u32
	sub	r1, fp, #480
	sub	r0, fp, #484
	ldr	r3, .L47+4
	ldr	r2, [fp, #-20]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-480]
	ldr	r3, [fp, #-492]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #476
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1673]	@ zero_extendqisi2
	ldr	ip, [fp, #-488]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #472
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-524]
	ldr	r3, [fp, #-484]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #468
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1671]	@ zero_extendqisi2
	ldr	ip, [fp, #-520]
	ldr	r3, [fp, #-476]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #464
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1670]	@ zero_extendqisi2
	ldr	ip, [fp, #-516]
	ldr	r3, [fp, #-472]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #460
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1669]	@ zero_extendqisi2
	ldr	r3, [fp, #-512]
	ldrb	r1, [fp, #-1672]	@ zero_extendqisi2
	mov	ip, r1
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r0, fp, #456
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1668]	@ zero_extendqisi2
	ldr	r3, [fp, #-508]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #452
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1667]	@ zero_extendqisi2
	ldr	r3, [fp, #-504]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #448
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1666]	@ zero_extendqisi2
	ldr	r3, [fp, #-500]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #444
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1665]	@ zero_extendqisi2
	ldr	r3, [fp, #-496]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #440
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-468]
	sub	r1, fp, #432
	sub	r0, fp, #436
	ldr	r3, .L47+8
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-436]
	sub	r1, fp, #424
	sub	r0, fp, #428
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-436]
	sub	r1, fp, #416
	sub	r0, fp, #420
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-436]
	sub	r1, fp, #408
	sub	r0, fp, #412
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-436]
	sub	r1, fp, #400
	sub	r0, fp, #404
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-436]
	sub	r1, fp, #392
	sub	r0, fp, #396
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-436]
	sub	r1, fp, #384
	sub	r0, fp, #388
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-436]
	sub	r1, fp, #376
	sub	r0, fp, #380
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-436]
	sub	r1, fp, #368
	sub	r0, fp, #372
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-368]
	ldr	r3, [fp, #-380]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #364
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1663]	@ zero_extendqisi2
	ldr	ip, [fp, #-376]
	ldr	r3, [fp, #-388]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #360
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1662]	@ zero_extendqisi2
	ldr	ip, [fp, #-384]
	ldr	r3, [fp, #-396]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #356
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1661]	@ zero_extendqisi2
	ldr	ip, [fp, #-392]
	ldr	r3, [fp, #-404]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #352
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1660]	@ zero_extendqisi2
	ldr	ip, [fp, #-400]
	ldr	r3, [fp, #-412]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #348
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1659]	@ zero_extendqisi2
	ldr	ip, [fp, #-408]
	ldr	r3, [fp, #-420]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #344
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1658]	@ zero_extendqisi2
	ldr	ip, [fp, #-416]
	ldr	r3, [fp, #-428]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #340
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-468]
	ldr	r3, [fp, #-372]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #336
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1656]	@ zero_extendqisi2
	ldr	ip, [fp, #-464]
	ldr	r3, [fp, #-364]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #332
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1655]	@ zero_extendqisi2
	ldr	ip, [fp, #-460]
	ldr	r3, [fp, #-360]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #328
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1654]	@ zero_extendqisi2
	ldr	ip, [fp, #-456]
	ldr	r3, [fp, #-356]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #324
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1653]	@ zero_extendqisi2
	ldr	ip, [fp, #-452]
	ldr	r3, [fp, #-352]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r0, fp, #320
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1652]	@ zero_extendqisi2
	ldr	ip, [fp, #-448]
	ldr	r3, [fp, #-348]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #316
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1651]	@ zero_extendqisi2
	ldr	ip, [fp, #-444]
	ldr	r3, [fp, #-344]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #312
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1650]	@ zero_extendqisi2
	ldr	ip, [fp, #-440]
	ldr	r3, [fp, #-340]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #308
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1649]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1664]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-1674]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-1657]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-424]
	add	r3, r1, r3
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #304
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	sub	r1, fp, #296
	sub	r0, fp, #300
	ldr	r3, .L47
	ldr	r2, [fp, #-16]
	bl	fiat_secp256k1_mulx_u32
	sub	r1, fp, #288
	sub	r0, fp, #292
	ldr	r3, .L47+4
	ldr	r2, [fp, #-16]
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-288]
	ldr	r3, [fp, #-300]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #284
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1647]	@ zero_extendqisi2
	ldr	ip, [fp, #-296]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #280
	ldr	r3, [fp, #-16]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-332]
	ldr	r3, [fp, #-292]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #276
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1645]	@ zero_extendqisi2
	ldr	ip, [fp, #-328]
	ldr	r3, [fp, #-284]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #272
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1644]	@ zero_extendqisi2
	ldr	ip, [fp, #-324]
	ldr	r3, [fp, #-280]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #268
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1643]	@ zero_extendqisi2
	ldr	r3, [fp, #-320]
	ldrb	r1, [fp, #-1646]	@ zero_extendqisi2
	mov	ip, r1
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #264
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1642]	@ zero_extendqisi2
	ldr	r3, [fp, #-316]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #260
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1641]	@ zero_extendqisi2
	ldr	r3, [fp, #-312]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #256
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1640]	@ zero_extendqisi2
	ldr	r3, [fp, #-308]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #252
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1639]	@ zero_extendqisi2
	ldr	r3, [fp, #-304]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #248
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-276]
	sub	r1, fp, #240
	sub	r0, fp, #244
	ldr	r3, .L47+8
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-244]
	sub	r1, fp, #232
	sub	r0, fp, #236
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-244]
	sub	r1, fp, #224
	sub	r0, fp, #228
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-244]
	sub	r1, fp, #216
	sub	r0, fp, #220
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-244]
	sub	r1, fp, #208
	sub	r0, fp, #212
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-244]
	sub	r1, fp, #200
	sub	r0, fp, #204
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-244]
	sub	r1, fp, #192
	sub	r0, fp, #196
	mvn	r3, #0
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-244]
	sub	r1, fp, #184
	sub	r0, fp, #188
	mvn	r3, #1
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-244]
	sub	r1, fp, #176
	sub	r0, fp, #180
	mvn	r3, #976
	bl	fiat_secp256k1_mulx_u32
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-188]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #172
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1637]	@ zero_extendqisi2
	ldr	ip, [fp, #-184]
	ldr	r3, [fp, #-196]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r0, fp, #168
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1636]	@ zero_extendqisi2
	ldr	ip, [fp, #-192]
	ldr	r3, [fp, #-204]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #164
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1635]	@ zero_extendqisi2
	ldr	ip, [fp, #-200]
	ldr	r3, [fp, #-212]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #160
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1634]	@ zero_extendqisi2
	ldr	ip, [fp, #-208]
	ldr	r3, [fp, #-220]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #156
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1633]	@ zero_extendqisi2
	ldr	ip, [fp, #-216]
	ldr	r3, [fp, #-228]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #152
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1632]	@ zero_extendqisi2
	ldr	ip, [fp, #-224]
	ldr	r3, [fp, #-236]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #148
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r2, [fp, #-276]
	ldr	r3, [fp, #-180]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #144
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1630]	@ zero_extendqisi2
	ldr	ip, [fp, #-272]
	ldr	r3, [fp, #-172]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #140
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1629]	@ zero_extendqisi2
	ldr	ip, [fp, #-268]
	ldr	r3, [fp, #-168]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #136
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1628]	@ zero_extendqisi2
	ldr	ip, [fp, #-264]
	ldr	r3, [fp, #-164]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #132
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1627]	@ zero_extendqisi2
	ldr	ip, [fp, #-260]
	ldr	r3, [fp, #-160]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #128
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1626]	@ zero_extendqisi2
	ldr	ip, [fp, #-256]
	ldr	r3, [fp, #-156]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #124
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1625]	@ zero_extendqisi2
	ldr	ip, [fp, #-252]
	ldr	r3, [fp, #-152]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #120
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1624]	@ zero_extendqisi2
	ldr	ip, [fp, #-248]
	ldr	r3, [fp, #-148]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #116
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-1623]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1638]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-1648]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-1631]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-232]
	add	r3, r1, r3
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #112
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r3, [fp, #-140]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #108
	mvn	r2, #976
	str	r2, [sp]
	mov	r2, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-1621]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r0, fp, #104
	mvn	ip, #1
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-1620]	@ zero_extendqisi2
	ldr	r3, [fp, #-132]
	sub	r1, fp, #1600
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #100
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-1619]	@ zero_extendqisi2
	ldr	r3, [fp, #-128]
	sub	r1, fp, #1600
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #96
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-1618]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	sub	r1, fp, #1600
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #92
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-1617]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	sub	r1, fp, #1600
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #88
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-1616]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	sub	r1, fp, #1600
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #84
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-1615]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	sub	r1, fp, #1600
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #80
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-1614]	@ zero_extendqisi2
	ldrb	r3, [fp, #-1622]	@ zero_extendqisi2
	mov	ip, r3
	sub	r1, fp, #1600
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #76
	mov	r3, #0
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r1, [fp, #-1613]	@ zero_extendqisi2
	ldr	r2, [fp, #-108]
	ldr	r3, [fp, #-140]
	sub	r0, fp, #72
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-1613]	@ zero_extendqisi2
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-136]
	sub	r0, fp, #68
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-1613]	@ zero_extendqisi2
	ldr	r2, [fp, #-100]
	ldr	r3, [fp, #-132]
	sub	r0, fp, #64
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-1613]	@ zero_extendqisi2
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-128]
	sub	r0, fp, #60
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-1613]	@ zero_extendqisi2
	ldr	r2, [fp, #-92]
	ldr	r3, [fp, #-124]
	sub	r0, fp, #56
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-1613]	@ zero_extendqisi2
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-120]
	sub	r0, fp, #52
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-1613]	@ zero_extendqisi2
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-116]
	sub	r0, fp, #48
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-1613]	@ zero_extendqisi2
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-112]
	sub	r0, fp, #44
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-1832]
	str	r2, [r3]
	ldr	r3, [fp, #-1832]
	add	r3, r3, #4
	ldr	r2, [fp, #-68]
	str	r2, [r3]
	ldr	r3, [fp, #-1832]
	add	r3, r3, #8
	ldr	r2, [fp, #-64]
	str	r2, [r3]
	ldr	r3, [fp, #-1832]
	add	r3, r3, #12
	ldr	r2, [fp, #-60]
	str	r2, [r3]
	ldr	r3, [fp, #-1832]
	add	r3, r3, #16
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	ldr	r3, [fp, #-1832]
	add	r3, r3, #20
	ldr	r2, [fp, #-52]
	str	r2, [r3]
	ldr	r3, [fp, #-1832]
	add	r3, r3, #24
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-1832]
	add	r3, r3, #28
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	nop
	ldr	r3, .L47+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L43
	bl	__stack_chk_fail
.L43:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L48:
	.align	2
.L47:
	.word	1954
	.word	954529
	.word	-769313487
	.word	.LC6
	.size	fiat_secp256k1_to_montgomery, .-fiat_secp256k1_to_montgomery
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_nonzero, %function
fiat_secp256k1_nonzero:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #16
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #8
	ldr	r0, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #12
	ldr	ip, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #16
	ldr	lr, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #20
	ldr	r4, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #24
	ldr	r5, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #28
	ldr	r3, [r3]
	orr	r3, r5, r3
	orr	r3, r4, r3
	orr	r3, lr, r3
	orr	r3, ip, r3
	orr	r3, r0, r3
	orr	r3, r1, r3
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	fiat_secp256k1_nonzero, .-fiat_secp256k1_nonzero
	.section	.rodata
	.align	2
.LC7:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_selectznz, %function
fiat_secp256k1_selectznz:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-48]
	str	r2, [fp, #-56]
	str	r3, [fp, #-60]
	mov	r3, r1
	strb	r3, [fp, #-49]
	ldr	r3, .L52
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	ldrb	r1, [fp, #-49]	@ zero_extendqisi2
	sub	r0, fp, #40
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-56]
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldrb	r1, [fp, #-49]	@ zero_extendqisi2
	sub	r0, fp, #36
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-56]
	add	r3, r3, #8
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldrb	r1, [fp, #-49]	@ zero_extendqisi2
	sub	r0, fp, #32
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-56]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	add	r3, r3, #12
	ldr	r3, [r3]
	ldrb	r1, [fp, #-49]	@ zero_extendqisi2
	sub	r0, fp, #28
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-56]
	add	r3, r3, #16
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	add	r3, r3, #16
	ldr	r3, [r3]
	ldrb	r1, [fp, #-49]	@ zero_extendqisi2
	sub	r0, fp, #24
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-56]
	add	r3, r3, #20
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	add	r3, r3, #20
	ldr	r3, [r3]
	ldrb	r1, [fp, #-49]	@ zero_extendqisi2
	sub	r0, fp, #20
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-56]
	add	r3, r3, #24
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	add	r3, r3, #24
	ldr	r3, [r3]
	ldrb	r1, [fp, #-49]	@ zero_extendqisi2
	sub	r0, fp, #16
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-56]
	add	r3, r3, #28
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	add	r3, r3, #28
	ldr	r3, [r3]
	ldrb	r1, [fp, #-49]	@ zero_extendqisi2
	sub	r0, fp, #12
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #12
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #16
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #20
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #24
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #28
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	nop
	ldr	r3, .L52
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L51
	bl	__stack_chk_fail
.L51:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L53:
	.align	2
.L52:
	.word	.LC7
	.size	fiat_secp256k1_selectznz, .-fiat_secp256k1_selectznz
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_to_bytes, %function
fiat_secp256k1_to_bytes:
	@ args = 0, pretend = 0, frame = 136
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #140
	str	r0, [fp, #-136]
	str	r1, [fp, #-140]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	strb	r3, [fp, #-132]
	ldr	r3, [fp, #-72]
	lsr	r3, r3, #8
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	strb	r3, [fp, #-131]
	ldr	r3, [fp, #-68]
	lsr	r3, r3, #8
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	strb	r3, [fp, #-130]
	ldr	r3, [fp, #-64]
	lsr	r3, r3, #8
	strb	r3, [fp, #-129]
	ldr	r3, [fp, #-76]
	strb	r3, [fp, #-128]
	ldr	r3, [fp, #-76]
	lsr	r3, r3, #8
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	strb	r3, [fp, #-127]
	ldr	r3, [fp, #-60]
	lsr	r3, r3, #8
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	strb	r3, [fp, #-126]
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #8
	strb	r3, [fp, #-125]
	ldr	r3, [fp, #-80]
	strb	r3, [fp, #-124]
	ldr	r3, [fp, #-80]
	lsr	r3, r3, #8
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	strb	r3, [fp, #-123]
	ldr	r3, [fp, #-52]
	lsr	r3, r3, #8
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	strb	r3, [fp, #-122]
	ldr	r3, [fp, #-48]
	lsr	r3, r3, #8
	strb	r3, [fp, #-121]
	ldr	r3, [fp, #-84]
	strb	r3, [fp, #-120]
	ldr	r3, [fp, #-84]
	lsr	r3, r3, #8
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	strb	r3, [fp, #-119]
	ldr	r3, [fp, #-44]
	lsr	r3, r3, #8
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	strb	r3, [fp, #-118]
	ldr	r3, [fp, #-40]
	lsr	r3, r3, #8
	strb	r3, [fp, #-117]
	ldr	r3, [fp, #-88]
	strb	r3, [fp, #-116]
	ldr	r3, [fp, #-88]
	lsr	r3, r3, #8
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	strb	r3, [fp, #-115]
	ldr	r3, [fp, #-36]
	lsr	r3, r3, #8
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	strb	r3, [fp, #-114]
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #8
	strb	r3, [fp, #-113]
	ldr	r3, [fp, #-92]
	strb	r3, [fp, #-112]
	ldr	r3, [fp, #-92]
	lsr	r3, r3, #8
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	strb	r3, [fp, #-111]
	ldr	r3, [fp, #-28]
	lsr	r3, r3, #8
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	strb	r3, [fp, #-110]
	ldr	r3, [fp, #-24]
	lsr	r3, r3, #8
	strb	r3, [fp, #-109]
	ldr	r3, [fp, #-96]
	strb	r3, [fp, #-108]
	ldr	r3, [fp, #-96]
	lsr	r3, r3, #8
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	strb	r3, [fp, #-107]
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #8
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	strb	r3, [fp, #-106]
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #8
	strb	r3, [fp, #-105]
	ldr	r3, [fp, #-100]
	strb	r3, [fp, #-104]
	ldr	r3, [fp, #-100]
	lsr	r3, r3, #8
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	strb	r3, [fp, #-103]
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #8
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	strb	r3, [fp, #-102]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #8
	strb	r3, [fp, #-101]
	ldr	r3, [fp, #-136]
	ldrb	r2, [fp, #-132]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	ldrb	r2, [fp, #-131]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #2
	ldrb	r2, [fp, #-130]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #3
	ldrb	r2, [fp, #-129]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #4
	ldrb	r2, [fp, #-128]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #5
	ldrb	r2, [fp, #-127]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #6
	ldrb	r2, [fp, #-126]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #7
	ldrb	r2, [fp, #-125]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #8
	ldrb	r2, [fp, #-124]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #9
	ldrb	r2, [fp, #-123]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #10
	ldrb	r2, [fp, #-122]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #11
	ldrb	r2, [fp, #-121]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #12
	ldrb	r2, [fp, #-120]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #13
	ldrb	r2, [fp, #-119]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #14
	ldrb	r2, [fp, #-118]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #15
	ldrb	r2, [fp, #-117]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #16
	ldrb	r2, [fp, #-116]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #17
	ldrb	r2, [fp, #-115]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #18
	ldrb	r2, [fp, #-114]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #19
	ldrb	r2, [fp, #-113]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #20
	ldrb	r2, [fp, #-112]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #21
	ldrb	r2, [fp, #-111]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #22
	ldrb	r2, [fp, #-110]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #23
	ldrb	r2, [fp, #-109]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #24
	ldrb	r2, [fp, #-108]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #25
	ldrb	r2, [fp, #-107]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #26
	ldrb	r2, [fp, #-106]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #27
	ldrb	r2, [fp, #-105]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #28
	ldrb	r2, [fp, #-104]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #29
	ldrb	r2, [fp, #-103]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #30
	ldrb	r2, [fp, #-102]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #31
	ldrb	r2, [fp, #-101]
	strb	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	fiat_secp256k1_to_bytes, .-fiat_secp256k1_to_bytes
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_from_bytes, %function
fiat_secp256k1_from_bytes:
	@ args = 0, pretend = 0, frame = 208
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #212
	str	r0, [fp, #-208]
	str	r1, [fp, #-212]
	ldr	r3, [fp, #-212]
	add	r3, r3, #31
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-212]
	add	r3, r3, #30
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-212]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-212]
	ldrb	r3, [r3, #28]
	strb	r3, [fp, #-204]
	ldr	r3, [fp, #-212]
	add	r3, r3, #27
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-212]
	add	r3, r3, #26
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-212]
	add	r3, r3, #25
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-212]
	ldrb	r3, [r3, #24]
	strb	r3, [fp, #-203]
	ldr	r3, [fp, #-212]
	add	r3, r3, #23
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-172]
	ldr	r3, [fp, #-212]
	add	r3, r3, #22
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-212]
	add	r3, r3, #21
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-212]
	ldrb	r3, [r3, #20]
	strb	r3, [fp, #-202]
	ldr	r3, [fp, #-212]
	add	r3, r3, #19
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-212]
	add	r3, r3, #18
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-212]
	add	r3, r3, #17
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-212]
	ldrb	r3, [r3, #16]
	strb	r3, [fp, #-201]
	ldr	r3, [fp, #-212]
	add	r3, r3, #15
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-212]
	add	r3, r3, #14
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-212]
	add	r3, r3, #13
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-212]
	ldrb	r3, [r3, #12]
	strb	r3, [fp, #-200]
	ldr	r3, [fp, #-212]
	add	r3, r3, #11
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-212]
	add	r3, r3, #10
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-212]
	add	r3, r3, #9
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-212]
	ldrb	r3, [r3, #8]
	strb	r3, [fp, #-199]
	ldr	r3, [fp, #-212]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-212]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-212]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-212]
	ldrb	r3, [r3, #4]
	strb	r3, [fp, #-198]
	ldr	r3, [fp, #-212]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-212]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-212]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-212]
	ldrb	r3, [r3]
	strb	r3, [fp, #-197]
	ldrb	r3, [fp, #-197]	@ zero_extendqisi2
	ldr	r2, [fp, #-104]
	add	r3, r2, r3
	str	r3, [fp, #-100]
	ldr	r2, [fp, #-108]
	ldr	r3, [fp, #-100]
	add	r3, r2, r3
	str	r3, [fp, #-96]
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-96]
	add	r3, r2, r3
	str	r3, [fp, #-92]
	ldrb	r3, [fp, #-198]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	str	r3, [fp, #-88]
	ldr	r2, [fp, #-120]
	ldr	r3, [fp, #-88]
	add	r3, r2, r3
	str	r3, [fp, #-84]
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-84]
	add	r3, r2, r3
	str	r3, [fp, #-80]
	ldrb	r3, [fp, #-199]	@ zero_extendqisi2
	ldr	r2, [fp, #-128]
	add	r3, r2, r3
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-76]
	add	r3, r2, r3
	str	r3, [fp, #-72]
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-72]
	add	r3, r2, r3
	str	r3, [fp, #-68]
	ldrb	r3, [fp, #-200]	@ zero_extendqisi2
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-64]
	add	r3, r2, r3
	str	r3, [fp, #-60]
	ldr	r2, [fp, #-148]
	ldr	r3, [fp, #-60]
	add	r3, r2, r3
	str	r3, [fp, #-56]
	ldrb	r3, [fp, #-201]	@ zero_extendqisi2
	ldr	r2, [fp, #-152]
	add	r3, r2, r3
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-156]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-48]
	add	r3, r2, r3
	str	r3, [fp, #-44]
	ldrb	r3, [fp, #-202]	@ zero_extendqisi2
	ldr	r2, [fp, #-164]
	add	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldrb	r3, [fp, #-203]	@ zero_extendqisi2
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldrb	r3, [fp, #-204]	@ zero_extendqisi2
	ldr	r2, [fp, #-188]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-92]
	str	r2, [r3]
	ldr	r3, [fp, #-208]
	add	r3, r3, #4
	ldr	r2, [fp, #-80]
	str	r2, [r3]
	ldr	r3, [fp, #-208]
	add	r3, r3, #8
	ldr	r2, [fp, #-68]
	str	r2, [r3]
	ldr	r3, [fp, #-208]
	add	r3, r3, #12
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	ldr	r3, [fp, #-208]
	add	r3, r3, #16
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	ldr	r3, [fp, #-208]
	add	r3, r3, #20
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-208]
	add	r3, r3, #24
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-208]
	add	r3, r3, #28
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	fiat_secp256k1_from_bytes, .-fiat_secp256k1_from_bytes
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_set_one, %function
fiat_secp256k1_set_one:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, .L57
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #24
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #28
	mov	r2, #0
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L58:
	.align	2
.L57:
	.word	977
	.size	fiat_secp256k1_set_one, .-fiat_secp256k1_set_one
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_msat, %function
fiat_secp256k1_msat:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mvn	r2, #976
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	mvn	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #12
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #16
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #20
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #24
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #28
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #32
	mov	r2, #0
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	fiat_secp256k1_msat, .-fiat_secp256k1_msat
	.section	.rodata
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_divstep, %function
fiat_secp256k1_divstep:
	@ args = 24, pretend = 0, frame = 752
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #760
	str	r0, [fp, #-720]
	str	r1, [fp, #-724]
	str	r2, [fp, #-728]
	str	r3, [fp, #-732]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-736]
	ldr	r3, [fp, #12]
	str	r3, [fp, #-740]
	ldr	r3, [fp, #16]
	str	r3, [fp, #-744]
	ldr	r3, [fp, #20]
	str	r3, [fp, #-748]
	ldr	r3, [fp, #24]
	str	r3, [fp, #-752]
	ldr	r3, .L62
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #8]
	mvn	r3, r3
	sub	r1, fp, #708
	sub	r1, r1, #1
	sub	r0, fp, #636
	mov	r2, #1
	str	r2, [sp]
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r3, [fp, #-636]
	lsr	r3, r3, #31
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-744]
	ldr	r3, [r3]
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	strb	r3, [fp, #-638]
	ldr	r3, [fp, #8]
	mvn	r3, r3
	sub	r1, fp, #708
	sub	r0, fp, #632
	mov	r2, #1
	str	r2, [sp]
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r3, [fp, #-632]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #628
	ldr	r2, [fp, #8]
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-740]
	ldr	r2, [r3]
	ldr	r3, [fp, #-744]
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #624
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-740]
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-744]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #620
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-740]
	add	r3, r3, #8
	ldr	r2, [r3]
	ldr	r3, [fp, #-744]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #616
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-740]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, [fp, #-744]
	add	r3, r3, #12
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #612
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-740]
	add	r3, r3, #16
	ldr	r2, [r3]
	ldr	r3, [fp, #-744]
	add	r3, r3, #16
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #608
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-740]
	add	r3, r3, #20
	ldr	r2, [r3]
	ldr	r3, [fp, #-744]
	add	r3, r3, #20
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #604
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-740]
	add	r3, r3, #24
	ldr	r2, [r3]
	ldr	r3, [fp, #-744]
	add	r3, r3, #24
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #600
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-740]
	add	r3, r3, #28
	ldr	r2, [r3]
	ldr	r3, [fp, #-744]
	add	r3, r3, #28
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #596
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-740]
	add	r3, r3, #32
	ldr	r2, [r3]
	ldr	r3, [fp, #-744]
	add	r3, r3, #32
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #592
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-740]
	ldr	r3, [r3]
	mvn	r3, r3
	sub	r1, fp, #704
	sub	r1, r1, #3
	sub	r0, fp, #588
	str	r3, [sp]
	mov	r3, #1
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-707]	@ zero_extendqisi2
	ldr	r3, [fp, #-740]
	add	r3, r3, #4
	ldr	r3, [r3]
	mvn	r3, r3
	sub	r1, fp, #704
	sub	r1, r1, #2
	sub	r0, fp, #584
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-706]	@ zero_extendqisi2
	ldr	r3, [fp, #-740]
	add	r3, r3, #8
	ldr	r3, [r3]
	mvn	r3, r3
	sub	r1, fp, #704
	sub	r1, r1, #1
	sub	r0, fp, #580
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-705]	@ zero_extendqisi2
	ldr	r3, [fp, #-740]
	add	r3, r3, #12
	ldr	r3, [r3]
	mvn	r3, r3
	sub	r1, fp, #704
	sub	r0, fp, #576
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-704]	@ zero_extendqisi2
	ldr	r3, [fp, #-740]
	add	r3, r3, #16
	ldr	r3, [r3]
	mvn	r3, r3
	sub	r1, fp, #700
	sub	r1, r1, #3
	sub	r0, fp, #572
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-703]	@ zero_extendqisi2
	ldr	r3, [fp, #-740]
	add	r3, r3, #20
	ldr	r3, [r3]
	mvn	r3, r3
	sub	r1, fp, #700
	sub	r1, r1, #2
	sub	r0, fp, #568
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-702]	@ zero_extendqisi2
	ldr	r3, [fp, #-740]
	add	r3, r3, #24
	ldr	r3, [r3]
	mvn	r3, r3
	sub	r1, fp, #700
	sub	r1, r1, #1
	sub	r0, fp, #564
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-701]	@ zero_extendqisi2
	ldr	r3, [fp, #-740]
	add	r3, r3, #28
	ldr	r3, [r3]
	mvn	r3, r3
	sub	r1, fp, #700
	sub	r0, fp, #560
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-700]	@ zero_extendqisi2
	ldr	r3, [fp, #-740]
	add	r3, r3, #32
	ldr	r3, [r3]
	mvn	r3, r3
	sub	r1, fp, #696
	sub	r1, r1, #3
	sub	r0, fp, #556
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r3, [fp, #-744]
	ldr	r2, [r3]
	ldr	r3, [fp, #-588]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #552
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-744]
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-584]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #548
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-744]
	add	r3, r3, #8
	ldr	r2, [r3]
	ldr	r3, [fp, #-580]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #544
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-744]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, [fp, #-576]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #540
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-744]
	add	r3, r3, #16
	ldr	r2, [r3]
	ldr	r3, [fp, #-572]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #536
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-744]
	add	r3, r3, #20
	ldr	r2, [r3]
	ldr	r3, [fp, #-568]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #532
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-744]
	add	r3, r3, #24
	ldr	r2, [r3]
	ldr	r3, [fp, #-564]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #528
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-744]
	add	r3, r3, #28
	ldr	r2, [r3]
	ldr	r3, [fp, #-560]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #524
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-744]
	add	r3, r3, #32
	ldr	r2, [r3]
	ldr	r3, [fp, #-556]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #520
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-748]
	ldr	r2, [r3]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #516
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-748]
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-752]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #512
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-748]
	add	r3, r3, #8
	ldr	r2, [r3]
	ldr	r3, [fp, #-752]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #508
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-748]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, [fp, #-752]
	add	r3, r3, #12
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #504
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-748]
	add	r3, r3, #16
	ldr	r2, [r3]
	ldr	r3, [fp, #-752]
	add	r3, r3, #16
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #500
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-748]
	add	r3, r3, #20
	ldr	r2, [r3]
	ldr	r3, [fp, #-752]
	add	r3, r3, #20
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #496
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-748]
	add	r3, r3, #24
	ldr	r2, [r3]
	ldr	r3, [fp, #-752]
	add	r3, r3, #24
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #492
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-748]
	add	r3, r3, #28
	ldr	r2, [r3]
	ldr	r3, [fp, #-752]
	add	r3, r3, #28
	ldr	r3, [r3]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #488
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r2, [fp, #-516]
	ldr	r3, [fp, #-516]
	sub	r1, fp, #696
	sub	r1, r1, #2
	sub	r0, fp, #484
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-698]	@ zero_extendqisi2
	ldr	ip, [fp, #-512]
	ldr	r3, [fp, #-512]
	sub	r1, fp, #696
	sub	r1, r1, #1
	sub	r0, fp, #480
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-697]	@ zero_extendqisi2
	ldr	ip, [fp, #-508]
	ldr	r3, [fp, #-508]
	sub	r1, fp, #696
	sub	r0, fp, #476
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-696]	@ zero_extendqisi2
	ldr	ip, [fp, #-504]
	ldr	r3, [fp, #-504]
	sub	r1, fp, #692
	sub	r1, r1, #3
	sub	r0, fp, #472
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-695]	@ zero_extendqisi2
	ldr	ip, [fp, #-500]
	ldr	r3, [fp, #-500]
	sub	r1, fp, #692
	sub	r1, r1, #2
	sub	r0, fp, #468
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-694]	@ zero_extendqisi2
	ldr	ip, [fp, #-496]
	ldr	r3, [fp, #-496]
	sub	r1, fp, #692
	sub	r1, r1, #1
	sub	r0, fp, #464
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-693]	@ zero_extendqisi2
	ldr	ip, [fp, #-492]
	ldr	r3, [fp, #-492]
	sub	r1, fp, #692
	sub	r0, fp, #460
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-692]	@ zero_extendqisi2
	ldr	ip, [fp, #-488]
	ldr	r3, [fp, #-488]
	sub	r1, fp, #688
	sub	r1, r1, #3
	sub	r0, fp, #456
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r3, [fp, #-484]
	sub	r1, fp, #688
	sub	r1, r1, #2
	sub	r0, fp, #452
	mvn	r2, #976
	str	r2, [sp]
	mov	r2, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-690]	@ zero_extendqisi2
	ldr	r3, [fp, #-480]
	sub	r1, fp, #688
	sub	r1, r1, #1
	sub	r0, fp, #448
	mvn	ip, #1
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-689]	@ zero_extendqisi2
	ldr	r3, [fp, #-476]
	sub	r1, fp, #688
	sub	r0, fp, #444
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-688]	@ zero_extendqisi2
	ldr	r3, [fp, #-472]
	sub	r1, fp, #684
	sub	r1, r1, #3
	sub	r0, fp, #440
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-687]	@ zero_extendqisi2
	ldr	r3, [fp, #-468]
	sub	r1, fp, #684
	sub	r1, r1, #2
	sub	r0, fp, #436
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-686]	@ zero_extendqisi2
	ldr	r3, [fp, #-464]
	sub	r1, fp, #684
	sub	r1, r1, #1
	sub	r0, fp, #432
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-685]	@ zero_extendqisi2
	ldr	r3, [fp, #-460]
	sub	r1, fp, #684
	sub	r0, fp, #428
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-684]	@ zero_extendqisi2
	ldr	r3, [fp, #-456]
	sub	r1, fp, #680
	sub	r1, r1, #3
	sub	r0, fp, #424
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-683]	@ zero_extendqisi2
	ldrb	r3, [fp, #-691]	@ zero_extendqisi2
	mov	ip, r3
	sub	r1, fp, #680
	sub	r1, r1, #2
	sub	r0, fp, #420
	mov	r3, #0
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_subborrowx_u32
	ldr	r3, [fp, #-748]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-748]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-748]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-748]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-748]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-748]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-748]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-748]
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	sub	r1, fp, #680
	sub	r1, r1, #1
	sub	r0, fp, #416
	ldr	r3, [fp, #-48]
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-681]	@ zero_extendqisi2
	sub	r1, fp, #680
	sub	r0, fp, #412
	ldr	r3, [fp, #-52]
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-680]	@ zero_extendqisi2
	sub	r1, fp, #676
	sub	r1, r1, #3
	sub	r0, fp, #408
	ldr	r3, [fp, #-56]
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-679]	@ zero_extendqisi2
	sub	r1, fp, #676
	sub	r1, r1, #2
	sub	r0, fp, #404
	ldr	r3, [fp, #-60]
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-678]	@ zero_extendqisi2
	sub	r1, fp, #676
	sub	r1, r1, #1
	sub	r0, fp, #400
	ldr	r3, [fp, #-64]
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-677]	@ zero_extendqisi2
	sub	r1, fp, #676
	sub	r0, fp, #396
	ldr	r3, [fp, #-68]
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-676]	@ zero_extendqisi2
	sub	r1, fp, #672
	sub	r1, r1, #3
	sub	r0, fp, #392
	ldr	r3, [fp, #-72]
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-675]	@ zero_extendqisi2
	sub	r1, fp, #672
	sub	r1, r1, #2
	sub	r0, fp, #388
	ldr	r3, [fp, #-76]
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r1, [fp, #-674]	@ zero_extendqisi2
	sub	r0, fp, #384
	mvn	r3, #0
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r2, [fp, #-416]
	ldr	r3, [fp, #-384]
	bic	r3, r3, #976
	sub	r1, fp, #672
	sub	r1, r1, #1
	sub	r0, fp, #380
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-673]	@ zero_extendqisi2
	ldr	ip, [fp, #-412]
	ldr	r3, [fp, #-384]
	bic	r3, r3, #1
	sub	r1, fp, #672
	sub	r0, fp, #376
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-672]	@ zero_extendqisi2
	ldr	ip, [fp, #-408]
	ldr	r3, [fp, #-384]
	sub	r1, fp, #668
	sub	r1, r1, #3
	sub	r0, fp, #372
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-671]	@ zero_extendqisi2
	ldr	ip, [fp, #-404]
	ldr	r3, [fp, #-384]
	sub	r1, fp, #668
	sub	r1, r1, #2
	sub	r0, fp, #368
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-670]	@ zero_extendqisi2
	ldr	ip, [fp, #-400]
	ldr	r3, [fp, #-384]
	sub	r1, fp, #668
	sub	r1, r1, #1
	sub	r0, fp, #364
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-669]	@ zero_extendqisi2
	ldr	ip, [fp, #-396]
	ldr	r3, [fp, #-384]
	sub	r1, fp, #668
	sub	r0, fp, #360
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-668]	@ zero_extendqisi2
	ldr	ip, [fp, #-392]
	ldr	r3, [fp, #-384]
	sub	r1, fp, #664
	sub	r1, r1, #3
	sub	r0, fp, #356
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-667]	@ zero_extendqisi2
	ldr	ip, [fp, #-388]
	ldr	r3, [fp, #-384]
	sub	r1, fp, #664
	sub	r1, r1, #2
	sub	r0, fp, #352
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r3, [fp, #-752]
	ldr	r2, [r3]
	ldr	r3, [fp, #-380]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #348
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-752]
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-376]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #344
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-752]
	add	r3, r3, #8
	ldr	r2, [r3]
	ldr	r3, [fp, #-372]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #340
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-752]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, [fp, #-368]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #336
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-752]
	add	r3, r3, #16
	ldr	r2, [r3]
	ldr	r3, [fp, #-364]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #332
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-752]
	add	r3, r3, #20
	ldr	r2, [r3]
	ldr	r3, [fp, #-360]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #328
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-752]
	add	r3, r3, #24
	ldr	r2, [r3]
	ldr	r3, [fp, #-356]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #324
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-752]
	add	r3, r3, #28
	ldr	r2, [r3]
	ldr	r3, [fp, #-352]
	ldrb	r1, [fp, #-638]	@ zero_extendqisi2
	sub	r0, fp, #320
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-552]
	and	r3, r3, #255
	and	r3, r3, #1
	strb	r3, [fp, #-637]
	ldr	r3, [fp, #-624]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #316
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-620]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #312
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-616]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #308
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-612]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #304
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-608]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #300
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-604]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #296
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-600]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #292
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-596]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #288
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-592]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #284
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r2, [fp, #-552]
	ldr	r3, [fp, #-316]
	sub	r1, fp, #664
	sub	r1, r1, #1
	sub	r0, fp, #280
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-665]	@ zero_extendqisi2
	ldr	ip, [fp, #-548]
	ldr	r3, [fp, #-312]
	sub	r1, fp, #664
	sub	r0, fp, #276
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-664]	@ zero_extendqisi2
	ldr	ip, [fp, #-544]
	ldr	r3, [fp, #-308]
	sub	r1, fp, #660
	sub	r1, r1, #3
	sub	r0, fp, #272
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-663]	@ zero_extendqisi2
	ldr	ip, [fp, #-540]
	ldr	r3, [fp, #-304]
	sub	r1, fp, #660
	sub	r1, r1, #2
	sub	r0, fp, #268
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-662]	@ zero_extendqisi2
	ldr	ip, [fp, #-536]
	ldr	r3, [fp, #-300]
	sub	r1, fp, #660
	sub	r1, r1, #1
	sub	r0, fp, #264
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-661]	@ zero_extendqisi2
	ldr	ip, [fp, #-532]
	ldr	r3, [fp, #-296]
	sub	r1, fp, #660
	sub	r0, fp, #260
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-660]	@ zero_extendqisi2
	ldr	ip, [fp, #-528]
	ldr	r3, [fp, #-292]
	sub	r1, fp, #656
	sub	r1, r1, #3
	sub	r0, fp, #256
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-659]	@ zero_extendqisi2
	ldr	ip, [fp, #-524]
	ldr	r3, [fp, #-288]
	sub	r1, fp, #656
	sub	r1, r1, #2
	sub	r0, fp, #252
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-658]	@ zero_extendqisi2
	ldr	ip, [fp, #-520]
	ldr	r3, [fp, #-284]
	sub	r1, fp, #656
	sub	r1, r1, #1
	sub	r0, fp, #248
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r3, [fp, #-516]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #244
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-512]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #240
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-508]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #236
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-504]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #232
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-500]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #228
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-496]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #224
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-492]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #220
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r3, [fp, #-488]
	ldrb	r1, [fp, #-637]	@ zero_extendqisi2
	sub	r0, fp, #216
	mov	r2, #0
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r2, [fp, #-348]
	ldr	r3, [fp, #-244]
	sub	r1, fp, #656
	sub	r0, fp, #212
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-656]	@ zero_extendqisi2
	ldr	ip, [fp, #-344]
	ldr	r3, [fp, #-240]
	sub	r1, fp, #652
	sub	r1, r1, #3
	sub	r0, fp, #208
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-655]	@ zero_extendqisi2
	ldr	ip, [fp, #-340]
	ldr	r3, [fp, #-236]
	sub	r1, fp, #652
	sub	r1, r1, #2
	sub	r0, fp, #204
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-654]	@ zero_extendqisi2
	ldr	ip, [fp, #-336]
	ldr	r3, [fp, #-232]
	sub	r1, fp, #652
	sub	r1, r1, #1
	sub	r0, fp, #200
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-653]	@ zero_extendqisi2
	ldr	ip, [fp, #-332]
	ldr	r3, [fp, #-228]
	sub	r1, fp, #652
	sub	r0, fp, #196
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-652]	@ zero_extendqisi2
	ldr	ip, [fp, #-328]
	ldr	r3, [fp, #-224]
	sub	r1, fp, #648
	sub	r1, r1, #3
	sub	r0, fp, #192
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-651]	@ zero_extendqisi2
	ldr	ip, [fp, #-324]
	ldr	r3, [fp, #-220]
	sub	r1, fp, #648
	sub	r1, r1, #2
	sub	r0, fp, #188
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldrb	r2, [fp, #-650]	@ zero_extendqisi2
	ldr	ip, [fp, #-320]
	ldr	r3, [fp, #-216]
	sub	r1, fp, #648
	sub	r1, r1, #1
	sub	r0, fp, #184
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r3, [fp, #-212]
	sub	r1, fp, #648
	sub	r0, fp, #180
	mvn	r2, #976
	str	r2, [sp]
	mov	r2, #0
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-648]	@ zero_extendqisi2
	ldr	r3, [fp, #-208]
	sub	r1, fp, #644
	sub	r1, r1, #3
	sub	r0, fp, #176
	mvn	ip, #1
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-647]	@ zero_extendqisi2
	ldr	r3, [fp, #-204]
	sub	r1, fp, #644
	sub	r1, r1, #2
	sub	r0, fp, #172
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-646]	@ zero_extendqisi2
	ldr	r3, [fp, #-200]
	sub	r1, fp, #644
	sub	r1, r1, #1
	sub	r0, fp, #168
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-645]	@ zero_extendqisi2
	ldr	r3, [fp, #-196]
	sub	r1, fp, #644
	sub	r0, fp, #164
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-644]	@ zero_extendqisi2
	ldr	r3, [fp, #-192]
	sub	r1, fp, #640
	sub	r1, r1, #3
	sub	r0, fp, #160
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-643]	@ zero_extendqisi2
	ldr	r3, [fp, #-188]
	sub	r1, fp, #640
	sub	r1, r1, #2
	sub	r0, fp, #156
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-642]	@ zero_extendqisi2
	ldr	r3, [fp, #-184]
	sub	r1, fp, #640
	sub	r1, r1, #1
	sub	r0, fp, #152
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_secp256k1_subborrowx_u32
	ldrb	r2, [fp, #-641]	@ zero_extendqisi2
	ldrb	r3, [fp, #-649]	@ zero_extendqisi2
	mov	ip, r3
	sub	r1, fp, #640
	sub	r0, fp, #148
	mov	r3, #0
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_secp256k1_subborrowx_u32
	ldr	r3, [fp, #-628]
	sub	r1, fp, #636
	sub	r1, r1, #3
	sub	r0, fp, #144
	mov	r2, #1
	str	r2, [sp]
	b	.L63
.L64:
	.align	2
.L62:
	.word	.LC8
	.word	.LC8
.L63:
	mov	r2, #0
	bl	fiat_secp256k1_addcarryx_u32
	ldr	r3, [fp, #-280]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-276]
	lsl	r3, r3, #31
	orr	r3, r2, r3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-276]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-272]
	lsl	r3, r3, #31
	orr	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-272]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #31
	orr	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-268]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-264]
	lsl	r3, r3, #31
	orr	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-264]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-260]
	lsl	r3, r3, #31
	orr	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-260]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-256]
	lsl	r3, r3, #31
	orr	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-256]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-252]
	lsl	r3, r3, #31
	orr	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-252]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-248]
	lsl	r3, r3, #31
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-248]
	and	r2, r3, #-2147483648
	ldr	r3, [fp, #-248]
	lsr	r3, r3, #1
	orr	r3, r2, r3
	str	r3, [fp, #-12]
	ldrb	r1, [fp, #-682]	@ zero_extendqisi2
	ldr	r2, [fp, #-452]
	ldr	r3, [fp, #-484]
	sub	r0, fp, #140
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-682]	@ zero_extendqisi2
	ldr	r2, [fp, #-448]
	ldr	r3, [fp, #-480]
	sub	r0, fp, #136
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-682]	@ zero_extendqisi2
	ldr	r2, [fp, #-444]
	ldr	r3, [fp, #-476]
	sub	r0, fp, #132
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-682]	@ zero_extendqisi2
	ldr	r2, [fp, #-440]
	ldr	r3, [fp, #-472]
	sub	r0, fp, #128
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-682]	@ zero_extendqisi2
	ldr	r2, [fp, #-436]
	ldr	r3, [fp, #-468]
	sub	r0, fp, #124
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-682]	@ zero_extendqisi2
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-464]
	sub	r0, fp, #120
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-682]	@ zero_extendqisi2
	ldr	r2, [fp, #-428]
	ldr	r3, [fp, #-460]
	sub	r0, fp, #116
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-682]	@ zero_extendqisi2
	ldr	r2, [fp, #-424]
	ldr	r3, [fp, #-456]
	sub	r0, fp, #112
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-640]	@ zero_extendqisi2
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-212]
	sub	r0, fp, #108
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-640]	@ zero_extendqisi2
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-208]
	sub	r0, fp, #104
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-640]	@ zero_extendqisi2
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-204]
	sub	r0, fp, #100
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-640]	@ zero_extendqisi2
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-200]
	sub	r0, fp, #96
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-640]	@ zero_extendqisi2
	ldr	r2, [fp, #-164]
	ldr	r3, [fp, #-196]
	sub	r0, fp, #92
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-640]	@ zero_extendqisi2
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-192]
	sub	r0, fp, #88
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-640]	@ zero_extendqisi2
	ldr	r2, [fp, #-156]
	ldr	r3, [fp, #-188]
	sub	r0, fp, #84
	bl	fiat_secp256k1_cmovznz_u32
	ldrb	r1, [fp, #-640]	@ zero_extendqisi2
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-184]
	sub	r0, fp, #80
	bl	fiat_secp256k1_cmovznz_u32
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-720]
	str	r2, [r3]
	ldr	r2, [fp, #-624]
	ldr	r3, [fp, #-724]
	str	r2, [r3]
	ldr	r3, [fp, #-724]
	add	r3, r3, #4
	ldr	r2, [fp, #-620]
	str	r2, [r3]
	ldr	r3, [fp, #-724]
	add	r3, r3, #8
	ldr	r2, [fp, #-616]
	str	r2, [r3]
	ldr	r3, [fp, #-724]
	add	r3, r3, #12
	ldr	r2, [fp, #-612]
	str	r2, [r3]
	ldr	r3, [fp, #-724]
	add	r3, r3, #16
	ldr	r2, [fp, #-608]
	str	r2, [r3]
	ldr	r3, [fp, #-724]
	add	r3, r3, #20
	ldr	r2, [fp, #-604]
	str	r2, [r3]
	ldr	r3, [fp, #-724]
	add	r3, r3, #24
	ldr	r2, [fp, #-600]
	str	r2, [r3]
	ldr	r3, [fp, #-724]
	add	r3, r3, #28
	ldr	r2, [fp, #-596]
	str	r2, [r3]
	ldr	r3, [fp, #-724]
	add	r3, r3, #32
	ldr	r2, [fp, #-592]
	str	r2, [r3]
	ldr	r3, [fp, #-728]
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	ldr	r3, [fp, #-728]
	add	r3, r3, #4
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-728]
	add	r3, r3, #8
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-728]
	add	r3, r3, #12
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-728]
	add	r3, r3, #16
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-728]
	add	r3, r3, #20
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-728]
	add	r3, r3, #24
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-728]
	add	r3, r3, #28
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-728]
	add	r3, r3, #32
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-732]
	str	r2, [r3]
	ldr	r3, [fp, #-732]
	add	r3, r3, #4
	ldr	r2, [fp, #-136]
	str	r2, [r3]
	ldr	r3, [fp, #-732]
	add	r3, r3, #8
	ldr	r2, [fp, #-132]
	str	r2, [r3]
	ldr	r3, [fp, #-732]
	add	r3, r3, #12
	ldr	r2, [fp, #-128]
	str	r2, [r3]
	ldr	r3, [fp, #-732]
	add	r3, r3, #16
	ldr	r2, [fp, #-124]
	str	r2, [r3]
	ldr	r3, [fp, #-732]
	add	r3, r3, #20
	ldr	r2, [fp, #-120]
	str	r2, [r3]
	ldr	r3, [fp, #-732]
	add	r3, r3, #24
	ldr	r2, [fp, #-116]
	str	r2, [r3]
	ldr	r3, [fp, #-732]
	add	r3, r3, #28
	ldr	r2, [fp, #-112]
	str	r2, [r3]
	ldr	r2, [fp, #-108]
	ldr	r3, [fp, #-736]
	str	r2, [r3]
	ldr	r3, [fp, #-736]
	add	r3, r3, #4
	ldr	r2, [fp, #-104]
	str	r2, [r3]
	ldr	r3, [fp, #-736]
	add	r3, r3, #8
	ldr	r2, [fp, #-100]
	str	r2, [r3]
	ldr	r3, [fp, #-736]
	add	r3, r3, #12
	ldr	r2, [fp, #-96]
	str	r2, [r3]
	ldr	r3, [fp, #-736]
	add	r3, r3, #16
	ldr	r2, [fp, #-92]
	str	r2, [r3]
	ldr	r3, [fp, #-736]
	add	r3, r3, #20
	ldr	r2, [fp, #-88]
	str	r2, [r3]
	ldr	r3, [fp, #-736]
	add	r3, r3, #24
	ldr	r2, [fp, #-84]
	str	r2, [r3]
	ldr	r3, [fp, #-736]
	add	r3, r3, #28
	ldr	r2, [fp, #-80]
	str	r2, [r3]
	nop
	ldr	r3, .L62+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L61
	bl	__stack_chk_fail
.L61:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	fiat_secp256k1_divstep, .-fiat_secp256k1_divstep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_secp256k1_divstep_precomp, %function
fiat_secp256k1_divstep_precomp:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, .L66
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	ldr	r2, .L66+4
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	ldr	r2, .L66+8
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #12
	ldr	r2, .L66+12
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #16
	ldr	r2, .L66+16
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #20
	ldr	r2, .L66+20
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #24
	ldr	r2, .L66+24
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #28
	ldr	r2, .L66+28
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L67:
	.align	2
.L66:
	.word	827481610
	.word	-234773480
	.word	-849048187
	.word	-1722549795
	.word	1035079849
	.word	-396351162
	.word	78657289
	.word	620464689
	.size	fiat_secp256k1_divstep_precomp, .-fiat_secp256k1_divstep_precomp
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
