Function at 0x14030eb60
Capabilities:
Enumerate pe sections

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x288
pxor xmm0, xmm0
movabs rbp, 0x7ffffffffffff
mov rax, rdx
mov qword [rsp + 0x2d8], rdx
movzx edx, byte [rdx + 6]
movzx eax, byte [rax + 5]
mov rdi, qword [rsp + 0x2d8]
mov qword [rsp + 0x2d0], rcx
shl rdx, 0x30
shl rax, 0x28
movzx ecx, byte [rdi + 0xb]
add rdx, rax
mov rax, qword [rsp + 0x2d8]
shl rcx, 0x25
movzx eax, byte [rax]
add rdx, rax
mov rax, qword [rsp + 0x2d8]
movzx eax, byte [rax + 4]
shl rax, 0x20
add rdx, rax
mov rax, qword [rsp + 0x2d8]
movzx eax, byte [rax + 3]
shl rax, 0x18
add rdx, rax
mov rax, qword [rsp + 0x2d8]
movzx eax, byte [rax + 2]
shl rax, 0x10
add rdx, rax
mov rax, qword [rsp + 0x2d8]
movzx eax, byte [rax + 1]
shl rax, 8
add rdx, rax
mov rax, qword [rsp + 0x2d8]
mov r11, rdx
shr rdx, 0x33
movzx eax, byte [rax + 0xc]
and r11, rbp
shl rax, 0x2d
add rax, rcx
movzx ecx, byte [rdi + 0xa]
shl rcx, 0x1d
add rax, rcx
movzx ecx, byte [rdi + 9]
shl rcx, 0x15
add rax, rcx
movzx ecx, byte [rdi + 8]
shl rcx, 0xd
add rax, rcx
movzx ecx, byte [rdi + 7]
shl rcx, 5
add rax, rcx
movzx ecx, byte [rdi + 0x12]
add rax, rdx
movzx edx, byte [rdi + 0x13]
shl rcx, 0x2a
mov r10, rax
shl rdx, 0x32
and r10, rbp
add rdx, rcx
movzx ecx, byte [rdi + 0x11]
shl rcx, 0x22
add rdx, rcx
movzx ecx, byte [rdi + 0x10]
shl rcx, 0x1a
shr rax, 0x33
add rdx, rcx
movzx ecx, byte [rdi + 0xf]
shl rcx, 0x12
add rdx, rcx
movzx ecx, byte [rdi + 0xe]
shl rcx, 0xa
add rdx, rcx
movzx ecx, byte [rdi + 0xd]
lea rdx, [rdx + rcx*4]
movzx ecx, byte [rdi + 0x18]
add rdx, rax
movzx eax, byte [rdi + 0x19]
shl rcx, 0x27
mov r9, rdx
shr rdx, 0x33
shl rax, 0x2f
and r9, rbp
add rax, rcx
movzx ecx, byte [rdi + 0x17]
lea r13, [r9 + r9]
shl rcx, 0x1f
add rax, rcx
movzx ecx, byte [rdi + 0x16]
mov qword [rsp + 0x30], r13
shl rcx, 0x17
add rax, rcx
movzx ecx, byte [rdi + 0x15]
shl rcx, 0xf
add rax, rcx
movzx ecx, byte [rdi + 0x14]
shl rcx, 7
add rax, rcx
movzx ecx, byte [rdi + 0x1e]
add rax, rdx
movzx edx, byte [rdi + 0x1d]
shl rcx, 0x24
mov r8, rax
shl rdx, 0x1c
and r8, rbp
add rcx, rdx
movzx edx, byte [rdi + 0x1c]
shl rdx, 0x14
add rcx, rdx
movzx edx, byte [rdi + 0x1b]
shl rdx, 0xc
add rcx, rdx
movzx edx, byte [rdi + 0x1a]
shl rdx, 4
add rcx, rdx
movzx edx, byte [rdi + 0x1f]
lea rdi, [r8 + r8]
mov qword [rsp + 0x20], rdi
and edx, 0x7f
shr rax, 0x33
shl rdx, 0x2c
add rcx, rdx
add rcx, rax
mov rax, qword [rsp + 0x2d0]
mov qword [rax + 0x28], r11
mov qword [rax + 0x30], r10
mov qword [rax + 0x38], r9
mov qword [rax + 0x40], r8
mov qword [rax + 0x48], rcx
mov qword [rax + 0x50], 1
movups xmmword [rax + 0x58], xmm0
movups xmmword [rax + 0x68], xmm0
lea rax, [rcx + rcx*8]
lea rax, [rcx + rax*2]
lea rbx, [rax + rax]
mov qword [rsp + 0x50], rax
lea rax, [r8 + r8*8]
lea r12, [r8 + rax*2]
lea rsi, [r12 + r12]
mov rax, rsi
mul r9
mov r14, rax
mov rax, r11
mov r15, rdx
mul r11
add r14, rax
mov rax, rbx
adc r15, rdx
mul r10
mov rsi, r14
mov rdi, r15
add rsi, rax
mov rax, r12
adc rdi, rdx
mul r8
mov qword [rsp + 0x40], rsi
mov r12, rax
lea rax, [r10 + r10]
mov r13, rdx
mul r11
add r12, rax
mov rax, rbx
adc r13, rdx
mul r9
add rax, r12
adc rdx, r13
mov r13, qword [rsp + 0x30]
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rax, rsi
adc rdx, rdi
mov r14, rax
mov rax, r13
mov r15, rdx
mul r11
mov qword [rsp + 0x30], r14
mov rsi, rax
mov rax, r10
mov rdi, rdx
mul r10
add rsi, rax
mov rax, r8
adc rdi, rdx
mul rbx
mov rbx, qword [rsp + 0x20]
add rsi, rax
mov rax, r14
adc rdi, rdx
shrd rax, r15, 0x33
mov rdx, r15
shr rdx, 0x33
add rsi, rax
mov rax, r13
adc rdi, rdx
mul r10
mov r14, rax
mov rax, rbx
mov r15, rdx
mul r11
mov r12, rax
mov rax, qword [rsp + 0x50]
mov r13, rdx
add r12, r14
adc r13, r15
mul rcx
add r12, rax
mov rax, rsi
adc r13, rdx
shrd rax, rdi, 0x33
mov rdx, rdi
shr rdx, 0x33
add r12, rax
mov rax, rbx
adc r13, rdx
mul r10
mov r15, r12
and r15, rbp
mov qword [rsp + 0x20], rax
mov rax, r9
mov r8, qword [rsp + 0x20]
mov qword [rsp + 0x28], rdx
mul r9
mov r9, qword [rsp + 0x28]
add r8, rax
lea rax, [rcx + rcx]
movabs rcx, 0x1f7afc62973807
adc r9, rdx
mul r11
movabs r11, 0x8949b964e481e1
add rax, r8
movabs r8, 0x6164115ad394ed
adc rdx, r9
shrd r12, r13, 0x33
movabs r9, 0x34dca135978a3
shr r13, 0x33
add rax, r12
adc rdx, r13
mov r13, rax
and rsi, rbp
shrd rax, rdx, 0x33
and r13, rbp
lea rdx, [rax + rax*8]
lea rdx, [rax + rdx*2]
mov rax, qword [rsp + 0x40]
and rax, rbp
add rdx, rax
mov rax, qword [rsp + 0x30]
mov r10, rdx
shr rdx, 0x33
and rax, rbp
and r10, rbp
add rax, rdx
mov r14, rax
shr rax, 0x33
lea r12, [rsi + rax]
mov rax, rcx
and r14, rbp
movabs rsi, 0x70310d2021430b
mul r13
mov rcx, rax
mov rax, r15
mov rbx, rdx
mul rsi
add rcx, rax
mov rax, r10
adc rbx, rdx
mul r9
add rcx, rax
mov rax, r14
adc rbx, rdx
mul r8
add rcx, rax
mov rax, r12
adc rbx, rdx
mul r11
add rcx, rax
mov rax, rsi
adc rbx, rdx
mul r13
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rbx
mov rcx, rax
mov rax, r15
mov rbx, rdx
mul r11
add rcx, rax
movabs rax, 0x1a8283b156ebd
adc rbx, rdx
mul r10
mov rsi, rcx
mov rcx, qword [rsp + 0x20]
mov rdi, rbx
mov rbx, qword [rsp + 0x28]
add rsi, rax
mov rax, r14
adc rdi, rdx
mul r9
add rsi, rax
mov rax, r12
adc rdi, rdx
mul r8
add rax, rsi
adc rdx, rdi
shrd rcx, rbx, 0x33
shr rbx, 0x33
add rax, rcx
adc rdx, rbx
mov qword [rsp + 0x30], rax
mov rax, r11
movabs r11, 0x5e7a26001c029
mov qword [rsp + 0x38], rdx
mul r13
mov rcx, rax
mov rax, r15
mov rbx, rdx
mul r8
add rcx, rax
mov rax, r10
adc rbx, rdx
mul r11
mov rsi, rcx
mov rdi, rbx
mov rbx, qword [rsp + 0x30]
add rsi, rax
movabs rax, 0x1a8283b156ebd
adc rdi, rdx
mul r14
add rsi, rax
mov rax, r12
adc rdi, rdx
mul r9
add rax, rsi
mov rsi, qword [rsp + 0x38]
adc rdx, rdi
shrd rbx, rsi, 0x33
shr rsi, 0x33
add rax, rbx
adc rdx, rsi
mov qword [rsp + 0x40], rax
mov rax, r8
movabs r8, 0x739c663a03cbb
mov qword [rsp + 0x48], rdx
mul r13
mov rcx, rax
mov rax, r15
mov rbx, rdx
mul r9
add rcx, rax
mov rax, r10
adc rbx, rdx
mul r8
mov rsi, rcx
mov rdi, rbx
add rsi, rax
mov rax, r14
adc rdi, rdx
mul r11
add rsi, rax
movabs rax, 0x1a8283b156ebd
adc rdi, rdx
mul r12
add rax, rsi
mov rsi, qword [rsp + 0x40]
adc rdx, rdi
mov rdi, qword [rsp + 0x48]
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rsi, rax
mov rax, r9
adc rdi, rdx
mov rdx, rsi
and rdx, rbp
mov qword [rsp + 0xb8], rdx
mul r13
mov rcx, rax
mov rbx, rdx
movabs rax, 0x1a8283b156ebd
mul r15
add rcx, rax
movabs rax, 0x52036cee2b6ff
adc rbx, rdx
mul r10
add rcx, rax
mov rax, r8
adc rbx, rdx
mul r14
mov r8, rax
mov r9, rdx
mov rax, r11
add r8, rcx
adc r9, rbx
mul r12
add rax, r8
movabs r8, 0xfffffffffffd9
adc rdx, r9
shrd rsi, rdi, 0x33
movabs r9, 0xffffffffffffe
shr rdi, 0x33
add rax, rsi
adc rdx, rdi
mov rdi, rax
add r8, r10
shrd rax, rdx, 0x33
and rdi, rbp
lea rdx, [rax + rax*8]
mov qword [rsp + 0xe8], rdi
lea rdx, [rax + rdx*2]
mov rax, qword [rsp + 0x20]
and rax, rbp
add rdx, rax
mov rax, qword [rsp + 0x30]
mov rcx, rdx
shr rcx, 0x33
and rax, rbp
add rax, rcx
mov rcx, qword [rsp + 0x40]
mov rbx, rax
shr rax, 0x33
and rcx, rbp
and rbx, rbp
add rax, rcx
mov rcx, r8
mov rsi, rbx
mov qword [rsp + 0xd0], rbx
shr rcx, 0x33
mov qword [rsp + 0xc0], rax
lea rax, [r12 + r9]
and r8, rbp
add rcx, r14
mov qword [rsp + 0x198], rsi
add rcx, r9
mov r10, rcx
and rcx, rbp
shr r10, 0x33
add rax, r10
lea r10, [r15 + r9]
add r9, r13
mov r11, rax
shr r11, 0x33
add r10, r11
mov r11, r10
shr r11, 0x33
add r9, r11
mov r11, r9
shr r11, 0x33
lea rbx, [r11 + r11*8]
lea r11, [r11 + rbx*2]
add r11, r8
mov r8, r11
mov rbx, r11
shr r8, 0x33
and rbx, rbp
add rcx, r8
mov qword [rsp + 0x148], rbx
lea r8, [rsp + 0x190]
mov r14, rcx
shr rcx, 0x33
mov qword [rsp + 0x160], rbx
and r14, rbp
and rax, rbp
and rdx, rbp
lea r15, [rcx + rax]
mov rax, r10
mov rcx, r9
mov qword [rsp + 0x128], r14
and rax, rbp
and rcx, rbp
lea rbx, [rdx + 1]
mov qword [rsp + 0x130], r15
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x168], r14
mov qword [rsp + 0x170], r15
mov qword [rsp + 0x180], rcx
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0x190], rbx
mov qword [rsp + 0x1a0], rax
mov rdx, qword [rsp + 0xb8]
lea rax, [rsp + 0x1c0]
mov rcx, rax
mov qword [rsp + 0x1b0], rdi
mov qword [rsp + 0x1a8], rdx
lea rdx, [rsp + 0x160]
mov qword [rsp + 0x158], rdx
mov qword [rsp + 0xa8], rax
call sym.fiat_25519_carry_mul
mov rdi, qword [rsp + 0x1e0]
mov r14, qword [rsp + 0x1d8]
mov rbx, qword [rsp + 0x1d0]
mov r9, qword [rsp + 0x1c0]
lea rax, [rdi + rdi*8]
mov r13, r14
lea rsi, [r14 + r14]
mov qword [rsp + 0x120], r14
lea rax, [rdi + rax*2]
mov qword [rsp + 0xf0], rdi
lea r8, [rbx + rbx]
mov rdi, qword [rsp + 0x1c8]
lea r12, [rax + rax]
mov qword [rsp + 0xc8], rax
lea rax, [r14 + r14*8]
lea r15, [r14 + rax*2]
mov qword [rsp + 0x80], rbx
lea r14, [r15 + r15]
mov qword [rsp + 0x108], r15
mov rax, r14
mov qword [rsp + 0xa0], r9
mul rbx
mov qword [rsp + 0xf8], rdi
mov rcx, rax
mov rax, rdi
mov rbx, rdx
mul r12
mov r10, rax
mov r11, rdx
mov rax, r9
add r10, rcx
adc r11, rbx
mul r9
add r10, rax
mov rax, r13
adc r11, rdx
mul r15
mov r14, rax
mov rax, qword [rsp + 0x80]
mov r15, rdx
mul r12
mov rcx, rax
mov rbx, rdx
lea rax, [rdi + rdi]
add rcx, r14
adc rbx, r15
mul r9
add rcx, rax
mov rax, r10
adc rbx, rdx
shrd rax, r11, 0x33
xor edx, edx
add rcx, rax
mov rax, r12
adc rbx, rdx
mul r13
mov r12, rax
mov rax, r9
mov r13, rdx
mul r8
add r12, rax
mov rax, rdi
adc r13, rdx
mul rdi
add rax, r12
mov r12, rcx
adc rdx, r13
shrd r12, rbx, 0x33
xor r13d, r13d
add rax, r12
adc rdx, r13
mov r14, rax
mov rax, qword [rsp + 0xf0]
mov r15, rdx
mul qword [rsp + 0xc8]
mov r12, rax
mov rax, r8
mov r13, rdx
mul rdi
mov r8, rax
mov r9, rdx
add r8, r12
mov r12, qword [rsp + 0xf0]
adc r9, r13
mov r13, qword [rsp + 0xa0]
mov rax, r13
mul rsi
add r8, rax
mov rax, r14
adc r9, rdx
shrd rax, r15, 0x33
xor edx, edx
add r8, rax
mov rax, r8
adc r9, rdx
add r12, r12
and rax, rbp
mov qword [rsp + 0x30], rax
mov rax, r12
mov r11, qword [rsp + 0x30]
mul r13
mov r12, rax
mov rax, rsi
mov r13, rdx
mul rdi
mov rsi, rax
mov rdi, rdx
add rsi, r12
adc rdi, r13
mov r13, qword [rsp + 0x80]
mov rax, r13
mul r13
add rax, rsi
adc rdx, rdi
shrd r8, r9, 0x33
xor r9d, r9d
add rax, r8
adc rdx, r9
mov r9, rax
and r10, rbp
and rcx, rbp
shrd rax, rdx, 0x33
and r9, rbp
and r14, rbp
lea rdx, [rax + rax*8]
mov qword [rsp + 0x50], r9
lea rax, [rax + rdx*2]
add rax, r10
mov rdi, rax
shr rax, 0x33
add rax, rcx
and rdi, rbp
mov rsi, rax
shr rax, 0x33
mov qword [rsp + 0x60], rdi
lea r13, [r14 + rax]
lea rax, [r9 + r9*8]
and rsi, rbp
lea rbx, [r9 + rax*2]
mov rax, rsi
lea r12, [rsi + rsi]
mov qword [rsp + 0x40], r13
lea r8, [rbx + rbx]
lea rcx, [r13 + r13]
mov qword [rsp + 0x20], rsi
mul r8
lea r9, [r11 + r11]
mov r14, rax
mov rax, rdi
mov r15, rdx
mul rdi
add r14, rax
lea rax, [r11 + r11*8]
lea r10, [r11 + rax*2]
adc r15, rdx
lea rax, [r10 + r10]
mul r13
add r14, rax
mov rax, r12
adc r15, rdx
mul rdi
mov rsi, r14
mov rdi, r15
mov r12, rax
mov rax, qword [rsp + 0x40]
mov r13, rdx
mul r8
add r12, rax
mov rax, r10
adc r13, rdx
mul r11
mov r10, rax
mov r11, rdx
mov rax, r8
mov r8, qword [rsp + 0x60]
add r10, r12
adc r11, r13
shrd rsi, r15, 0x33
mov r13, qword [rsp + 0x20]
shr rdi, 0x33
add rsi, r10
adc rdi, r11
mul qword [rsp + 0x30]
mov r12, rsi
mov r10, rax
mov rax, r13
mov r11, rdx
mul r13
mov r13, rdi
add r10, rax
mov rax, r8
adc r11, rdx
mul rcx
add rax, r10
adc rdx, r11
shrd r12, rdi, 0x33
shr r13, 0x33
add r12, rax
mov rax, rbx
adc r13, rdx
mul qword [rsp + 0x50]
mov r10, rax
mov rax, r8
mov r11, rdx
mul r9
add r10, rax
mov rax, rcx
adc r11, rdx
mul qword [rsp + 0x20]
mov rcx, rax
mov rbx, rdx
mov rax, r12
mov rdx, r13
add rcx, r10
adc rbx, r11
shrd rax, r13, 0x33
shr rdx, 0x33
add rcx, rax
mov rax, rcx
adc rbx, rdx
and rax, rbp
mov r8, rax
mov rax, qword [rsp + 0x50]
lea r10, [rax + rax]
mov rax, r10
mul qword [rsp + 0x60]
mov r10, rax
mov r11, rdx
mov rax, r9
mul qword [rsp + 0x20]
mov r9, qword [rsp + 0x40]
add r10, rax
mov rax, r9
adc r11, rdx
mul r9
add rax, r10
adc rdx, r11
shrd rcx, rbx, 0x33
shr rbx, 0x33
add rax, rcx
adc rdx, rbx
mov rbx, rax
and r14, rbp
shrd rax, rdx, 0x33
and rbx, rbp
lea rdx, [rax + rax*8]
mov r11, rbx
lea rdx, [rax + rdx*2]
mov rax, rsi
add rdx, r14
and rax, rbp
mov r14, rdx
shr rdx, 0x33
add rax, rdx
and r14, rbp
mov rsi, rax
shr rax, 0x33
mov r9, r14
and rsi, rbp
mov rcx, rsi
mov rsi, r12
and rsi, rbp
lea r10, [rsi + rax]
lea rax, [rbx + rbx*8]
lea r14, [rbx + rax*2]
mov rax, r9
lea r12, [r10 + r10]
mul r9
lea r15, [r14 + r14]
mov qword [rsp + 0x88], r12
lea rsi, [r8 + r8]
mov qword [rsp + 0x70], rsi
mov r12, rax
mov rax, r15
mov r13, rdx
mul rcx
add r12, rax
lea rax, [r8 + r8*8]
lea rbx, [r8 + rax*2]
adc r13, rdx
mov rsi, r12
lea rax, [rbx + rbx]
mov rdi, r13
lea r13, [rcx + rcx]
mul r10
add rsi, rax
mov rax, r13
adc rdi, rdx
mul r9
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rdi
mov r12, rax
mov rax, r15
mov r13, rdx
mul r10
add r12, rax
mov rax, rbx
adc r13, rdx
mul r8
add rax, r12
mov r12, rsi
adc rdx, r13
mov r13, rdi
shrd r12, rdi, 0x33
shr r13, 0x33
add r12, rax
mov rax, rcx
adc r13, rdx
mul rcx
mov rbx, r12
mov rsi, rax
mov rax, r8
mov rdi, rdx
mov r8, qword [rsp + 0x88]
mul r15
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r9
add rax, rsi
mov rsi, r13
adc rdx, rdi
shrd rbx, r13, 0x33
shr rsi, 0x33
add rax, rbx
adc rdx, rsi
mov rbx, rax
mov rax, r14
mov rsi, rdx
mul r11
mov r14, rax
mov rax, qword [rsp + 0x70]
mov r15, rdx
mul r9
add r14, rax
mov rax, r8
lea r8, [r11 + r11]
adc r15, rdx
mul rcx
add rax, r14
mov r14, rbx
adc rdx, r15
shrd rbx, rsi, 0x33
shr rsi, 0x33
mov rdi, rsi
mov rsi, rbx
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r9
mov r8, rax
mov rax, qword [rsp + 0x70]
mov r9, rdx
mul rcx
mov rcx, rax
mov rbx, rdx
mov rax, r10
add rcx, r8
adc rbx, r9
mul r10
add rax, rcx
mov rcx, rsi
adc rdx, rbx
shrd rcx, rdi, 0x33
mov rbx, rdi
shr rbx, 0x33
add rax, rcx
adc rdx, rbx
mov r8, rax
and r12, rbp
and rsi, rbp
shrd rax, rdx, 0x33
mov qword [rsp + 0x238], rsi
lea rsi, [rsp + 0x220]
lea rdx, [rax + rax*8]
mov qword [rsp + 0xe0], rsi
lea rcx, [rax + rdx*2]
mov rdx, qword [rsp + 0x90]
mov rax, r8
mov r8, rsi
and rax, rbp
and rdx, rbp
mov qword [rsp + 0x240], rax
add rcx, rdx
mov rdx, rcx
and rcx, rbp
shr rdx, 0x33
mov qword [rsp + 0x220], rcx
add rdx, r12
mov rcx, rdx
shr rdx, 0x33
and rcx, rbp
mov qword [rsp + 0x228], rcx
mov rcx, r14
and rcx, rbp
add rcx, rdx
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x230], rcx
mov rcx, rsi
call sym.fiat_25519_carry_mul
mov rsi, qword [rsp + 0x240]
mov rdi, qword [rsp + 0x50]
mov r11, qword [rsp + 0x230]
mov rcx, qword [rsp + 0x228]
lea rax, [rsi + rsi*8]
mov rbx, qword [rsp + 0x220]
lea r8, [rsi + rax*2]
mov rsi, qword [rsp + 0x238]
lea rax, [rsi + rsi*8]
lea r9, [rsi + rax*2]
lea rax, [r11 + r11*8]
lea r10, [r11 + rax*2]
lea rax, [rcx + rcx*8]
lea rsi, [rcx + rax*2]
mov rax, rsi
mul rdi
mov r12, rax
mov rax, qword [rsp + 0x30]
mov r13, rdx
mul r10
add r12, rax
mov rax, qword [rsp + 0x60]
adc r13, rdx
mul rbx
add r12, rax
mov rax, qword [rsp + 0x20]
adc r13, rdx
mul r8
add r12, rax
mov rax, qword [rsp + 0x40]
adc r13, rdx
mov r14, r12
mul r9
mov r15, r13
add r14, rax
mov rax, r10
mov r10, qword [rsp + 0x60]
adc r15, rdx
mul rdi
mov rsi, rax
mov rax, qword [rsp + 0x30]
mov rdi, rdx
mul r9
add rsi, rax
mov rax, r10
adc rdi, rdx
mul rcx
add rsi, rax
mov rax, qword [rsp + 0x20]
adc rdi, rdx
mov r12, rsi
mov rsi, r14
mul rbx
mov r13, rdi
add r12, rax
mov rax, qword [rsp + 0x40]
adc r13, rdx
mul r8
add rax, r12
adc rdx, r13
shrd rsi, r15, 0x33
xor edi, edi
add rax, rsi
mov rsi, rax
mov rax, r9
mov r9, qword [rsp + 0x50]
adc rdx, rdi
mov rdi, rdx
mov qword [rsp + 0x70], rsi
mul r9
mov qword [rsp + 0x78], rdi
mov r12, rax
mov rax, qword [rsp + 0x30]
mov r13, rdx
mul r8
add r12, rax
mov rax, r10
adc r13, rdx
mul r11
add r12, rax
mov rax, qword [rsp + 0x20]
adc r13, rdx
mul rcx
add r12, rax
mov rax, qword [rsp + 0x40]
adc r13, rdx
mul rbx
add rax, r12
adc rdx, r13
shrd rsi, rdi, 0x33
xor edi, edi
add rax, rsi
adc rdx, rdi
mov r12, rax
mov rax, r8
mov r13, rdx
mul r9
mov r8, rax
mov rax, qword [rsp + 0x30]
mov r9, rdx
mul rbx
add r8, rax
mov rax, r10
adc r9, rdx
mul qword [rsp + 0x238]
add r8, rax
mov rax, qword [rsp + 0x20]
adc r9, rdx
mul r11
mov rsi, rax
mov rax, qword [rsp + 0x40]
mov rdi, rdx
add rsi, r8
adc rdi, r9
mul rcx
add rsi, rax
mov rax, r12
adc rdi, rdx
shrd rax, r13, 0x33
xor edx, edx
add rsi, rax
mov rax, qword [rsp + 0x50]
adc rdi, rdx
mov r8, rsi
mul rbx
and r8, rbp
mov r9, rax
mov rax, qword [rsp + 0x30]
mov r10, rdx
mul rcx
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x60]
add rcx, r9
adc rbx, r10
mul qword [rsp + 0x240]
add rcx, rax
mov rax, qword [rsp + 0x20]
adc rbx, rdx
mul qword [rsp + 0x238]
add rcx, rax
mov rax, qword [rsp + 0x40]
adc rbx, rdx
mul r11
add rax, rcx
adc rdx, rbx
mov rbx, rsi
shrd rbx, rdi, 0x33
xor edi, edi
add rax, rbx
adc rdx, rdi
mov r11, rax
and r14, rbp
shrd rax, rdx, 0x33
and r11, rbp
lea rdx, [rax + rax*8]
lea rdx, [rax + rdx*2]
mov rax, qword [rsp + 0x70]
add rdx, r14
mov r9, rdx
and rax, rbp
shr rdx, 0x33
add rax, rdx
and r9, rbp
mov rdi, rax
shr rax, 0x33
and rdi, rbp
mov rcx, rdi
mov rdi, r12
and rdi, rbp
lea r10, [rdi + rax]
lea rax, [r11 + r11*8]
lea r14, [r11 + rax*2]
lea rax, [r8 + r8]
mov qword [rsp + 0x20], rax
mov rax, r9
lea r15, [r14 + r14]
lea rdi, [r10 + r10]
mul r9
mov qword [rsp + 0x30], rdi
mov r12, rax
mov rax, r15
mov r13, rdx
mul rcx
add r12, rax
lea rax, [r8 + r8*8]
lea rbx, [r8 + rax*2]
adc r13, rdx
mov rsi, r12
lea rax, [rbx + rbx]
mov rdi, r13
lea r13, [rcx + rcx]
mul r10
add rsi, rax
mov rax, r13
adc rdi, rdx
mul r9
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rdi
mov r12, rax
mov rax, r15
mov r13, rdx
mul r10
add r12, rax
mov rax, rbx
adc r13, rdx
mul r8
add rax, r12
mov r12, rsi
adc rdx, r13
mov r13, rdi
shrd r12, rdi, 0x33
shr r13, 0x33
add r12, rax
mov rax, rcx
adc r13, rdx
mul rcx
mov rbx, r12
mov rsi, rax
mov rax, r8
mov rdi, rdx
mov r8, qword [rsp + 0x30]
mul r15
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r9
add rax, rsi
mov rsi, r13
adc rdx, rdi
shrd rbx, r13, 0x33
shr rsi, 0x33
add rax, rbx
adc rdx, rsi
mov rbx, rax
mov rax, r14
mov rsi, rdx
mul r11
mov r14, rax
mov rax, qword [rsp + 0x20]
mov r15, rdx
mul r9
add r14, rax
mov rax, r8
lea r8, [r11 + r11]
adc r15, rdx
mul rcx
add rax, r14
mov r14, rbx
adc rdx, r15
shrd rbx, rsi, 0x33
shr rsi, 0x33
mov rdi, rsi
mov rsi, rbx
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r9
mov r8, rax
mov rax, qword [rsp + 0x20]
mov r9, rdx
mul rcx
mov rcx, rax
mov rbx, rdx
mov rax, r10
add rcx, r8
adc rbx, r9
mul r10
add rax, rcx
mov rcx, rsi
adc rdx, rbx
shrd rcx, rdi, 0x33
mov rbx, rdi
shr rbx, 0x33
add rax, rcx
adc rdx, rbx
mov r9, rax
and r12, rbp
and rsi, rbp
shrd rax, rdx, 0x33
mov qword [rsp + 0x208], rsi
lea rdx, [rax + rax*8]
lea rcx, [rax + rdx*2]
mov rax, qword [rsp + 0x40]
and rax, rbp
add rcx, rax
mov rax, rcx
and rcx, rbp
shr rax, 0x33
mov qword [rsp + 0x1f0], rcx
mov rdx, rax
add rdx, r12
mov rax, rdx
shr rdx, 0x33
and rax, rbp
mov qword [rsp + 0x1f8], rax
mov rax, r14
and rax, rbp
mov rcx, rax
mov rax, r9
and rax, rbp
add rcx, rdx
mov rdx, qword [rsp + 0xe0]
mov qword [rsp + 0x210], rax
lea rax, [rsp + 0x1f0]
mov r8, rax
mov qword [rsp + 0x200], rcx
mov rcx, rax
mov qword [rsp + 0x118], rax
call sym.fiat_25519_carry_mul
mov rax, qword [rsp + 0x210]
mov rdi, qword [rsp + 0x210]
lea rax, [rax + rax*8]
lea r11, [rdi + rax*2]
mov rax, qword [rsp + 0x208]
mov rdi, qword [rsp + 0x208]
lea r8, [r11 + r11]
mov qword [rsp + 0x40], r11
lea rax, [rax + rax*8]
lea r12, [rdi + rdi]
lea r14, [rdi + rax*2]
mov rax, qword [rsp + 0x200]
lea rdi, [r14 + r14]
mov qword [rsp + 0x20], r14
lea r10, [rax + rax]
mov rax, rdi
mul qword [rsp + 0x200]
mov rcx, rax
mov rbx, rdx
mov rax, r8
mul qword [rsp + 0x1f8]
mov rsi, rax
mov rax, qword [rsp + 0x1f0]
mov rdi, rdx
add rsi, rcx
adc rdi, rbx
mul rax
add rsi, rax
mov rax, r14
adc rdi, rdx
mul qword [rsp + 0x208]
mov r14, rax
mov r15, rdx
mov rax, r8
mul qword [rsp + 0x200]
mov rcx, rax
mov rax, qword [rsp + 0x1f8]
mov rbx, rdx
add rcx, r14
adc rbx, r15
add rax, rax
mul qword [rsp + 0x1f0]
add rcx, rax
mov rax, rsi
adc rbx, rdx
shrd rax, rdi, 0x33
xor edx, edx
add rcx, rax
mov rax, r8
adc rbx, rdx
mul qword [rsp + 0x208]
mov r8, rax
mov r9, rdx
mov rax, r10
mul qword [rsp + 0x1f0]
add r8, rax
mov rax, qword [rsp + 0x1f8]
adc r9, rdx
mul rax
add rax, r8
mov r8, rcx
adc rdx, r9
shrd r8, rbx, 0x33
xor r9d, r9d
add rax, r8
adc rdx, r9
mov r14, rax
mov rax, r11
mov r15, rdx
mul qword [rsp + 0x210]
mov r8, rax
mov r9, rdx
mov rax, r10
mul qword [rsp + 0x1f8]
mov r10, rax
mov r11, rdx
mov rax, r12
add r10, r8
adc r11, r9
mul qword [rsp + 0x1f0]
add r10, rax
mov rax, r14
adc r11, rdx
shrd rax, r15, 0x33
xor edx, edx
add r10, rax
mov rax, qword [rsp + 0x210]
adc r11, rdx
mov r8, r10
lea r9, [rax + rax]
and r8, rbp
mov rax, r9
mul qword [rsp + 0x1f0]
lea rbx, [r8 + r8]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x30], rax
mov rax, r12
mov qword [rsp + 0x38], rdx
mul qword [rsp + 0x1f8]
mov r12, rax
mov rax, qword [rsp + 0x200]
add r12, qword [rsp + 0x30]
mov r13, rdx
adc r13, qword [rsp + 0x38]
mul rax
add rax, r12
adc rdx, r13
shrd r10, r11, 0x33
xor r11d, r11d
add rax, r10
adc rdx, r11
mov r9, rax
and rsi, rbp
and rcx, rbp
shrd rax, rdx, 0x33
and r9, rbp
lea rdx, [rax + rax*8]
mov r11, r9
lea rax, [rax + rdx*2]
mov rdx, r14
add rax, rsi
and rdx, rbp
mov r9, rax
shr rax, 0x33
add rax, rcx
and r9, rbp
mov rcx, rax
shr rax, 0x33
lea r15, [rdx + rax]
lea rax, [r11 + r11*8]
and rcx, rbp
lea r14, [r11 + rax*2]
lea rax, [r15 + r15]
lea r10, [r14 + r14]
mov qword [rsp + 0x30], rax
mov rax, rcx
mul r10
mov r12, rax
mov rax, r9
mov r13, rdx
mul r9
add r12, rax
lea rax, [r8 + r8*8]
lea rbx, [r8 + rax*2]
adc r13, rdx
mov rsi, r12
lea rax, [rbx + rbx]
mov rdi, r13
lea r13, [rcx + rcx]
mul r15
add rsi, rax
mov rax, r13
adc rdi, rdx
mul r9
mov qword [rsp + 0x60], rsi
mov r12, rax
mov rax, r10
mov r13, rdx
mul r15
add r12, rax
mov rax, rbx
adc r13, rdx
mul r8
add rax, r12
adc rdx, r13
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rax, rsi
adc rdx, rdi
mov r12, rax
mov rax, r8
mov r8, qword [rsp + 0x30]
mov r13, rdx
mul r10
mov qword [rsp + 0x30], r12
mov rbx, qword [rsp + 0x50]
mov r10, rbp
mov rsi, rax
mov rax, rcx
mov rdi, rdx
mul rcx
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r9
add rax, rsi
adc rdx, rdi
shrd r12, r13, 0x33
shr r13, 0x33
add r12, rax
mov rax, r14
adc r13, rdx
mul r11
mov rsi, rax
mov rax, rbx
mov rdi, rdx
mul r9
add rsi, rax
mov rax, r8
lea r8, [r11 + r11]
adc rdi, rdx
mul rcx
add rsi, rax
mov rax, r12
adc rdi, rdx
shrd rax, r13, 0x33
mov rdx, r13
shr rdx, 0x33
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r9
and r10, rsi
mov r8, rax
mov rax, rbx
mov r9, rdx
mul rcx
mov rcx, rax
mov rbx, rdx
mov rax, r15
add rcx, r8
adc rbx, r9
mul r15
add rax, rcx
adc rdx, rbx
mov rbx, rsi
mov rsi, rdi
shrd rbx, rdi, 0x33
shr rsi, 0x33
mov rdi, rbp
add rax, rbx
adc rdx, rsi
and rdi, rax
shrd rax, rdx, 0x33
mov r11, rdi
lea rdx, [rax + rax*8]
lea rax, [rax + rdx*2]
mov rdx, qword [rsp + 0x60]
and rdx, rbp
add rax, rdx
mov rdx, qword [rsp + 0x30]
mov r9, rax
shr rax, 0x33
and rdx, rbp
and r9, rbp
add rax, rdx
mov rdx, r12
and rdx, rbp
mov r8, rax
shr rax, 0x33
lea r15, [rax + rdx]
lea rax, [rdi + rdi*8]
and r8, rbp
lea r14, [rdi + rax*2]
lea rax, [r10 + r10]
mov qword [rsp + 0x60], rax
mov rax, r9
lea rcx, [r14 + r14]
lea rdi, [r15 + r15]
mul r9
mov qword [rsp + 0x30], rdi
mov r12, rax
mov rax, r8
mov r13, rdx
mul rcx
add r12, rax
lea rax, [r10 + r10*8]
lea rbx, [r10 + rax*2]
adc r13, rdx
mov rsi, r12
lea rax, [rbx + rbx]
mov rdi, r13
lea r13, [r8 + r8]
mul r15
add rsi, rax
mov rax, r13
adc rdi, rdx
mul r9
mov qword [rsp + 0x50], rsi
mov r12, rax
mov rax, r15
mov r13, rdx
mul rcx
add r12, rax
mov rax, rbx
adc r13, rdx
mul r10
add rax, r12
mov r12, rsi
adc rdx, r13
mov r13, rdi
shrd r12, rdi, 0x33
shr r13, 0x33
add r12, rax
mov rax, r8
adc r13, rdx
mul r8
mov rsi, rax
mov rax, rcx
mov rdi, rdx
mul r10
mov r10, qword [rsp + 0x30]
mov rcx, rax
mov rbx, rdx
mov rax, r10
add rcx, rsi
adc rbx, rdi
mul r9
add rax, rcx
mov rcx, r12
adc rdx, rbx
shrd rcx, r13, 0x33
mov rbx, r13
shr rbx, 0x33
add rax, rcx
mov qword [rsp + 0x30], rax
adc rdx, rbx
mov rax, r14
mov r14, qword [rsp + 0x60]
mov qword [rsp + 0x38], rdx
mul r11
mov rcx, rax
mov rax, r14
mov rbx, rdx
mul r9
add rcx, rax
mov rax, r10
mov r10, rbp
adc rbx, rdx
mul r8
mov rsi, rcx
mov rdi, rbx
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
add rcx, rsi
lea rsi, [r11 + r11]
adc rbx, rdi
shrd rax, rdx, 0x33
shr rdx, 0x33
add rcx, rax
mov rax, rsi
adc rbx, rdx
mul r9
and r10, rcx
mov rsi, rax
mov rax, r14
mov rdi, rdx
mul r8
add rsi, rax
mov rax, r15
adc rdi, rdx
mul r15
add rax, rsi
adc rdx, rdi
shrd rcx, rbx, 0x33
mov rdi, rbp
shr rbx, 0x33
add rax, rcx
adc rdx, rbx
and rdi, rax
and r12, rbp
shrd rax, rdx, 0x33
mov r11, rdi
lea rdx, [rax + rax*8]
lea rax, [rax + rdx*2]
mov rdx, qword [rsp + 0x50]
and rdx, rbp
add rax, rdx
mov rdx, qword [rsp + 0x30]
mov r9, rax
shr rax, 0x33
add rax, r12
and rdx, rbp
and r9, rbp
mov r8, rax
shr rax, 0x33
lea r15, [rax + rdx]
lea rax, [rdi + rdi*8]
and r8, rbp
lea r14, [rdi + rax*2]
lea rax, [r10 + r10]
mov qword [rsp + 0x60], rax
mov rax, r9
lea rcx, [r14 + r14]
lea rdi, [r15 + r15]
mul r9
mov qword [rsp + 0x30], rdi
mov r12, rax
mov rax, r8
mov r13, rdx
mul rcx
add r12, rax
lea rax, [r10 + r10*8]
lea rbx, [r10 + rax*2]
adc r13, rdx
mov rsi, r12
lea rax, [rbx + rbx]
mov rdi, r13
lea r13, [r8 + r8]
mul r15
add rsi, rax
mov rax, r13
adc rdi, rdx
mul r9
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rdi
mov r12, rax
mov rax, r15
mov r13, rdx
mul rcx
add r12, rax
mov rax, rbx
adc r13, rdx
mul r10
add rax, r12
mov r12, rsi
adc rdx, r13
mov r13, rdi
shrd r12, rdi, 0x33
shr r13, 0x33
add r12, rax
mov rax, r8
adc r13, rdx
mul r8
mov rsi, rax
mov rax, rcx
mov rdi, rdx
mul r10
mov r10, qword [rsp + 0x30]
mov rcx, rax
mov rbx, rdx
mov rax, r10
add rcx, rsi
adc rbx, rdi
mul r9
add rax, rcx
mov rcx, r12
adc rdx, rbx
shrd rcx, r13, 0x33
mov rbx, r13
shr rbx, 0x33
add rax, rcx
mov qword [rsp + 0x30], rax
adc rdx, rbx
mov rax, r14
mov r14, qword [rsp + 0x60]
mov qword [rsp + 0x38], rdx
mul r11
mov rcx, rax
mov rax, r14
mov rbx, rdx
mul r9
add rcx, rax
mov rax, r10
mov r10, rbp
adc rbx, rdx
mul r8
mov rsi, rcx
mov rdi, rbx
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
add rcx, rsi
lea rsi, [r11 + r11]
adc rbx, rdi
shrd rax, rdx, 0x33
shr rdx, 0x33
add rcx, rax
mov rax, rsi
adc rbx, rdx
mul r9
and r10, rcx
mov rsi, rax
mov rax, r14
mov rdi, rdx
mul r8
add rsi, rax
mov rax, r15
adc rdi, rdx
mul r15
add rax, rsi
adc rdx, rdi
shrd rcx, rbx, 0x33
mov rdi, rbp
shr rbx, 0x33
add rax, rcx
adc rdx, rbx
and rdi, rax
and r12, rbp
shrd rax, rdx, 0x33
mov r11, rdi
lea rdx, [rax + rax*8]
lea rax, [rax + rdx*2]
mov rdx, qword [rsp + 0x50]
and rdx, rbp
add rax, rdx
mov rdx, qword [rsp + 0x30]
mov r8, rax
shr rax, 0x33
add rax, r12
and rdx, rbp
and r8, rbp
mov rcx, rax
shr rax, 0x33
lea r15, [rax + rdx]
lea rax, [rdi + rdi*8]
and rcx, rbp
lea r14, [rdi + rax*2]
lea rax, [r10 + r10]
mov qword [rsp + 0x50], rax
mov rax, r8
lea r9, [r14 + r14]
lea rdi, [r15 + r15]
mul r8
mov qword [rsp + 0x30], rdi
mov r12, rax
mov rax, r9
mov r13, rdx
mul rcx
add r12, rax
lea rax, [r10 + r10*8]
lea rbx, [r10 + rax*2]
adc r13, rdx
mov rsi, r12
lea rax, [rbx + rbx]
mov rdi, r13
lea r13, [rcx + rcx]
mul r15
add rsi, rax
mov rax, r13
adc rdi, rdx
mul r8
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rdi
mov r12, rax
mov rax, r9
mov r13, rdx
mul r15
add r12, rax
mov rax, rbx
adc r13, rdx
mul r10
add rax, r12
mov r12, rsi
adc rdx, r13
mov r13, rdi
shrd r12, rdi, 0x33
shr r13, 0x33
add r12, rax
mov rax, rcx
adc r13, rdx
mul rcx
mov rbx, r12
mov rsi, rax
mov rax, r10
mov rdi, rdx
mul r9
add rsi, rax
mov rax, qword [rsp + 0x30]
adc rdi, rdx
mul r8
add rax, rsi
mov rsi, r13
adc rdx, rdi
shrd rbx, r13, 0x33
shr rsi, 0x33
add rax, rbx
adc rdx, rsi
mov r9, rax
mov rax, r14
mov r14, qword [rsp + 0x50]
mov r10, rdx
mul r11
mov rbx, r9
mov rsi, rax
mov rax, r14
mov rdi, rdx
mul r8
add rsi, rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], r9
adc rdi, rdx
mul rcx
add rax, rsi
mov rsi, r10
adc rdx, rdi
shrd rbx, r10, 0x33
shr rsi, 0x33
mov rdi, rsi
mov rsi, rbx
add rsi, rax
mov rax, rbp
adc rdi, rdx
and rax, rsi
add r11, r11
mov rbx, rax
mov rax, r11
mul r8
mov r8, rax
mov rax, r14
mov r9, rdx
mul rcx
add r8, rax
mov rax, r15
adc r9, rdx
mul r15
add rax, r8
adc rdx, r9
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rax, rsi
adc rdx, rdi
mov rdi, rbp
and rdi, rax
shrd rax, rdx, 0x33
lea rdx, [rax + rax*8]
mov r9, rdi
mov rdi, qword [rsp + 0x200]
lea rdx, [rax + rdx*2]
mov rax, qword [rsp + 0x60]
and rax, rbp
add rdx, rax
mov rax, r12
mov r8, rdx
and rax, rbp
shr rdx, 0x33
add rax, rdx
mov rdx, qword [rsp + 0x30]
and r8, rbp
mov rcx, rax
shr rax, 0x33
and rdx, rbp
and rcx, rbp
lea r11, [rdx + rax]
mov rax, qword [rsp + 0x200]
lea rax, [rax + rax*8]
lea r10, [rdi + rax*2]
mov rax, qword [rsp + 0x1f8]
mov rdi, qword [rsp + 0x1f8]
lea rax, [rax + rax*8]
lea rdi, [rdi + rax*2]
mov rax, rdi
mul r9
mov r12, rax
mov rax, r10
mov r13, rdx
mul rbx
add r12, rax
mov rax, r8
adc r13, rdx
mul qword [rsp + 0x1f0]
add r12, rax
mov rax, qword [rsp + 0x40]
adc r13, rdx
mul rcx
add r12, rax
mov rax, qword [rsp + 0x20]
adc r13, rdx
mov r14, r12
mul r11
mov r15, r13
add r14, rax
mov rax, r10
mov r10, qword [rsp + 0x40]
adc r15, rdx
mul r9
mov qword [rsp + 0x30], r14
mov rsi, rax
mov rax, qword [rsp + 0x20]
mov rdi, rdx
mul rbx
add rsi, rax
mov rax, r8
adc rdi, rdx
mul qword [rsp + 0x1f8]
add rsi, rax
mov rax, rcx
adc rdi, rdx
mul qword [rsp + 0x1f0]
mov r12, rsi
mov rsi, r14
mov r13, rdi
add r12, rax
mov rax, r10
adc r13, rdx
mul r11
add rax, r12
adc rdx, r13
shrd rsi, r15, 0x33
xor edi, edi
add rax, rsi
mov r14, rax
mov rax, qword [rsp + 0x20]
adc rdx, rdi
mov r15, rdx
mov qword [rsp + 0x20], r14
mul r9
mov qword [rsp + 0x28], r15
mov rsi, rax
mov rax, r10
mov rdi, rdx
mul rbx
add rsi, rax
mov rax, r8
adc rdi, rdx
mul qword [rsp + 0x200]
mov r12, rsi
mov rsi, r14
mov r13, rdi
add r12, rax
mov rax, rcx
adc r13, rdx
mul qword [rsp + 0x1f8]
add r12, rax
mov rax, r11
adc r13, rdx
mul qword [rsp + 0x1f0]
add rax, r12
adc rdx, r13
shrd rsi, r15, 0x33
xor edi, edi
add rax, rsi
adc rdx, rdi
mov r14, rax
mov rax, r10
mov r10, rbp
mov r15, rdx
mul r9
mov rsi, rax
mov rdi, rdx
mov rax, rbx
mul qword [rsp + 0x1f0]
add rsi, rax
mov rax, r8
adc rdi, rdx
mul qword [rsp + 0x208]
mov r12, rsi
mov r13, rdi
add r12, rax
mov rax, rcx
adc r13, rdx
mul qword [rsp + 0x200]
mov rsi, rax
mov rdi, rdx
mov rax, r11
add rsi, r12
adc rdi, r13
mul qword [rsp + 0x1f8]
add rsi, rax
mov rax, r14
adc rdi, rdx
shrd rax, r15, 0x33
xor edx, edx
add rsi, rax
mov rax, r9
adc rdi, rdx
mul qword [rsp + 0x1f0]
and r10, rsi
mov qword [rsp + 0x110], r10
mov r12, rax
mov r13, rdx
mov rax, rbx
mov rbx, rsi
mul qword [rsp + 0x1f8]
add r12, rax
mov rax, r8
adc r13, rdx
mul qword [rsp + 0x210]
mov r8, rax
mov r9, rdx
mov rax, rcx
mov rcx, rbp
add r8, r12
adc r9, r13
mul qword [rsp + 0x208]
mov qword [rsp + 0x208], r10
mov dword [rsp + 0x60], 9
add r8, rax
mov rax, r11
adc r9, rdx
mul qword [rsp + 0x200]
add rax, r8
adc rdx, r9
shrd rbx, rdi, 0x33
xor edi, edi
lea r9, [r10 + r10]
add rax, rbx
adc rdx, rdi
and rcx, rax
shrd rax, rdx, 0x33
mov qword [rsp + 0xd8], rcx
lea rdx, [rax + rax*8]
mov qword [rsp + 0x210], rcx
lea rdx, [rax + rdx*2]
mov rax, qword [rsp + 0x30]
and rax, rbp
add rdx, rax
mov rax, qword [rsp + 0x20]
mov rdi, rdx
shr rdx, 0x33
and rax, rbp
and rdi, rbp
add rax, rdx
mov rdx, r14
mov qword [rsp + 0x70], rdi
and rdx, rbp
mov rbx, rax
shr rax, 0x33
mov qword [rsp + 0x1f0], rdi
lea rsi, [rdx + rax]
lea rax, [rcx + rcx*8]
and rbx, rbp
lea rax, [rcx + rax*2]
lea r8, [rsi + rsi]
mov qword [rsp + 0x88], rsi
lea rcx, [rax + rax]
mov qword [rsp + 0x90], rax
lea rax, [r10 + r10*8]
lea r14, [r10 + rax*2]
mov rax, rdi
mov qword [rsp + 0x200], rsi
mul rdi
mov r11, r14
mov qword [rsp + 0x100], r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0x1f8], rbx
mov r12, rax
mov rax, rbx
mov r13, rdx
mul rcx
add r12, rax
lea rax, [r14 + r14]
adc r13, rdx
mul rsi
mov r14, r12
mov r15, r13
lea r13, [rbx + rbx]
add r14, rax
mov rax, r13
adc r15, rdx
mul rdi
mov r12, rax
mov rax, rsi
mov r13, rdx
mov rsi, r10
mul rcx
add r12, rax
mov rax, r10
adc r13, rdx
mul r11
add rax, r12
mov r12, r14
adc rdx, r13
mov r13, r15
shrd r12, r15, 0x33
shr r13, 0x33
add r12, rax
mov rax, rbx
adc r13, rdx
mul rbx
mov r10, rax
mov rax, rcx
mov r11, rdx
mul rsi
mov rcx, rax
mov rbx, rdx
mov rax, rdi
add rcx, r10
adc rbx, r11
mul r8
add rax, rcx
mov rcx, r12
adc rdx, rbx
shrd rcx, r13, 0x33
mov rbx, r13
shr rbx, 0x33
add rax, rcx
adc rdx, rbx
mov rsi, rax
mov rax, qword [rsp + 0xd8]
mov rdi, rdx
mul qword [rsp + 0x90]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rdi
mov r10, rax
mov rax, qword [rsp + 0x70]
mov r11, rdx
mul r9
add r10, rax
mov rax, r8
mov r8, qword [rsp + 0xa8]
adc r11, rdx
mul r8
mov rcx, rax
mov rbx, rdx
mov rax, rsi
mov rdx, rdi
add rcx, r10
adc rbx, r11
shrd rax, rdi, 0x33
mov r11, rbp
mov rdi, qword [rsp + 0x88]
shr rdx, 0x33
add rcx, rax
adc rbx, rdx
mov rdx, qword [rsp + 0xd8]
and r11, rcx
mov qword [rsp + 0x20], r11
mov r15, qword [rsp + 0x20]
lea r11, [rdx + rdx]
mov rax, r11
mul qword [rsp + 0x70]
mov r10, rax
mov rax, r9
mov r11, rdx
mul r8
add r10, rax
mov rax, rdi
adc r11, rdx
mul rdi
mov rdi, rbp
add rax, r10
adc rdx, r11
shrd rcx, rbx, 0x33
shr rbx, 0x33
add rax, rcx
adc rdx, rbx
and rdi, rax
and r14, rbp
shrd rax, rdx, 0x33
lea rdx, [rax + rax*8]
lea rdx, [rax + rdx*2]
mov rax, r12
add rdx, r14
and rax, rbp
mov rbx, rdx
shr rdx, 0x33
add rax, rdx
mov rdx, qword [rsp + 0x30]
and rbx, rbp
mov r14, rax
shr rax, 0x33
mov rsi, rbx
and rdx, rbp
and r14, rbp
lea r11, [rdx + rax]
nop
lea rax, [rdi + rdi*8]
lea rbx, [r15 + r15]
lea rax, [rdi + rax*2]
mov qword [rsp + 0x20], rbx
lea rcx, [r11 + r11]
lea r10, [rax + rax]
mov qword [rsp + 0x50], rax
lea rax, [r15 + r15*8]
lea rbx, [r15 + rax*2]
lea r9, [rbx + rbx]
mov rax, r9
mul r11
mov r8, rax
mov rax, r10
mov r9, rdx
mul r14
add r8, rax
mov rax, rsi
adc r9, rdx
mul rsi
add r8, rax
mov rax, rbx
adc r9, rdx
mul r15
mov r12, r8
mov r13, r9
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r13
mov r8, rax
mov rax, r10
mov r9, rdx
mul r11
add r8, rax
lea rax, [r14 + r14]
adc r9, rdx
mul rsi
add rax, r8
mov r8, r12
adc rdx, r9
shrd r8, r13, 0x33
mov r9, r13
shr r9, 0x33
add rax, r8
adc rdx, r9
mov r12, rax
mov rax, r15
mov r13, rdx
mul r10
mov qword [rsp + 0x40], r12
mov r10, r13
mov qword [rsp + 0x48], r13
mov r8, rax
mov rax, rcx
mov r9, rdx
mul rsi
add r8, rax
mov rax, r14
adc r9, rdx
mul r14
add rax, r8
adc rdx, r9
mov r9, r12
shr r10, 0x33
shrd r9, r13, 0x33
mov r13, r10
mov r10, qword [rsp + 0x20]
mov r12, r9
add r12, rax
mov rax, qword [rsp + 0x50]
adc r13, rdx
mul rdi
mov r8, rax
mov rax, rcx
mov r9, rdx
mul r14
mov rcx, rax
mov rbx, rdx
mov rax, r10
add rcx, r8
lea r8, [rdi + rdi]
adc rbx, r9
mul rsi
add rcx, rax
mov rax, r12
adc rbx, rdx
shrd rax, r13, 0x33
mov rdx, r13
shr rdx, 0x33
add rcx, rax
mov rax, r8
adc rbx, rdx
mul rsi
mov r15, rcx
and r15, rbp
mov r8, rax
mov rax, r10
mov r9, rdx
mul r14
add r8, rax
mov rax, r11
adc r9, rdx
mul r11
add rax, r8
adc rdx, r9
shrd rcx, rbx, 0x33
shr rbx, 0x33
add rax, rcx
adc rdx, rbx
mov rdi, rax
and r12, rbp
shrd rax, rdx, 0x33
and rdi, rbp
lea rdx, [rax + rax*8]
lea rdx, [rax + rdx*2]
mov rax, qword [rsp + 0x30]
and rax, rbp
add rdx, rax
mov rax, qword [rsp + 0x40]
mov rsi, rdx
shr rdx, 0x33
and rax, rbp
and rsi, rbp
add rax, rdx
mov r14, rax
shr rax, 0x33
and r14, rbp
sub dword [rsp + 0x60], 1
lea r11, [r12 + rax]
jne 0x140310ab0
mov rbx, qword [rsp + 0x88]
mov r13, r15
mov qword [rsp + 0x30], r11
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x20], r13
lea rax, [rbx + rbx*8]
lea r10, [rbx + rax*2]
lea rax, [r15 + r15*8]
lea rcx, [r15 + rax*2]
mov rax, rcx
mul rdi
mov r8, rax
mov rax, r10
mov r9, rdx
mul r13
add r8, rax
mov rax, qword [rsp + 0x70]
adc r9, rdx
mul rsi
add r8, rax
mov rax, qword [rsp + 0x90]
adc r9, rdx
mul r14
add r8, rax
mov rax, qword [rsp + 0x100]
adc r9, rdx
mul r11
add r8, rax
mov rax, r10
adc r9, rdx
mul rdi
mov r12, r8
mov r13, r9
mov r10, r12
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x100]
mul qword [rsp + 0x20]
add rcx, rax
mov rax, r15
adc rbx, rdx
mul rsi
add rcx, rax
mov rax, qword [rsp + 0x70]
adc rbx, rdx
mov r8, rcx
mul r14
mov r9, rbx
add r8, rax
mov rax, qword [rsp + 0x90]
adc r9, rdx
mul r11
mov r11, r13
add rax, r8
adc rdx, r9
shrd r10, r13, 0x33
shr r11, 0x33
add r10, rax
mov rax, qword [rsp + 0x100]
adc r11, rdx
mul rdi
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x90]
mul qword [rsp + 0x20]
add rcx, rax
mov rax, qword [rsp + 0x88]
adc rbx, rdx
mul rsi
add rcx, rax
mov rax, r15
adc rbx, rdx
mul r14
mov r8, rcx
mov rcx, r10
mov r9, rbx
mov rbx, r11
add r8, rax
mov rax, qword [rsp + 0x70]
adc r9, rdx
mul qword [rsp + 0x30]
add rax, r8
adc rdx, r9
shrd rcx, r11, 0x33
shr rbx, 0x33
add rax, rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x90]
adc rdx, rbx
mov qword [rsp + 0x48], rdx
mul rdi
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x70]
mul qword [rsp + 0x20]
add rcx, rax
mov rax, qword [rsp + 0x110]
adc rbx, rdx
mul rsi
add rcx, rax
mov rax, qword [rsp + 0x88]
adc rbx, rdx
mov r8, rcx
mul r14
mov r9, rbx
add r8, rax
mov rax, r15
adc r9, rdx
mul qword [rsp + 0x30]
add rax, r8
mov r8, qword [rsp + 0x40]
adc rdx, r9
mov r9, qword [rsp + 0x48]
shrd r8, r9, 0x33
shr r9, 0x33
add r8, rax
mov rax, qword [rsp + 0x70]
adc r9, rdx
mov r15, r8
mul rdi
and r15, rbp
mov r11, r15
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0xa8]
mul qword [rsp + 0x20]
add rcx, rax
mov rax, qword [rsp + 0xd8]
adc rbx, rdx
mul rsi
add rcx, rax
mov rax, qword [rsp + 0x110]
adc rbx, rdx
mul r14
add rcx, rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x90], r11
adc rbx, rdx
mul qword [rsp + 0x30]
mov dword [rsp + 0x50], 0x13
add rax, rcx
adc rdx, rbx
shrd r8, r9, 0x33
shr r9, 0x33
add rax, r8
lea r8, [r15 + r15]
adc rdx, r9
mov rdi, rax
and r12, rbp
shrd rax, rdx, 0x33
and rdi, rbp
lea rdx, [rax + rax*8]
mov qword [rsp + 0xa8], rdi
lea rdx, [rax + rdx*2]
mov rax, r10
add rdx, r12
and rax, rbp
mov rbx, rdx
shr rdx, 0x33
add rax, rdx
mov rdx, qword [rsp + 0x40]
and rbx, rbp
mov r14, rax
shr rax, 0x33
mov qword [rsp + 0x70], rbx
and rdx, rbp
and r14, rbp
lea rsi, [rdx + rax]
lea rax, [rdi + rdi*8]
lea rdi, [rdi + rax*2]
lea rax, [r15 + r15*8]
lea r10, [r15 + rax*2]
mov rax, rbx
lea rcx, [rdi + rdi]
mov r15, rsi
mul rbx
lea r9, [rsi + rsi]
mov rsi, rbx
mov rbx, r14
mov qword [rsp + 0x88], r10
mov qword [rsp + 0xd8], rbx
mov r12, rax
mov rax, r14
mov r13, rdx
mov qword [rsp + 0x100], rdi
mul rcx
add r12, rax
lea rax, [r10 + r10]
mov r10, r15
adc r13, rdx
mul r15
mov r14, r12
mov qword [rsp + 0x60], r10
mov r15, r13
lea r13, [rbx + rbx]
add r14, rax
mov rax, r13
adc r15, rdx
mul rsi
mov r12, rax
mov rax, r10
mov r13, rdx
mul rcx
add r12, rax
mov rax, r11
adc r13, rdx
mul qword [rsp + 0x88]
add rax, r12
mov r12, r14
adc rdx, r13
mov r13, r15
shrd r12, r15, 0x33
shr r13, 0x33
add r12, rax
mov rax, rbx
adc r13, rdx
mul rbx
mov r10, rax
mov r11, rdx
mov rax, rcx
mul qword [rsp + 0x90]
mov rcx, rax
mov rbx, rdx
mov rax, rsi
add rcx, r10
adc rbx, r11
mul r9
add rax, rcx
mov rcx, r12
adc rdx, rbx
shrd rcx, r13, 0x33
mov rbx, r13
shr rbx, 0x33
add rax, rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0xa8]
adc rdx, rbx
mov qword [rsp + 0x28], rdx
mul rdi
mov r10, rax
mov rax, rsi
mov r11, rdx
mul r8
add r10, rax
mov rax, r9
adc r11, rdx
mul qword [rsp + 0xd8]
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
add rcx, r10
adc rbx, r11
shrd rax, rdx, 0x33
shr rdx, 0x33
add rcx, rax
adc rbx, rdx
mov rdx, qword [rsp + 0xa8]
mov r9, rcx
and r9, rbp
lea r11, [rdx + rdx]
mov rax, r11
mul rsi
mov rsi, qword [rsp + 0x60]
mov r10, rax
mov r11, rdx
mov rax, r8
mul qword [rsp + 0xd8]
add r10, rax
mov rax, rsi
adc r11, rdx
mul rsi
add rax, r10
adc rdx, r11
shrd rcx, rbx, 0x33
shr rbx, 0x33
add rax, rcx
adc rdx, rbx
mov rsi, rax
and r14, rbp
mov rbx, r12
shrd rax, rdx, 0x33
and rbx, rbp
and rsi, rbp
lea rdx, [rax + rax*8]
lea rdx, [rax + rdx*2]
mov rax, rbx
add rdx, r14
mov r15, rdx
shr rdx, 0x33
add rax, rdx
mov rdx, qword [rsp + 0x20]
and r15, rbp
mov r14, rax
shr rax, 0x33
and rdx, rbp
and r14, rbp
movabs rbp, 0x7ffffffffffff
lea rcx, [rdx + rax]
nop word [rax + rax]
lea rax, [rsi + rsi*8]
lea rbx, [r9 + r9]
lea rdi, [rsi + rax*2]
lea rax, [rcx + rcx]
mov qword [rsp + 0x20], rax
lea rax, [r9 + r9*8]
lea r8, [rdi + rdi]
lea r10, [r9 + rax*2]
lea r11, [r10 + r10]
mov rax, r11
mul rcx
mov r12, rax
mov rax, r8
mov r13, rdx
mul r14
add r12, rax
mov rax, r15
adc r13, rdx
mul r15
add r12, rax
mov rax, r10
adc r13, rdx
mul r9
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r13
mov r10, rax
mov rax, r8
mov r11, rdx
mul rcx
add r10, rax
lea rax, [r14 + r14]
adc r11, rdx
mul r15
add rax, r10
mov r10, r12
adc rdx, r11
shrd r10, r13, 0x33
mov r11, r13
shr r11, 0x33
add rax, r10
adc rdx, r11
mov r11, rax
mov rax, r9
mov r12, rdx
mul r8
mov qword [rsp + 0x40], r11
mov r10, r12
mov qword [rsp + 0x48], r12
mov r8, rax
mov rax, qword [rsp + 0x20]
mov r9, rdx
mul r15
add r8, rax
mov rax, r14
adc r9, rdx
mul r14
add rax, r8
adc rdx, r9
mov r9, r11
shr r10, 0x33
shrd r9, r12, 0x33
mov r13, r10
mov r12, r9
add r12, rax
mov rax, rdi
adc r13, rdx
mul rsi
mov r8, rax
mov rax, qword [rsp + 0x20]
mov r9, rdx
mul r14
mov r10, rax
mov r11, rdx
mov rax, rbx
add r10, r8
adc r11, r9
mul r15
add r10, rax
mov rax, r12
adc r11, rdx
shrd rax, r13, 0x33
mov rdx, r13
shr rdx, 0x33
add r10, rax
mov rax, r10
adc r11, rdx
add rsi, rsi
and rax, rbp
mov r9, rax
mov rax, rsi
mul r15
mov rsi, rax
mov rax, r14
mov rdi, rdx
mul rbx
add rsi, rax
mov rax, rcx
adc rdi, rdx
mul rcx
mov rcx, rax
mov rbx, rdx
add rcx, rsi
adc rbx, rdi
shrd r10, r11, 0x33
shr r11, 0x33
add rcx, r10
adc rbx, r11
mov rsi, rcx
and r12, rbp
shrd rcx, rbx, 0x33
and rsi, rbp
lea rax, [rcx + rcx*8]
lea rdx, [rcx + rax*2]
mov rax, qword [rsp + 0x30]
and rax, rbp
add rdx, rax
mov rax, qword [rsp + 0x40]
mov r15, rdx
shr rdx, 0x33
and rax, rbp
and r15, rbp
add rax, rdx
mov r14, rax
shr rax, 0x33
and r14, rbp
sub dword [rsp + 0x50], 1
lea rcx, [r12 + rax]
jne 0x1403110f0
mov rbx, qword [rsp + 0x60]
mov r11, qword [rsp + 0xd8]
mov r10, rcx
mov rdi, qword [rsp + 0x100]
mov qword [rsp + 0x20], r10
lea rax, [rbx + rbx*8]
lea r8, [rbx + rax*2]
lea rax, [r11 + r11*8]
lea rcx, [r11 + rax*2]
mov rax, rcx
mul rsi
mov rcx, rax
mov rax, r8
mov rbx, rdx
mul r9
add rcx, rax
mov rax, qword [rsp + 0x70]
adc rbx, rdx
mul r15
add rcx, rax
mov rax, rdi
adc rbx, rdx
mul r14
add rcx, rax
mov rax, qword [rsp + 0x88]
adc rbx, rdx
mul r10
add rcx, rax
mov rax, r8
mov r8, r11
adc rbx, rdx
mul rsi
mov r12, rcx
mov r13, rbx
mov rcx, rax
mov rax, qword [rsp + 0x88]
mov rbx, rdx
mul r9
add rcx, rax
mov rax, r11
adc rbx, rdx
mul r15
add rcx, rax
mov rax, qword [rsp + 0x70]
adc rbx, rdx
mul r14
add rcx, rax
mov rax, r10
adc rbx, rdx
mul rdi
add rcx, rax
mov rax, r12
adc rbx, rdx
shrd rax, r13, 0x33
mov rdx, r13
shr rdx, 0x33
add rcx, rax
mov rax, qword [rsp + 0x88]
adc rbx, rdx
mov r10, rcx
mul rsi
mov r11, rbx
mov qword [rsp + 0x30], r10
mov rcx, rax
mov rax, rdi
mov rbx, rdx
mul r9
add rcx, rax
mov rax, qword [rsp + 0x60]
adc rbx, rdx
mul r15
add rcx, rax
mov rax, r8
adc rbx, rdx
mul r14
add rcx, rax
mov rax, qword [rsp + 0x70]
adc rbx, rdx
mul qword [rsp + 0x20]
add rcx, rax
mov rax, r10
adc rbx, rdx
shrd rax, r11, 0x33
mov rdx, r11
shr rdx, 0x33
add rcx, rax
mov rax, rdi
mov rdi, r8
adc rbx, rdx
mul rsi
mov r10, rcx
mov r11, rbx
mov qword [rsp + 0x40], r10
mov rcx, rax
mov rax, qword [rsp + 0x70]
mov rbx, rdx
mul r9
add rcx, rax
mov rax, qword [rsp + 0x90]
adc rbx, rdx
mul r15
add rcx, rax
mov rax, qword [rsp + 0x60]
adc rbx, rdx
mul r14
add rcx, rax
mov rax, r8
adc rbx, rdx
mul qword [rsp + 0x20]
add rcx, rax
mov rax, qword [rsp + 0x70]
adc rbx, rdx
shrd r10, r11, 0x33
shr r11, 0x33
add r10, rcx
adc r11, rbx
mul rsi
mov rcx, r10
and rcx, rbp
mov rsi, r11
mov r8, rcx
mov rcx, rax
mov rax, rdi
mov rbx, rdx
mul r9
add rcx, rax
mov rax, qword [rsp + 0xa8]
adc rbx, rdx
mul r15
add rcx, rax
mov rax, qword [rsp + 0x90]
adc rbx, rdx
mul r14
add rcx, rax
mov rax, qword [rsp + 0x60]
adc rbx, rdx
mul qword [rsp + 0x20]
add rax, rcx
adc rdx, rbx
mov rbx, r10
shr rsi, 0x33
shrd rbx, r11, 0x33
add rax, rbx
lea rbx, [r8 + r8]
adc rdx, rsi
mov r11, rax
and r12, rbp
mov qword [rsp + 0x20], rbx
shrd rax, rdx, 0x33
and r11, rbp
lea rdx, [rax + rax*8]
lea rdx, [rax + rdx*2]
mov rax, qword [rsp + 0x30]
add rdx, r12
mov r9, rdx
and rax, rbp
shr rdx, 0x33
add rax, rdx
mov rdx, qword [rsp + 0x40]
and r9, rbp
mov rcx, rax
shr rax, 0x33
and rdx, rbp
and rcx, rbp
lea r10, [rdx + rax]
lea rax, [r11 + r11*8]
lea r14, [r11 + rax*2]
lea rax, [r10 + r10]
lea r15, [r14 + r14]
mov qword [rsp + 0x30], rax
mov rax, r15
mul rcx
mov r12, rax
mov rax, r9
mov r13, rdx
mul r9
add r12, rax
lea rax, [r8 + r8*8]
lea rbx, [r8 + rax*2]
adc r13, rdx
mov rsi, r12
lea rax, [rbx + rbx]
mov rdi, r13
lea r13, [rcx + rcx]
mul r10
add rsi, rax
mov rax, r13
adc rdi, rdx
mul r9
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rdi
mov r12, rax
mov rax, r15
mov r13, rdx
mul r10
add r12, rax
mov rax, rbx
adc r13, rdx
mul r8
add rax, r12
adc rdx, r13
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rax, rsi
adc rdx, rdi
mov r12, rax
mov rax, r8
mov r8, qword [rsp + 0x30]
mov r13, rdx
mul r15
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r13
mov rbx, qword [rsp + 0x20]
mov rsi, rax
mov rax, rcx
mov rdi, rdx
mul rcx
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r9
add rax, rsi
adc rdx, rdi
shrd r12, r13, 0x33
shr r13, 0x33
add r12, rax
mov rax, r14
adc r13, rdx
mul r11
mov r14, rax
mov rax, rbx
mov r15, rdx
mul r9
add r14, rax
mov rax, r8
lea r8, [r11 + r11]
adc r15, rdx
mul rcx
mov rsi, rax
mov rdi, rdx
mov rax, r12
mov rdx, r13
add rsi, r14
adc rdi, r15
shrd rax, r13, 0x33
shr rdx, 0x33
add rsi, rax
mov rax, rsi
adc rdi, rdx
and rax, rbp
mov qword [rsp + 0x20], rax
mov rax, r8
mul r9
mov r8, rax
mov rax, rbx
mov r9, rdx
mul rcx
mov rcx, rax
mov rbx, rdx
mov rax, r10
add rcx, r8
mov r8, qword [rsp + 0x20]
adc rbx, r9
mul r10
add rax, rcx
adc rdx, rbx
mov rbx, rsi
mov rsi, rdi
shrd rbx, rdi, 0x33
shr rsi, 0x33
add rax, rbx
adc rdx, rsi
mov rcx, rax
shrd rax, rdx, 0x33
and rcx, rbp
lea rdx, [rax + rax*8]
lea rdx, [rax + rdx*2]
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x40], 9
and rax, rbp
add rdx, rax
mov rax, qword [rsp + 0x30]
mov r15, rdx
shr rdx, 0x33
and rax, rbp
and r15, rbp
add rax, rdx
mov rdx, r12
mov r14, rax
and rdx, rbp
shr rax, 0x33
and r14, rbp
lea rbx, [rdx + rax]
nop dword [rax]
lea rax, [rcx + rcx*8]
lea rsi, [rbx + rbx]
lea rbp, [rcx + rax*2]
lea rax, [r8 + r8*8]
lea r10, [r8 + rax*2]
lea r9, [rbp + rbp]
lea r11, [r10 + r10]
lea rdi, [r8 + r8]
mov rax, r11
mul rbx
mov r12, rax
mov rax, r9
mov r13, rdx
mul r14
add r12, rax
mov rax, r15
adc r13, rdx
mul r15
add r12, rax
mov rax, r10
adc r13, rdx
mul r8
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x28], r13
mov r10, rax
mov rax, r9
mov r11, rdx
mul rbx
add r10, rax
lea rax, [r14 + r14]
adc r11, rdx
mul r15
add rax, r10
mov r10, r12
adc rdx, r11
shrd r10, r13, 0x33
mov r11, r13
shr r11, 0x33
add rax, r10
adc rdx, r11
mov r11, rax
mov rax, r8
mov r12, rdx
mul r9
mov qword [rsp + 0x30], r11
mov r10, r12
mov qword [rsp + 0x38], r12
mov r8, rax
mov rax, rsi
mov r9, rdx
mul r15
add r8, rax
mov rax, r14
adc r9, rdx
mul r14
add rax, r8
adc rdx, r9
mov r9, r11
shr r10, 0x33
shrd r9, r12, 0x33
mov r13, r10
mov r12, r9
add r12, rax
mov rax, rbp
mov rbp, rdi
adc r13, rdx
mul rcx
mov r8, rax
mov rax, rsi
lea rsi, [rcx + rcx]
mov r9, rdx
movabs rcx, 0x7ffffffffffff
mul r14
mov r10, rax
mov r11, rdx
mov rax, rdi
add r10, r8
movabs r8, 0x7ffffffffffff
adc r11, r9
mul r15
add r10, rax
mov rax, r12
adc r11, rdx
shrd rax, r13, 0x33
mov rdx, r13
shr rdx, 0x33
add r10, rax
mov rax, rsi
adc r11, rdx
mul r15
and r8, r10
movabs r15, 0x7ffffffffffff
mov rsi, rax
mov rax, rbp
mov rdi, rdx
mul r14
movabs r14, 0x7ffffffffffff
add rsi, rax
mov rax, rbx
adc rdi, rdx
mul rbx
add rax, rsi
adc rdx, rdi
shrd r10, r11, 0x33
movabs rdi, 0x7ffffffffffff
shr r11, 0x33
add r10, rax
adc r11, rdx
and rcx, r10
and r12, rdi
shrd r10, r11, 0x33
lea rax, [r10 + r10*8]
lea rdx, [r10 + rax*2]
movabs rax, 0x7ffffffffffff
and rax, qword [rsp + 0x20]
add rdx, rax
movabs rax, 0x7ffffffffffff
and rax, qword [rsp + 0x30]
and r15, rdx
shr rdx, 0x33
add rax, rdx
and r14, rax
shr rax, 0x33
sub dword [rsp + 0x40], 1
lea rbx, [r12 + rax]
jne 0x1403116b0
mov qword [rsp + 0x240], rcx
mov rcx, qword [rsp + 0x118]
mov rdx, qword [rsp + 0xe0]
mov qword [rsp + 0x238], r8
mov r8, rcx
mov qword [rsp + 0x220], r15
mov qword [rsp + 0x228], r14
mov qword [rsp + 0x230], rbx
call sym.fiat_25519_carry_mul
mov r12, qword [rsp + 0x210]
mov r9, qword [rsp + 0x208]
mov dword [rsp + 0x50], 0x31
mov r13, qword [rsp + 0x200]
mov rdi, qword [rsp + 0x1f8]
lea rax, [r12 + r12*8]
mov qword [rsp + 0x100], r12
lea rsi, [r9 + r9]
mov rbp, qword [rsp + 0x1f0]
lea rax, [r12 + rax*2]
lea r8, [r13 + r13]
mov qword [rsp + 0x88], r13
lea r12, [rax + rax]
mov qword [rsp + 0x70], rax
lea rax, [r9 + r9*8]
lea r14, [r9 + rax*2]
mov qword [rsp + 0xd8], r9
lea rbx, [r14 + r14]
mov qword [rsp + 0xa8], r14
mov rax, rbx
mov qword [rsp + 0x60], rbp
mul r13
mov qword [rsp + 0x90], rdi
mov rcx, rax
mov rax, rdi
mov rbx, rdx
mul r12
mov r10, rax
mov r11, rdx
mov rax, rbp
add r10, rcx
adc r11, rbx
mul rbp
add r10, rax
mov rax, r9
adc r11, rdx
mul r14
mov r14, rax
mov rax, r13
mov r15, rdx
mul r12
mov rcx, rax
mov rbx, rdx
lea rax, [rdi + rdi]
add rcx, r14
adc rbx, r15
mul rbp
add rcx, rax
mov rax, r10
adc rbx, rdx
shrd rax, r11, 0x33
xor edx, edx
add rcx, rax
mov rax, r12
adc rbx, rdx
mul r9
mov r12, rax
mov rax, rbp
mov r13, rdx
mul r8
add r12, rax
mov rax, rdi
adc r13, rdx
mul rdi
add rax, r12
mov r12, rcx
adc rdx, r13
shrd r12, rbx, 0x33
xor r13d, r13d
add rax, r12
mov r12, qword [rsp + 0x100]
adc rdx, r13
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
mov rax, r12
mul qword [rsp + 0x70]
mov r14, rax
mov rax, r8
mov r15, rdx
mul rdi
mov r8, rax
mov r9, rdx
mov rax, rbp
add r8, r14
mov r14, rbp
movabs rbp, 0x7ffffffffffff
adc r9, r15
mul rsi
lea r15, [r12 + r12]
add r8, rax
mov rax, qword [rsp + 0x20]
adc r9, rdx
mov rdx, qword [rsp + 0x28]
shrd rax, rdx, 0x33
xor edx, edx
add r8, rax
mov rax, r15
adc r9, rdx
mul r14
and rbp, r8
mov r12, rax
mov rax, rsi
mov r13, rdx
mul rdi
mov rsi, rax
mov rdi, rdx
add rsi, r12
adc rdi, r13
mov r13, qword [rsp + 0x88]
mov rax, r13
mul r13
add rax, rsi
movabs rsi, 0x7ffffffffffff
adc rdx, rdi
shrd r8, r9, 0x33
xor r9d, r9d
mov r15, rsi
movabs rdi, 0x7ffffffffffff
add rax, r8
mov r14, rsi
adc rdx, r9
and rdi, rax
and r10, rsi
and rcx, rsi
shrd rax, rdx, 0x33
lea rdx, [rax + rax*8]
lea rax, [rax + rdx*2]
mov rdx, qword [rsp + 0x20]
add rax, r10
and r15, rax
shr rax, 0x33
and rdx, rsi
add rax, rcx
and r14, rax
shr rax, 0x33
add rax, rdx
mov rcx, rax
nop word [rax + rax]
lea rax, [rdi + rdi*8]
lea r9, [rcx + rcx]
lea rbx, [rdi + rax*2]
lea rax, [rbp + rbp]
mov qword [rsp + 0x20], rax
lea rax, [rbp + rbp*8]
lea r8, [rbx + rbx]
lea r10, [rbp + rax*2]
lea rsi, [r10 + r10]
mov rax, rsi
mul rcx
mov r12, rax
mov rax, r8
mov r13, rdx
mul r14
add r12, rax
mov rax, r15
adc r13, rdx
mul r15
add r12, rax
mov rax, r10
adc r13, rdx
mul rbp
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r13
mov r10, rax
mov rax, r8
mov r11, rdx
mul rcx
add r10, rax
lea rax, [r14 + r14]
adc r11, rdx
mul r15
add rax, r10
mov r10, r12
adc rdx, r11
shrd r10, r13, 0x33
mov r11, r13
shr r11, 0x33
add rax, r10
adc rdx, r11
mov r12, rax
mov rax, rbp
movabs rbp, 0x7ffffffffffff
mov r13, rdx
mul r8
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r13
mov r10, rax
mov rax, r9
mov r11, rdx
mul r15
add r10, rax
mov rax, r14
adc r11, rdx
mul r14
add rax, r10
lea r10, [rdi + rdi]
adc rdx, r11
mov r11, r12
mov r12, r13
shrd r11, r13, 0x33
shr r12, 0x33
mov r13, r12
mov r12, r11
add r12, rax
mov rax, rbx
adc r13, rdx
mul rdi
movabs rdi, 0x7ffffffffffff
mov rbx, rax
mov rax, r9
mov rsi, rdx
mul r14
mov r8, rax
mov r9, rdx
add r8, rbx
mov rbx, qword [rsp + 0x20]
adc r9, rsi
mov rax, rbx
mul r15
add r8, rax
mov rax, r12
adc r9, rdx
shrd rax, r13, 0x33
mov rdx, r13
shr rdx, 0x33
add r8, rax
mov rax, r10
adc r9, rdx
mul r15
and rbp, r8
movabs r15, 0x7ffffffffffff
mov r10, rax
mov rax, rbx
mov r11, rdx
mul r14
movabs r14, 0x7ffffffffffff
add r10, rax
mov rax, rcx
adc r11, rdx
mul rcx
mov rcx, rax
mov rbx, rdx
add rcx, r10
adc rbx, r11
shrd r8, r9, 0x33
shr r9, 0x33
add rcx, r8
adc rbx, r9
and rdi, rcx
shrd rcx, rbx, 0x33
movabs rbx, 0x7ffffffffffff
lea rax, [rcx + rcx*8]
and r12, rbx
lea rdx, [rcx + rax*2]
movabs rax, 0x7ffffffffffff
and rax, qword [rsp + 0x30]
add rdx, rax
movabs rax, 0x7ffffffffffff
and rax, qword [rsp + 0x40]
and r15, rdx
shr rdx, 0x33
add rax, rdx
and r14, rax
shr rax, 0x33
sub dword [rsp + 0x50], 1
lea rcx, [r12 + rax]
jne 0x140311ae8
mov r8, rdi
mov r10, rcx
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov r11, qword [rsp + 0x88]
mov r9, qword [rsp + 0x90]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x20], r10
lea rax, [r11 + r11*8]
lea rdi, [r11 + rax*2]
lea rax, [r9 + r9*8]
lea rbx, [r9 + rax*2]
mov rax, r8
mov qword [rsp + 0x110], rdi
mul rbx
mov qword [rsp + 0x150], rbx
mov rcx, rax
mov rax, rdi
mov rbx, rdx
mul rbp
add rcx, rax
mov rax, r13
adc rbx, rdx
mul r15
add rcx, rax
mov rax, r12
adc rbx, rdx
mul r14
add rcx, rax
mov rax, qword [rsp + 0xa8]
adc rbx, rdx
mov rsi, rcx
mul r10
mov rdi, rbx
add rsi, rax
mov rax, r8
adc rdi, rdx
mul qword [rsp + 0x110]
mov rcx, rax
mov rax, qword [rsp + 0xa8]
mov rbx, rdx
mul rbp
add rcx, rax
mov rax, r9
adc rbx, rdx
mul r15
add rcx, rax
mov rax, r13
adc rbx, rdx
mul r14
add rcx, rax
mov rax, r12
adc rbx, rdx
mul r10
add rcx, rax
mov rax, rsi
adc rbx, rdx
shrd rax, rdi, 0x33
xor edx, edx
add rcx, rax
mov rax, qword [rsp + 0xa8]
adc rbx, rdx
mov r12, rcx
mul r8
mov r13, rbx
mov r8, r11
mov rcx, rax
mov rax, qword [rsp + 0x70]
mov rbx, rdx
mul rbp
add rcx, rax
mov rax, r11
mov r11, r9
adc rbx, rdx
mul r15
add rcx, rax
mov rax, r9
adc rbx, rdx
mul r14
add rcx, rax
mov rax, qword [rsp + 0x60]
adc rbx, rdx
mul r10
add rcx, rax
mov rax, r12
adc rbx, rdx
shrd rax, r13, 0x33
xor edx, edx
add rcx, rax
mov rax, qword [rsp + 0x70]
adc rbx, rdx
mul qword [rsp + 0x30]
mov r9, rcx
mov r10, rbx
mov qword [rsp + 0x40], r9
mov rcx, rax
mov rax, qword [rsp + 0x60]
mov rbx, rdx
mul rbp
add rcx, rax
mov rax, qword [rsp + 0xd8]
adc rbx, rdx
mul r15
add rcx, rax
mov rax, r8
adc rbx, rdx
mul r14
add rcx, rax
mov rax, r11
adc rbx, rdx
mul qword [rsp + 0x20]
add rcx, rax
mov rax, r9
adc rbx, rdx
shrd rax, r10, 0x33
xor edx, edx
add rcx, rax
mov rax, qword [rsp + 0x30]
adc rbx, rdx
mov r10, rcx
movabs rdx, 0x7ffffffffffff
and rdx, rcx
mov r11, rbx
mov r8, rdx
mul qword [rsp + 0x60]
mov qword [rsp + 0x238], r8
mov rcx, rax
mov rbx, rdx
mov rax, rbp
mul qword [rsp + 0x90]
add rcx, rax
mov rax, r15
adc rbx, rdx
mul qword [rsp + 0x100]
add rcx, rax
mov rax, r14
adc rbx, rdx
mul qword [rsp + 0xd8]
mov r14, rax
mov r15, rdx
mov rax, qword [rsp + 0x20]
add r14, rcx
adc r15, rbx
mul qword [rsp + 0x88]
movabs rbx, 0x7ffffffffffff
mov rdi, rbx
mov rcx, rbx
add rax, r14
adc rdx, r15
shrd r10, r11, 0x33
xor r11d, r11d
add rax, r10
adc rdx, r11
and rsi, rbx
movabs r11, 0x7ffffffffffff
and r11, rax
shrd rax, rdx, 0x33
lea rdx, [rax + rax*8]
lea rdx, [rax + rdx*2]
mov rax, rbx
add rdx, rsi
and rax, r12
and rdi, rdx
shr rdx, 0x33
add rax, rdx
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x220], rdi
mov r9, rdi
and rcx, rax
shr rax, 0x33
and rdx, rbx
lea rbx, [r8 + r8]
mov qword [rsp + 0x228], rcx
lea rbp, [rdx + rax]
lea rax, [r11 + r11*8]
lea r14, [r11 + rax*2]
mov rax, rdi
lea r15, [rbp + rbp]
mov qword [rsp + 0x230], rbp
mul rdi
lea r10, [r14 + r14]
mov qword [rsp + 0x240], r11
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x50], 0x63
mov r12, rax
mov rax, r10
mov r13, rdx
mul rcx
add r12, rax
lea rax, [r8 + r8*8]
lea rbx, [r8 + rax*2]
adc r13, rdx
mov rsi, r12
lea rax, [rbx + rbx]
mov rdi, r13
lea r13, [rcx + rcx]
mul rbp
add rsi, rax
mov rax, r13
adc rdi, rdx
mul r9
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rdi
mov r12, rax
mov rax, r10
mov r13, rdx
mul rbp
add r12, rax
mov rax, rbx
mov rbx, qword [rsp + 0x20]
adc r13, rdx
mul r8
add rax, r12
adc rdx, r13
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rax, rsi
adc rdx, rdi
mov r12, rax
mov rax, rcx
mov r13, rdx
mul rcx
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r13
mov rsi, rax
mov rax, r8
mov rdi, rdx
mov r8, r15
mul r10
add rsi, rax
mov rax, r15
adc rdi, rdx
mul r9
add rax, rsi
adc rdx, rdi
shrd r12, r13, 0x33
shr r13, 0x33
add r12, rax
mov rax, r14
adc r13, rdx
mul r11
mov r14, rax
mov rax, rbx
mov r15, rdx
mul r9
add r14, rax
mov rax, r8
lea r8, [r11 + r11]
adc r15, rdx
mul rcx
mov rsi, rax
mov rdi, rdx
mov rax, r12
mov rdx, r13
add rsi, r14
adc rdi, r15
shrd rax, r13, 0x33
movabs r15, 0x7ffffffffffff
shr rdx, 0x33
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r9
and r15, rsi
mov r8, rax
mov rax, rbx
mov r9, rdx
mul rcx
mov rcx, rax
mov rbx, rdx
mov rax, rbp
add rcx, r8
adc rbx, r9
mul rbp
mov rbp, rdi
mov rdi, rsi
add rax, rcx
movabs rcx, 0x7ffffffffffff
adc rdx, rbx
shrd rdi, rbp, 0x33
movabs rbx, 0x7ffffffffffff
shr rbp, 0x33
add rax, rdi
adc rdx, rbp
and rcx, rax
movabs rbp, 0x7ffffffffffff
shrd rax, rdx, 0x33
mov qword [rsp + 0x20], rcx
lea rdx, [rax + rax*8]
lea rdx, [rax + rdx*2]
movabs rax, 0x7ffffffffffff
and rax, qword [rsp + 0x30]
add rdx, rax
movabs rax, 0x7ffffffffffff
and rax, qword [rsp + 0x40]
and rbx, rdx
shr rdx, 0x33
add rax, rdx
movabs rdx, 0x7ffffffffffff
and rbp, rax
and rdx, r12
shr rax, 0x33
add rax, rdx
mov rcx, rax
nop dword [rax + rax]
mov r11, qword [rsp + 0x20]
lea r9, [rcx + rcx]
lea rax, [r11 + r11*8]
lea r14, [r11 + rax*2]
lea rax, [r15 + r15]
mov qword [rsp + 0x30], rax
lea rax, [r15 + r15*8]
lea r8, [r14 + r14]
lea r10, [r15 + rax*2]
lea rdi, [r10 + r10]
mov rax, rdi
mul rcx
mov r12, rax
mov rax, r8
mov r13, rdx
mul rbp
add r12, rax
mov rax, rbx
adc r13, rdx
mul rbx
mov rsi, r12
mov rdi, r13
add rsi, rax
mov rax, r10
adc rdi, rdx
mul r15
mov r12, rsi
mov qword [rsp + 0x40], rsi
mov r13, rdi
mov qword [rsp + 0x48], rdi
mov r10, rax
mov rax, r8
mov r11, rdx
mul rcx
add r10, rax
lea rax, [rbp + rbp]
adc r11, rdx
mul rbx
add rax, r10
adc rdx, r11
shrd r12, rdi, 0x33
shr r13, 0x33
add r12, rax
mov rax, r15
adc r13, rdx
mul r8
mov rsi, r12
mov rdi, r13
mov r10, rax
mov rax, r9
mov r11, rdx
mul rbx
add r10, rax
mov rax, rbp
adc r11, rdx
mul rbp
add rax, r10
adc rdx, r11
mov r11, qword [rsp + 0x20]
shrd rsi, r13, 0x33
shr rdi, 0x33
add rsi, rax
mov rax, r14
adc rdi, rdx
mul r11
lea r10, [r11 + r11]
mov r14, rax
mov rax, r9
mov r15, rdx
mul rbp
mov r8, rax
mov r9, rdx
add r8, r14
mov r14, qword [rsp + 0x30]
adc r9, r15
movabs r15, 0x7ffffffffffff
mov rax, r14
mul rbx
add r8, rax
mov rax, rsi
adc r9, rdx
shrd rax, rdi, 0x33
mov rdx, rdi
shr rdx, 0x33
add r8, rax
mov rax, r10
adc r9, rdx
mul rbx
and r15, r8
mov r10, rax
mov rax, r14
mov r11, rdx
mul rbp
add r10, rax
mov rax, rcx
adc r11, rdx
mul rcx
mov rcx, rax
mov rbx, rdx
movabs rax, 0x7ffffffffffff
movabs rdx, 0x7ffffffffffff
add rcx, r10
adc rbx, r11
shrd r8, r9, 0x33
shr r9, 0x33
add rcx, r8
adc rbx, r9
and rax, rcx
and rdx, qword [rsp + 0x40]
shrd rcx, rbx, 0x33
mov qword [rsp + 0x20], rax
movabs rbx, 0x7ffffffffffff
lea rax, [rcx + rcx*8]
lea rax, [rcx + rax*2]
movabs rcx, 0x7ffffffffffff
add rax, rdx
and r12, rcx
mov rbp, rcx
and rsi, rcx
and rbx, rax
shr rax, 0x33
add r12, rax
and rbp, r12
shr r12, 0x33
sub dword [rsp + 0x50], 1
lea rcx, [rsi + r12]
jne 0x140312168
mov rax, rcx
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x250], rbx
mov qword [rsp + 0x260], rax
lea rax, [rsp + 0x250]
mov qword [rsp + 0x270], rcx
mov rcx, qword [rsp + 0xe0]
mov rdx, rax
mov qword [rsp + 0x258], rbp
mov r8, rcx
mov qword [rsp + 0x268], r15
mov qword [rsp + 0x118], rax
call sym.fiat_25519_carry_mul
mov rbp, qword [rsp + 0x240]
mov r8, qword [rsp + 0x238]
mov dword [rsp + 0x50], 0x31
mov rdi, qword [rsp + 0x230]
mov rcx, qword [rsp + 0x228]
lea rax, [rbp + rbp*8]
mov r9, qword [rsp + 0x220]
lea r14, [rbp + rax*2]
lea rax, [r8 + r8]
mov qword [rsp + 0x20], rax
lea rax, [r8 + r8*8]
lea r15, [rdi + rdi]
lea r10, [r8 + rax*2]
lea rbx, [r14 + r14]
lea rdi, [r10 + r10]
mov rax, rdi
mul qword [rsp + 0x230]
mov r12, rax
mov rax, rbx
mov r13, rdx
mul rcx
add r12, rax
mov rax, r9
adc r13, rdx
mul r9
add r12, rax
mov rax, r10
adc r13, rdx
mul r8
mov r10, rax
mov r11, rdx
mov rax, rbx
mul qword [rsp + 0x230]
add r10, rax
lea rax, [rcx + rcx]
adc r11, rdx
mul r9
add rax, r10
mov r10, r12
adc rdx, r11
shrd r10, r13, 0x33
xor r11d, r11d
add rax, r10
adc rdx, r11
mov rsi, rax
mov rax, r8
mov r8, r15
mov rdi, rdx
mul rbx
mov qword [rsp + 0x30], rsi
mov rbx, qword [rsp + 0x20]
mov qword [rsp + 0x38], rdi
mov r10, rax
mov rax, r15
mov r11, rdx
mul r9
add r10, rax
mov rax, rcx
adc r11, rdx
mul rcx
add rax, r10
mov r10, rsi
adc rdx, r11
shrd r10, rdi, 0x33
xor r11d, r11d
add rax, r10
adc rdx, r11
mov rsi, rax
mov rax, r14
mov rdi, rdx
mul rbp
mov r14, rax
mov rax, r8
lea r8, [rbp + rbp]
mov r15, rdx
movabs rbp, 0x7ffffffffffff
mul rcx
mov r10, rax
mov r11, rdx
mov rax, rbx
add r10, r14
adc r11, r15
mul r9
movabs r15, 0x7ffffffffffff
add r10, rax
mov rax, rsi
adc r11, rdx
shrd rax, rdi, 0x33
xor edx, edx
add r10, rax
mov rax, r8
adc r11, rdx
mul r9
and r15, r10
mov r8, rax
mov rax, rbx
mov r9, rdx
mul rcx
mov rcx, rax
mov rax, qword [rsp + 0x230]
mov rbx, rdx
add rcx, r8
adc rbx, r9
mul rax
add rax, rcx
adc rdx, rbx
shrd r10, r11, 0x33
xor r11d, r11d
movabs rbx, 0x7ffffffffffff
add rax, r10
adc rdx, r11
and rbx, rax
shrd rax, rdx, 0x33
mov qword [rsp + 0x20], rbx
mov r14, rax
lea rax, [rax + rax*8]
lea rdx, [r14 + rax*2]
movabs rax, 0x7ffffffffffff
movabs r14, 0x7ffffffffffff
and r12, rax
mov r8, rax
and rax, qword [rsp + 0x30]
add rdx, r12
and r8, rdx
shr rdx, 0x33
add rax, rdx
movabs rdx, 0x7ffffffffffff
and r14, rax
and rdx, rsi
shr rax, 0x33
lea rcx, [rdx + rax]
nop dword [rax]
mov r9, qword [rsp + 0x20]
lea rdi, [rcx + rcx]
lea rbx, [r15 + r15]
mov qword [rsp + 0x30], rdi
lea rax, [r9 + r9*8]
lea rax, [r9 + rax*2]
lea r9, [rax + rax]
mov qword [rsp + 0x40], rax
lea rax, [r15 + r15*8]
lea r10, [r15 + rax*2]
lea rsi, [r10 + r10]
mov rax, rsi
mul rcx
mov rsi, rax
mov rax, r9
mov rdi, rdx
mul r14
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r8
add rsi, rax
mov rax, r10
adc rdi, rdx
mul r15
mov r10, rax
mov rax, r9
mov r11, rdx
mul rcx
add r10, rax
lea rax, [r14 + r14]
adc r11, rdx
mul r8
add rax, r10
mov r10, rsi
adc rdx, r11
shrd r10, rdi, 0x33
mov r11, rdi
shr r11, 0x33
add rax, r10
adc rdx, r11
mov r12, rax
mov rax, r15
mov r15, qword [rsp + 0x30]
mov r13, rdx
mul r9
mov qword [rsp + 0x30], r12
mov r9, qword [rsp + 0x20]
mov qword [rsp + 0x38], r13
mov r10, rax
mov rax, r15
mov r11, rdx
mul r8
add r10, rax
mov rax, r14
adc r11, rdx
mul r14
add rax, r10
adc rdx, r11
shrd r12, r13, 0x33
shr r13, 0x33
add r12, rax
mov rax, qword [rsp + 0x40]
adc r13, rdx
mul r9
mov qword [rsp + 0x20], rax
mov rax, r15
mov qword [rsp + 0x28], rdx
mul r14
mov r10, rax
mov rax, rbx
add r10, qword [rsp + 0x20]
mov r11, rdx
adc r11, qword [rsp + 0x28]
mul r8
add r10, rax
mov rax, r12
adc r11, rdx
shrd rax, r13, 0x33
mov rdx, r13
shr rdx, 0x33
add r10, rax
adc r11, rdx
add r9, r9
mov r15, r10
mov rax, r9
and r15, rbp
mul r8
mov r8, rax
mov rax, r14
mov r9, rdx
mul rbx
add r8, rax
mov rax, rcx
adc r9, rdx
mul rcx
mov rcx, rax
mov rbx, rdx
add rcx, r8
adc rbx, r9
shrd r10, r11, 0x33
shr r11, 0x33
add rcx, r10
adc rbx, r11
mov rax, rcx
and r12, rbp
shrd rcx, rbx, 0x33
and rax, rbp
mov qword [rsp + 0x20], rax
lea rax, [rcx + rcx*8]
lea rdx, [rcx + rax*2]
mov rax, rsi
and rax, rbp
add rdx, rax
mov rax, qword [rsp + 0x30]
mov r8, rdx
shr rdx, 0x33
and rax, rbp
and r8, rbp
add rax, rdx
mov r14, rax
shr rax, 0x33
and r14, rbp
sub dword [rsp + 0x50], 1
lea rcx, [r12 + rax]
jne 0x140312598
mov r11, qword [rsp + 0x20]
mov r13, rcx
mov r12, qword [rsp + 0x60]
mov r10, r8
mov rax, qword [rsp + 0x150]
mul r11
mov rcx, rax
mov rax, qword [rsp + 0x110]
mov rbx, rdx
mul r15
add rcx, rax
mov rax, r12
adc rbx, rdx
mul r8
mov r8, rcx
mov r9, rbx
add r8, rax
mov rax, qword [rsp + 0x70]
adc r9, rdx
mul r14
add r8, rax
mov rax, qword [rsp + 0xa8]
adc r9, rdx
mov rsi, r8
mov r8, r10
mul r13
mov rdi, r9
mov r9, r13
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x30], r9
add rsi, rax
mov rax, qword [rsp + 0x110]
adc rdi, rdx
mul r11
mov rcx, rax
mov rax, qword [rsp + 0xa8]
mov rbx, rdx
mul r15
add rcx, rax
mov rax, qword [rsp + 0x90]
adc rbx, rdx
mul r10
mov r10, r12
add rcx, rax
mov rax, r12
adc rbx, rdx
mul r14
add rcx, rax
mov rax, qword [rsp + 0x70]
adc rbx, rdx
mul r13
add rcx, rax
mov rax, rsi
adc rbx, rdx
shrd rax, rdi, 0x33
xor edx, edx
add rcx, rax
mov rax, qword [rsp + 0xa8]
adc rbx, rdx
mov r12, rcx
mul r11
mov r13, rbx
mov rcx, rax
mov rax, qword [rsp + 0x70]
mov rbx, rdx
mul r15
add rcx, rax
mov rax, qword [rsp + 0x88]
adc rbx, rdx
mul r8
add rcx, rax
mov rax, qword [rsp + 0x90]
adc rbx, rdx
mul r14
add rcx, rax
mov rax, r10
adc rbx, rdx
mul r9
add rcx, rax
mov rax, r12
adc rbx, rdx
shrd rax, r13, 0x33
xor edx, edx
add rcx, rax
mov rax, qword [rsp + 0x70]
adc rbx, rdx
mov r9, rcx
mul r11
mov r10, rbx
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r10
mov rcx, rax
mov rax, qword [rsp + 0x60]
mov rbx, rdx
mul r15
add rcx, rax
mov rax, qword [rsp + 0xd8]
adc rbx, rdx
mul r8
add rcx, rax
mov rax, qword [rsp + 0x88]
adc rbx, rdx
mul r14
add rcx, rax
mov rax, qword [rsp + 0x90]
adc rbx, rdx
mul qword [rsp + 0x30]
add rcx, rax
mov rax, r9
adc rbx, rdx
shrd rax, r10, 0x33
xor edx, edx
add rcx, rax
mov rax, qword [rsp + 0x60]
adc rbx, rdx
mul qword [rsp + 0x20]
mov r10, rcx
and rcx, rbp
mov r8, rcx
mov r11, rbx
mov rcx, rax
mov rax, qword [rsp + 0x90]
mov rbx, rdx
mul r15
add rcx, rax
mov rax, qword [rsp + 0x100]
adc rbx, rdx
mul qword [rsp + 0x40]
add rcx, rax
mov rax, qword [rsp + 0xd8]
adc rbx, rdx
mul r14
add rcx, rax
mov rax, qword [rsp + 0x88]
adc rbx, rdx
mul qword [rsp + 0x30]
add rax, rcx
adc rdx, rbx
shrd r10, r11, 0x33
xor r11d, r11d
lea rbx, [r8 + r8]
add rax, r10
adc rdx, r11
mov r11, rax
and rsi, rbp
shrd rax, rdx, 0x33
and r11, rbp
lea rdx, [rax + rax*8]
lea rdx, [rax + rdx*2]
mov rax, r12
add rdx, rsi
and rax, rbp
mov rdi, rdx
shr rdx, 0x33
add rax, rdx
mov rdx, qword [rsp + 0x50]
and rdi, rbp
mov qword [rsp + 0x20], rbx
mov rcx, rax
shr rax, 0x33
mov r9, rdi
and rdx, rbp
and rcx, rbp
lea r15, [rdx + rax]
lea rax, [r11 + r11*8]
lea r14, [r11 + rax*2]
lea rax, [r15 + r15]
mov qword [rsp + 0x30], rax
mov rax, rdi
lea r10, [r14 + r14]
mul rdi
mov r12, rax
mov rax, r10
mov r13, rdx
mul rcx
add r12, rax
lea rax, [r8 + r8*8]
lea rbx, [r8 + rax*2]
adc r13, rdx
mov rsi, r12
lea rax, [rbx + rbx]
mov rdi, r13
lea r13, [rcx + rcx]
mul r15
add rsi, rax
mov rax, r13
adc rdi, rdx
mul r9
mov qword [rsp + 0x40], rsi
mov r12, rax
mov rax, r10
mov r13, rdx
mul r15
add r12, rax
mov rax, rbx
mov rbx, qword [rsp + 0x20]
adc r13, rdx
mul r8
add rax, r12
adc rdx, r13
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rax, rsi
adc rdx, rdi
mov r12, rax
mov rax, rcx
mov r13, rdx
mul rcx
mov rsi, rax
mov rax, r8
mov rdi, rdx
mov r8, qword [rsp + 0x30]
mul r10
mov qword [rsp + 0x30], r12
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r9
add rax, rsi
adc rdx, rdi
shrd r12, r13, 0x33
shr r13, 0x33
add r12, rax
mov rax, r14
adc r13, rdx
mul r11
mov rsi, rax
mov rax, rbx
mov rdi, rdx
mul r9
add rsi, rax
mov rax, r8
lea r8, [r11 + r11]
adc rdi, rdx
mul rcx
add rsi, rax
mov rax, r12
adc rdi, rdx
shrd rax, r13, 0x33
mov rdx, r13
shr rdx, 0x33
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r9
mov r10, rsi
and r10, rbp
mov r8, rax
mov rax, rbx
mov r9, rdx
mul rcx
mov rcx, rax
mov rbx, rdx
mov rax, r15
add rcx, r8
adc rbx, r9
mul r15
add rax, rcx
adc rdx, rbx
mov rbx, rsi
mov rsi, rdi
shrd rbx, rdi, 0x33
shr rsi, 0x33
add rax, rbx
lea rbx, [r10 + r10]
adc rdx, rsi
mov r11, rax
shrd rax, rdx, 0x33
and r11, rbp
lea rdx, [rax + rax*8]
lea rdx, [rax + rdx*2]
mov rax, qword [rsp + 0x40]
and rax, rbp
add rdx, rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rbx
mov r8, rdx
shr rdx, 0x33
and rax, rbp
and r8, rbp
add rax, rdx
mov rdx, r12
and rdx, rbp
mov rcx, rax
shr rax, 0x33
lea r15, [rdx + rax]
lea rax, [r11 + r11*8]
and rcx, rbp
lea r14, [r11 + rax*2]
lea rax, [r15 + r15]
mov qword [rsp + 0x20], rax
lea r9, [r14 + r14]
mov rax, rcx
mul r9
mov r12, rax
mov rax, r8
mov r13, rdx
mul r8
add r12, rax
lea rax, [r10 + r10*8]
lea rbx, [r10 + rax*2]
adc r13, rdx
mov rsi, r12
lea rax, [rbx + rbx]
mov rdi, r13
lea r13, [rcx + rcx]
mul r15
add rsi, rax
mov rax, r13
adc rdi, rdx
mul r8
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rdi
mov r12, rax
mov rax, r15
mov r13, rdx
mul r9
add r12, rax
mov rax, rbx
adc r13, rdx
mul r10
add rax, r12
mov r12, rsi
adc rdx, r13
mov r13, rdi
shrd r12, rdi, 0x33
shr r13, 0x33
add r12, rax
mov rax, r9
adc r13, rdx
mul r10
mov rbx, r12
mov rsi, rax
mov rax, rcx
mov rdi, rdx
mul rcx
add rsi, rax
mov rax, qword [rsp + 0x20]
adc rdi, rdx
mul r8
add rax, rsi
mov rsi, r13
adc rdx, rdi
shrd rbx, r13, 0x33
shr rsi, 0x33
add rax, rbx
mov rbx, qword [rsp + 0x30]
adc rdx, rsi
mov r9, rax
mov rax, r14
mov r10, rdx
mul r11
mov rsi, rax
mov rax, rbx
mov rdi, rdx
mul r8
add rsi, rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x20], r9
adc rdi, rdx
mul rcx
add rsi, rax
mov rax, r9
adc rdi, rdx
shrd rax, r10, 0x33
mov rdx, r10
lea r10, [r11 + r11]
shr rdx, 0x33
add rsi, rax
mov rax, r10
adc rdi, rdx
mov rdx, rsi
and rdx, rbp
mov r9, rdx
mul r8
mov r10, rax
mov rax, rbx
mov r11, rdx
mul rcx
mov rcx, rax
mov rbx, rdx
mov rax, r15
add rcx, r10
adc rbx, r11
mul r15
add rax, rcx
adc rdx, rbx
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rax, rsi
adc rdx, rdi
mov r8, rax
mov rdi, qword [rsp + 0x80]
shrd rax, rdx, 0x33
and r8, rbp
lea rdx, [rax + rax*8]
lea rdx, [rax + rdx*2]
mov rax, qword [rsp + 0x40]
and rax, rbp
add rdx, rax
mov rax, r12
mov rcx, rdx
and rax, rbp
shr rdx, 0x33
add rax, rdx
mov rdx, qword [rsp + 0x20]
and rcx, rbp
mov r11, rax
shr rax, 0x33
and rdx, rbp
and r11, rbp
lea rbx, [rdx + rax]
lea rax, [rdi + rdi*8]
lea r10, [rdi + rax*2]
mov rdi, qword [rsp + 0xf8]
lea rax, [rdi + rdi*8]
lea rsi, [rdi + rax*2]
mov rax, rsi
mul r8
mov r12, rax
mov rax, r10
mov r13, rdx
mul r9
add r12, rax
mov rax, qword [rsp + 0xa0]
adc r13, rdx
mul rcx
add r12, rax
mov rax, qword [rsp + 0xc8]
adc r13, rdx
mul r11
add r12, rax
mov rax, qword [rsp + 0x108]
adc r13, rdx
mov r14, r12
mul rbx
mov r15, r13
add r14, rax
mov rax, r10
mov r10, qword [rsp + 0xf8]
adc r15, rdx
mul r8
mov rsi, rax
mov rax, qword [rsp + 0x108]
mov rdi, rdx
mul r9
add rsi, rax
mov rax, r10
adc rdi, rdx
mul rcx
add rsi, rax
mov rax, qword [rsp + 0xa0]
adc rdi, rdx
mov r12, rsi
mov rsi, r14
mul r11
mov r13, rdi
add r12, rax
mov rax, qword [rsp + 0xc8]
adc r13, rdx
mul rbx
add rax, r12
adc rdx, r13
shrd rsi, r15, 0x33
xor edi, edi
add rax, rsi
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x108]
adc rdx, rdi
mov qword [rsp + 0x28], rdx
mul r8
mov rsi, rax
mov rax, qword [rsp + 0xc8]
mov rdi, rdx
mul r9
add rsi, rax
mov rax, qword [rsp + 0x80]
adc rdi, rdx
mov r12, rsi
mov rsi, qword [rsp + 0x20]
mul rcx
mov r13, rdi
mov rdi, qword [rsp + 0x28]
add r12, rax
mov rax, r10
adc r13, rdx
mul r11
add r12, rax
mov rax, qword [rsp + 0xa0]
adc r13, rdx
mul rbx
add rax, r12
adc rdx, r13
shrd rsi, rdi, 0x33
xor edi, edi
add rax, rsi
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xc8]
adc rdx, rdi
mov qword [rsp + 0x38], rdx
mul r8
mov rsi, rax
mov rax, qword [rsp + 0xa0]
mov rdi, rdx
mul r9
add rsi, rax
mov rax, qword [rsp + 0x120]
adc rdi, rdx
mov r12, rsi
mov rsi, qword [rsp + 0x30]
mul rcx
mov r13, rdi
mov rdi, qword [rsp + 0x38]
add r12, rax
mov rax, qword [rsp + 0x80]
adc r13, rdx
mul r11
add r12, rax
mov rax, r10
adc r13, rdx
mul rbx
add rax, r12
adc rdx, r13
mov r12, rax
shrd rsi, rdi, 0x33
xor edi, edi
mov rax, qword [rsp + 0xa0]
add r12, rsi
mov r13, rdx
adc r13, rdi
mul r8
mov rsi, rax
mov rax, r10
mov rdi, rdx
mul r9
mov r8, rsi
mov r9, rdi
mov rdi, qword [rsp + 0x2d0]
add r8, rax
mov rax, qword [rsp + 0xf0]
adc r9, rdx
mul rcx
mov rcx, r12
add r8, rax
mov rax, qword [rsp + 0x120]
adc r9, rdx
mul r11
add r8, rax
mov rax, qword [rsp + 0x80]
adc r9, rdx
mul rbx
add rax, r8
mov r8, qword [rsp + 0x20]
adc rdx, r9
shrd rcx, r13, 0x33
xor ebx, ebx
add rax, rcx
adc rdx, rbx
mov rcx, rax
and r14, rbp
and r8, rbp
shrd rcx, rdx, 0x33
and rax, rbp
and r12, rbp
lea rdx, [rcx + rcx*8]
mov qword [rdi + 0x18], r12
lea rcx, [rcx + rdx*2]
mov qword [rdi + 0x20], rax
add rcx, r14
mov rdx, rcx
and rcx, rbp
shr rdx, 0x33
mov qword [rdi], rcx
add rdx, r8
mov r8, qword [rsp + 0x158]
mov rcx, rdx
shr rdx, 0x33
and rcx, rbp
mov qword [rdi + 8], rcx
mov rcx, qword [rsp + 0x30]
and rcx, rbp
add rcx, rdx
mov rdx, rdi
mov qword [rdi + 0x10], rcx
mov rcx, rdi
call sym.fiat_25519_carry_mul
mov rax, qword [rsp + 0x2d0]
mov rsi, qword [rsp + 0x2d0]
mov rdi, qword [rsp + 0x2d0]
mov r14, qword [rax + 0x20]
mov rcx, qword [rsi + 8]
mov r9, qword [rsi]
mov r13, qword [rdi + 0x10]
lea rax, [r14 + r14*8]
lea r15, [r14 + rax*2]
lea rdi, [r13 + r13]
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x2d0]
lea rbx, [r15 + r15]
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x18]
lea rax, [r8 + r8]
mov qword [rsp + 0x30], rax
lea rax, [r8 + r8*8]
lea r10, [r8 + rax*2]
lea rsi, [r10 + r10]
mov rax, rsi
mul r13
mov rsi, rax
mov rax, rbx
mov rdi, rdx
mul rcx
add rsi, rax
mov rax, r9
adc rdi, rdx
mul r9
add rsi, rax
mov rax, r10
adc rdi, rdx
mul r8
mov r10, rax
mov rax, r13
mov r11, rdx
mul rbx
add r10, rax
lea rax, [rcx + rcx]
adc r11, rdx
mul r9
add rax, r10
mov r10, rsi
adc rdx, r11
shrd r10, rdi, 0x33
xor r11d, r11d
add rax, r10
adc rdx, r11
mov r12, rax
mov rax, r8
mov r8, qword [rsp + 0x20]
mov r13, rdx
mul rbx
mov rbx, qword [rsp + 0x30]
mov rdi, r12
mov r10, rax
mov rax, r8
mov r11, rdx
mul r9
add r10, rax
mov rax, rcx
adc r11, rdx
mul rcx
add rax, r10
mov r10, r12
mov r12, qword [rsp + 0xc0]
adc rdx, r11
shrd r10, r13, 0x33
xor r11d, r11d
add rax, r10
mov qword [rsp + 0x20], rax
adc rdx, r11
mov rax, r15
mov qword [rsp + 0x28], rdx
mul r14
mov r10, rax
mov rax, r8
lea r8, [r14 + r14]
mov r11, rdx
mul rcx
mov r14, qword [rsp + 0x40]
add r10, rax
mov rax, rbx
adc r11, rdx
mul r9
add r10, rax
mov rax, qword [rsp + 0x20]
adc r11, rdx
mov rdx, qword [rsp + 0x28]
shrd rax, rdx, 0x33
xor edx, edx
add r10, rax
mov rax, r8
adc r11, rdx
mul r9
mov r15, r10
and r15, rbp
mov r8, rax
mov rax, rbx
mov r9, rdx
mul rcx
mov rcx, rax
mov rbx, rdx
mov rax, r14
add rcx, r8
adc rbx, r9
mul r14
add rax, rcx
adc rdx, rbx
shrd r10, r11, 0x33
xor r11d, r11d
add rax, r10
adc rdx, r11
mov rbx, rax
and rsi, rbp
and rdi, rbp
shrd rax, rdx, 0x33
and rbx, rbp
lea rdx, [rax + rax*8]
lea rdx, [rax + rdx*2]
mov rax, rdi
mov rdi, qword [rsp + 0xe8]
add rdx, rsi
mov r11, rdx
shr rdx, 0x33
add rax, rdx
mov rdx, qword [rsp + 0x20]
and r11, rbp
mov rcx, rax
shr rax, 0x33
and rdx, rbp
and rcx, rbp
lea r14, [rdx + rax]
lea rax, [rdi + rdi*8]
lea r8, [rdi + rax*2]
mov rdi, qword [rsp + 0xb8]
lea rax, [rdi + rdi*8]
lea r10, [rdi + rax*2]
lea rax, [r12 + r12*8]
mov rdi, qword [rsp + 0xd0]
lea r9, [r12 + rax*2]
mov rax, r10
mul r14
mov r12, rax
mov rax, r8
mov r13, rdx
mul rcx
add r12, rax
mov rax, qword [rsp + 0xb0]
adc r13, rdx
mul r11
add r12, rax
lea rax, [rdi + rdi*8]
lea rax, [rdi + rax*2]
adc r13, rdx
mul rbx
add r12, rax
mov rax, r9
adc r13, rdx
mul r15
mov rsi, r12
mov rdi, r13
add rsi, rax
mov rax, r10
adc rdi, rdx
mul r15
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rdi
mov r12, rax
mov rax, r8
mov r13, rdx
mul r14
add r12, rax
mov rax, qword [rsp + 0xb0]
adc r13, rdx
mul rcx
add r12, rax
mov rax, qword [rsp + 0xd0]
adc r13, rdx
mul r11
add r12, rax
mov rax, r9
adc r13, rdx
mul rbx
add rax, r12
adc rdx, r13
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rax, rsi
adc rdx, rdi
mov qword [rsp + 0x20], rax
mov rax, r10
mov qword [rsp + 0x28], rdx
mul rbx
mov rsi, rax
mov rax, r8
mov rdi, rdx
mul r15
add rsi, rax
mov rax, qword [rsp + 0xb0]
mov r10, qword [rsp + 0xd0]
adc rdi, rdx
mov r12, rsi
mul r14
mov r13, rdi
add r12, rax
mov rax, r10
adc r13, rdx
mul rcx
add r12, rax
mov rax, qword [rsp + 0xc0]
adc r13, rdx
mul r11
add rax, r12
mov r12, qword [rsp + 0x20]
adc rdx, r13
mov r13, qword [rsp + 0x28]
shrd r12, r13, 0x33
shr r13, 0x33
add r12, rax
mov rax, r8
adc r13, rdx
mul rbx
mov qword [rsp + 0x30], r12
mov r12, qword [rsp + 0xc0]
mov qword [rsp + 0x38], r13
mov r8, rax
mov rax, qword [rsp + 0xb8]
mov r9, rdx
mul r11
add r8, rax
mov rax, qword [rsp + 0xb0]
adc r9, rdx
mov rsi, r8
mul r15
mov rdi, r9
add rsi, rax
mov rax, r10
adc rdi, rdx
mul r14
add rsi, rax
mov rax, r12
adc rdi, rdx
mul rcx
mov r8, rax
mov r9, rdx
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
add r8, rsi
adc r9, rdi
shrd rax, rdx, 0x33
shr rdx, 0x33
add r8, rax
mov rax, qword [rsp + 0xb8]
adc r9, rdx
mov r13, r8
mul rcx
and r13, rbp
mov rsi, rax
mov rax, qword [rsp + 0xe8]
mov rdi, rdx
mul r11
mov r11, qword [rsp + 0x138]
add rsi, rax
mov rax, qword [rsp + 0xb0]
adc rdi, rdx
mov rcx, rsi
mul rbx
mov rbx, rdi
add rcx, rax
mov rax, r10
adc rbx, rdx
mul r15
mov r15, qword [rsp + 0x148]
add rcx, rax
mov rax, r12
mov r12, qword [rsp + 0x30]
adc rbx, rdx
mul r14
add rax, rcx
adc rdx, rbx
shrd r8, r9, 0x33
mov rbx, qword [rsp + 0x128]
shr r9, 0x33
add rax, r8
adc rdx, r9
mov r14, rax
and r12, rbp
movabs r9, 0xfffffffffffda
shrd rax, rdx, 0x33
sub r9, r15
and r14, rbp
lea rdx, [rax + rax*8]
lea rdx, [rax + rdx*2]
mov rax, qword [rsp + 0x40]
and rax, rbp
add rdx, rax
mov rax, qword [rsp + 0x20]
mov rsi, rdx
shr rdx, 0x33
and rax, rbp
and rsi, rbp
add rax, rdx
add r9, rsi
mov rdi, rax
shr rax, 0x33
mov rdx, r9
add r12, rax
and rdi, rbp
shr rdx, 0x33
movabs rax, 0xffffffffffffe
mov r8, rax
sub r8, rbx
mov rbx, qword [rsp + 0x130]
add r8, rdi
add r8, rdx
mov rdx, rax
sub rdx, rbx
mov rcx, r8
movabs rbx, 0x1ffffffffffffc0
shr rcx, 0x33
add rdx, r12
add rdx, rcx
mov rcx, rax
sub rcx, r11
mov r10, rdx
shr r10, 0x33
add rcx, r13
add rcx, r10
mov r10, qword [rsp + 0x140]
sub rax, r10
mov r10, rcx
shr r10, 0x33
add rax, r14
add rax, r10
mov r10, rax
shr r10, 0x33
and r9, rbp
and r8, rbp
and rdx, rbp
lea r11, [r10 + r10*8]
and rcx, rbp
and rax, rbp
lea r11, [r10 + r11*2]
add r11, r9
mov r9, r11
and r11, rbp
shr r9, 0x33
add r9, r8
movabs r8, 0xfff8000000000013
add r11, r8
mov r8, r9
shr r9, 0x33
mov r10, r11
and r8, rbp
add rdx, r9
and r11, rbp
sar r10, 0x33
neg r10d
movzx r10d, r10b
sub r8, r10
movabs r10, 0x7ffffffffffed
sub r8, rbp
mov r9, r8
sar r9, 0x33
neg r9d
movzx r9d, r9b
sub rdx, r9
sub rdx, rbp
mov r9, rdx
sar r9, 0x33
neg r9d
movzx r9d, r9b
sub rcx, r9
sub rcx, rbp
mov r9, rcx
sar r9, 0x33
neg r9d
movzx r9d, r9b
sub rax, r9
sub rax, rbp
mov r9, rax
sar r9, 0x33
and r10, r9
and r9, rbp
and r8, rbp
and rdx, rbp
add r11, r10
add r8, r9
add rdx, r9
and rcx, rbp
mov r10, r11
shr r11, 0x33
add rcx, r9
and rax, rbp
add r8, r11
and r10, rbp
add rax, r9
mov r11, r8
shl r8, 3
mov dword [rsp + 0x250], r10d
shr r11, 0x33
add rdx, r11
mov r11, rdx
shl rdx, 6
shr r11, 0x33
and rbx, rdx
add rcx, r11
movabs r11, 0x3ffffffffffff8
and r8, r11
mov r11, r10
shr r11, 0x30
add r11, r8
shr r8, 0x30
lea rdx, [rbx + r8]
mov rbx, rcx
shr rcx, 0x33
mov dword [rsp + 0x256], r11d
mov r8, rdx
and rbx, rbp
add rax, rcx
mov dword [rsp + 0x25c], edx
shr r8, 0x38
shl rax, 4
movabs rcx, 0x7ffffffffffff0
lea r8, [r8 + rbx*2]
and rcx, rax
lea rbx, [0x14041d040]
mov rax, r8
shr rax, 0x30
add rax, rcx
mov rcx, r10
shr r10, 0x28
shr rcx, 0x20
mov byte [rsp + 0x255], r10b
mov byte [rsp + 0x254], cl
mov rcx, r11
shr r11, 0x28
shr rcx, 0x20
mov byte [rsp + 0x25b], r11b
mov byte [rsp + 0x25a], cl
mov rcx, rdx
shr rcx, 0x20
mov byte [rsp + 0x260], cl
mov rcx, rdx
shr rdx, 0x30
mov byte [rsp + 0x262], dl
mov rdx, r8
shr rcx, 0x28
shr rdx, 0x20
mov byte [rsp + 0x261], cl
mov dword [rsp + 0x263], r8d
shr r8, 0x28
mov rcx, qword [rsp + 0x118]
mov byte [rsp + 0x267], dl
mov rdx, rax
shr rdx, 0x20
mov byte [rsp + 0x268], r8b
mov r8d, 0x20
mov byte [rsp + 0x26d], dl
mov rdx, rax
shr rdx, 0x28
mov dword [rsp + 0x269], eax
shr rax, 0x30
mov byte [rsp + 0x26e], dl
mov rdx, rbx
mov byte [rsp + 0x26f], al
call sym.ring_core_0_17_8_CRYPTO_memcmp
test eax, eax
je 0x1403137e2
add r15, rsi
mov r9, qword [rsp + 0x130]
mov r11, qword [rsp + 0x138]
mov rsi, r15
mov r8, r15
shr rsi, 0x33
add r9, r12
add r11, r13
and r8, rbp
mov rcx, rsi
mov rdx, r11
add rcx, rdi
mov rdi, qword [rsp + 0x128]
add rcx, rdi
mov rdi, qword [rsp + 0xe0]
mov rax, rcx
and rcx, rbp
shr rax, 0x33
add r9, rax
mov rax, r9
and r9, rbp
shr rax, 0x33
add rdx, rax
mov rax, qword [rsp + 0x140]
mov r10, rdx
and rdx, rbp
shr r10, 0x33
add rax, r14
mov qword [rsp + 0x268], rdx
mov rdx, qword [rsp + 0x118]
add rax, r10
mov r10, rax
and rax, rbp
shr r10, 0x33
mov qword [rsp + 0x270], rax
lea r11, [r10 + r10*8]
lea r10, [r10 + r11*2]
add r10, r8
mov r8, r10
and r10, rbp
shr r8, 0x33
mov qword [rsp + 0x250], r10
add rcx, r8
mov r8, rcx
shr rcx, 0x33
add rcx, r9
and r8, rbp
mov qword [rsp + 0x260], rcx
mov rcx, rdi
mov qword [rsp + 0x258], r8
call sym.fiat_25519_to_bytes
mov rdx, rbx
mov r8d, 0x20
mov rcx, rdi
call sym.ring_core_0_17_8_CRYPTO_memcmp
mov edx, eax
xor eax, eax
test edx, edx
je 0x1403137cb
add rsp, 0x288
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [rsp + 0x2d0]
lea r8, [0x14041d000]
mov rcx, rdx
call sym.fiat_25519_carry_mul
mov rdx, qword [rsp + 0x2d0]
mov rcx, qword [rsp + 0x118]
call sym.fiat_25519_to_bytes
mov rdi, qword [rsp + 0x2d8]
movzx eax, byte [rsp + 0x250]
movzx edx, byte [rdi + 0x1f]
and eax, 1
shr dl, 7
cmp dl, al
jne 0x140313834
mov rax, qword [rsp + 0x2d0]
lea rcx, [rax + 0x78]
lea r8, [rax + 0x28]
mov rdx, rax
call sym.fiat_25519_carry_mul
mov eax, 1
jmp 0x1403137b7
mov rdi, qword [rsp + 0x2d0]
movabs rax, 0xfffffffffffda
movabs rdx, 0xffffffffffffe
mov r9, rdx
mov r11, rdx
sub rax, qword [rdi]
sub r9, qword [rdi + 8]
mov rcx, rax
sub r11, qword [rdi + 0x18]
shr rcx, 0x33
add r9, rcx
mov rcx, rdx
sub rcx, qword [rdi + 0x10]
sub rdx, qword [rdi + 0x20]
mov r8, r9
shr r8, 0x33
add rcx, r8
mov r8, rcx
shr r8, 0x33
add r11, r8
mov r8, r11
shr r8, 0x33
lea r10, [rdx + r8]
mov rdx, r10
shr rdx, 0x33
lea r8, [rdx + rdx*8]
lea r8, [rdx + r8*2]
movabs rdx, 0x7ffffffffffff
and rax, rdx
and r9, rdx
and rcx, rdx
and r11, rdx
add r8, rax
and r10, rdx
mov qword [rdi + 0x18], r11
mov rax, r8
and r8, rdx
mov qword [rdi + 0x20], r10
shr rax, 0x33
mov qword [rdi], r8
add rax, r9
mov r8, rax
shr rax, 0x33
and r8, rdx
add rax, rcx
mov qword [rdi + 8], r8
mov qword [rdi + 0x10], rax
jmp 0x140313815