Function at 0x70b270
Capabilities:
Enumerate pe sections

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x268
movabs rbp, 0x7ffffffffffff
movzx r8d, byte [rdx + 6]
movzx r9d, byte [rdx]
mov rax, r8
movzx r8d, byte [rdx + 5]
shl rax, 0x30
lea r15, [rcx + 0x28]
mov qword [rsp + 0x2b0], rcx
shl r8, 0x28
movzx ecx, byte [rdx + 4]
mov rbx, rdx
mov qword [rsp + 0x2b8], rdx
add r8, rax
movzx edx, byte [rdx + 3]
movzx eax, byte [rbx + 2]
add r9, r8
shl rcx, 0x20
movzx r10d, byte [rbx + 0xc]
lea r8, [r9 + rcx]
shl rdx, 0x18
movzx r9d, byte [rbx + 0xb]
mov rdi, qword [rsp + 0x2b8]
lea rcx, [r8 + rdx]
shl rax, 0x10
movzx r8d, byte [rbx + 0xa]
mov r11, r10
lea rdx, [rcx + rax]
movzx eax, byte [rbx + 1]
shl r11, 0x2d
shl r9, 0x25
movzx ecx, byte [rbx + 8]
lea r10, [r11 + r9]
shl r8, 0x1d
movzx r11d, byte [rbx + 0x13]
shl rax, 8
lea r9, [r10 + r8]
movzx r10d, byte [rdi + 0x12]
mov rsi, qword [rsp + 0x2b8]
add rax, rdx
movzx edx, byte [rbx + 9]
shl rcx, 0xd
mov qword [rsp + 0x148], r15
shl r10, 0x2a
shl rdx, 0x15
lea r8, [r9 + rdx]
movzx r9d, byte [rdi + 0x11]
lea rdx, [r8 + rcx]
movzx ecx, byte [rbx + 7]
mov rbx, r11
movzx r8d, byte [rdi + 0x10]
shl rbx, 0x32
shl r9, 0x22
shl rcx, 5
lea r11, [rbx + r10]
shl r8, 0x1a
mov rbx, rdi
add rcx, rdx
mov rdx, rax
lea r10, [r11 + r9]
movzx r11d, byte [rbx + 0x19]
shr rdx, 0x33
lea r9, [r10 + r8]
movzx r10d, byte [rsi + 0x18]
add rcx, rdx
movzx edx, byte [rdi + 0xf]
mov rbx, r11
shl rbx, 0x2f
shl r10, 0x27
shl rdx, 0x12
lea r11, [rbx + r10]
movzx ebx, byte [rsi + 0x1e]
lea r8, [r9 + rdx]
movzx edx, byte [rdi + 0xe]
movzx r9d, byte [rsi + 0x17]
shl rdx, 0xa
shl r9, 0x1f
add rdx, r8
movzx r8d, byte [rdi + 0xd]
lea r10, [r11 + r9]
lea rdi, [rdx + r8*4]
mov rdx, rcx
movzx r8d, byte [rsi + 0x16]
shr rdx, 0x33
add rdi, rdx
movzx edx, byte [rsi + 0x15]
shl r8, 0x17
lea r9, [r10 + r8]
shl rdx, 0xf
lea r8, [r9 + rdx]
movzx edx, byte [rsi + 0x14]
shl rdx, 7
shl rbx, 0x24
and rax, rbp
and rcx, rbp
mov rsi, rbx
movq xmm2, rcx
movq xmm0, rax
add rdx, r8
mov rbx, qword [rsp + 0x2b8]
mov r8, rdi
punpcklqdq xmm0, xmm2
mov rax, qword [rsp + 0x2b0]
shr r8, 0x33
and rdi, rbp
movzx r11d, byte [rbx + 0x1d]
add rdx, r8
shl r11, 0x1c
lea rbx, [rsi + r11]
mov rsi, qword [rsp + 0x2b8]
movzx r10d, byte [rsi + 0x1c]
movzx r9d, byte [rsi + 0x1b]
movzx r8d, byte [rsi + 0x1a]
shl r10, 0x14
shl r9, 0xc
lea r11, [rbx + r10]
shl r8, 4
movabs rbx, 0xfffffffffffda
lea r10, [r11 + r9]
lea r9, [r10 + r8]
movzx r8d, byte [rsi + 0x1f]
movups xmmword [rax + 0x28], xmm0
movq xmm0, rdi
mov qword [rax + 0x58], 0
lea rdi, [rsp + 0x1d0]
and r8d, 0x7f
mov qword [rax + 0x60], 0
mov rcx, rdi
shl r8, 0x2c
mov qword [rax + 0x68], 0
add r8, r9
mov r9, rdx
and rdx, rbp
mov qword [rax + 0x70], 0
shr r9, 0x33
movq xmm3, rdx
mov qword [rax + 0x50], 1
mov rdx, r15
add r8, r9
punpcklqdq xmm0, xmm3
mov qword [rax + 0x48], r8
movups xmmword [rax + 0x38], xmm0
call sym.fiat_25519_carry_square
lea rcx, [rsp + 0x200]
mov rdx, rdi
lea r8, [0x007d8fa0]
mov qword [rsp + 0x140], rcx
call sym.fiat_25519_carry_mul
mov rax, qword [rsp + 0x2b0]
mov rsi, qword [rsp + 0x2b0]
mov qword [rsp + 0x90], rdi
add rbx, qword [rsp + 0x1d0]
mov r8, qword [rsp + 0x1d8]
sub rbx, qword [rax + 0x50]
movdqu xmm4, xmmword [rax + 0x50]
movdqu xmm5, xmmword [rax + 0x60]
mov r10, qword [rax + 0x70]
mov rdx, rbx
movabs rax, 0xffffffffffffe
add r8, rax
shr rdx, 0x33
sub r8, qword [rsi + 0x58]
mov r11, qword [rsp + 0x1e0]
add r8, rdx
movups xmmword [rsp + 0x20], xmm4
mov r9, qword [rsp + 0x1e8]
movdqu xmm0, xmmword [rsp + 0x210]
mov rdx, r8
add r11, rax
sub r11, qword [rsi + 0x60]
movdqu xmm1, xmmword [rsp + 0x200]
shr rdx, 0x33
add r9, rax
sub r9, qword [rsi + 0x68]
movups xmmword [rsp + 0x30], xmm5
add r11, rdx
paddq xmm0, xmm5
paddq xmm1, xmm4
mov rdx, r11
movups xmmword [rsp + 0x1a0], xmm1
shr rdx, 0x33
and rbx, rbp
and r8, rbp
and r11, rbp
add r9, rdx
add rax, qword [rsp + 0x1f0]
movups xmmword [rsp + 0x1b0], xmm0
mov rdx, r9
sub rax, r10
and r9, rbp
add r10, qword [rsp + 0x220]
shr rdx, 0x33
mov qword [rsp + 0x188], r9
add rax, rdx
mov qword [rsp + 0x1c0], r10
mov rdx, rax
and rax, rbp
shr rdx, 0x33
mov qword [rsp + 0x190], rax
lea rax, [rsp + 0x170]
lea rcx, [rdx + rdx*8]
mov qword [rsp + 0x130], rax
lea rdx, [rdx + rcx*2]
add rbx, rdx
mov rcx, rbx
and rbx, rbp
shr rcx, 0x33
mov qword [rsp + 0x170], rbx
lea rdx, [rcx + r8]
lea r8, [rsp + 0x1a0]
mov rcx, rdx
shr rdx, 0x33
mov qword [rsp + 0x138], r8
add rdx, r11
and rcx, rbp
mov qword [rsp + 0x178], rcx
mov rcx, rdi
mov qword [rsp + 0x180], rdx
mov rdx, rax
call sym.fiat_25519_carry_mul
mov r14, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x1e8]
mov r15, qword [rsp + 0x1d8]
mov r8, qword [rsp + 0x1d0]
lea rax, [r14 + r14*8]
lea r13, [rcx + rcx]
lea r9, [r14 + rax*2]
mov rax, qword [rsp + 0x1e0]
mov qword [rsp + 0x20], r13
lea rbx, [r9 + r9]
lea r12, [rax + rax]
lea rax, [rcx + rcx*8]
lea r10, [rcx + rax*2]
lea rsi, [r10 + r10]
mov rax, rsi
mul qword [rsp + 0x1e0]
mov rsi, rax
mov rax, rbx
mov rdi, rdx
mul r15
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r8
add rsi, rax
mov rax, r10
adc rdi, rdx
mul rcx
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rdi
mov r10, rax
mov r11, rdx
mov rax, rbx
mul qword [rsp + 0x1e0]
add r10, rax
lea rax, [r15 + r15]
adc r11, rdx
mul r8
add rax, r10
adc rdx, r11
shrd rsi, rdi, 0x33
xor r11d, r11d
add rax, rsi
adc rdx, r11
mov rsi, rax
mov rax, rcx
mov rdi, rdx
mul rbx
mov rcx, rax
mov rax, r12
mov rbx, rdx
mul r8
add rcx, rax
mov rax, r15
adc rbx, rdx
mul r15
add rax, rcx
mov rcx, rsi
adc rdx, rbx
shrd rcx, rdi, 0x33
xor r11d, r11d
mov r10, rcx
add r10, rax
mov rax, r9
adc r11, rdx
mul r14
mov rcx, rax
mov rax, r12
mov rbx, rdx
mul r15
add rcx, rax
mov rax, r13
adc rbx, rdx
mul r8
add rax, rcx
mov rcx, r10
adc rdx, rbx
shrd rcx, r11, 0x33
xor r13d, r13d
mov r12, rcx
add r12, rax
adc r13, rdx
add r14, r14
mov rbx, r12
mov rax, r14
and rbx, rbp
mul r8
mov r8, rax
mov rax, qword [rsp + 0x20]
mov r9, rdx
mul r15
add r8, rax
mov rax, qword [rsp + 0x1e0]
adc r9, rdx
mul rax
add r8, rax
adc r9, rdx
shrd r12, r13, 0x33
xor edx, edx
add r8, r12
adc r9, rdx
mov r14, r8
and r10, rbp
shrd r8, r9, 0x33
and r14, rbp
lea rax, [r8 + r8*8]
mov qword [rsp + 0x20], r14
lea rdx, [r8 + rax*2]
mov rax, qword [rsp + 0x30]
and rax, rbp
add rdx, rax
mov rax, rsi
and rax, rbp
mov r15, rdx
shr rdx, 0x33
lea rsi, [rax + rdx]
lea rax, [r14 + r14*8]
and r15, rbp
mov rdi, rsi
lea r12, [r14 + rax*2]
shr rsi, 0x33
mov r13, r15
and rdi, rbp
lea r11, [r10 + rsi]
lea rsi, [r12 + r12]
mov r14, rbx
mov rax, rdi
mov r15, r11
add r11, r11
mov r10, rdi
mul rsi
mov rdi, r14
mov qword [rsp + 0x30], r15
lea rbx, [rbx + rbx]
mov qword [rsp + 0x60], r10
mov r8, rax
mov rax, r13
mov r9, rdx
mul r13
add r8, rax
lea rax, [r14 + r14*8]
lea rcx, [r14 + rax*2]
adc r9, rdx
lea r14, [r10 + r10]
lea rax, [rcx + rcx]
mul r15
add r8, rax
mov rax, r14
adc r9, rdx
mul r13
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], r9
mov r14, rax
mov rax, qword [rsp + 0x30]
mov r15, rdx
mul rsi
add r14, rax
mov rax, rcx
mov rcx, r13
adc r15, rdx
mul rdi
mov qword [rsp + 0x80], rcx
mov r8, rax
mov r9, rdx
add r8, r14
mov r14, qword [rsp + 0x40]
mov qword [rsp + 0x40], rdi
adc r9, r15
mov r15, qword [rsp + 0x48]
mov rax, r14
shrd rax, r15, 0x33
mov rdx, r15
shr rdx, 0x33
add r8, rax
mov rax, rsi
adc r9, rdx
mul rdi
mov rsi, rax
mov rax, r10
mov rdi, rdx
mul r10
add rsi, rax
mov rax, r13
adc rdi, rdx
mul r11
add rsi, rax
mov rax, r8
adc rdi, rdx
shrd rax, r9, 0x33
mov rdx, r9
shr rdx, 0x33
add rsi, rax
mov rax, r12
adc rdi, rdx
mul qword [rsp + 0x20]
mov r12, rax
mov rax, rcx
mov r13, rdx
mul rbx
add r12, rax
mov rax, r11
mov r11, rdi
adc r13, rdx
mul r10
mov r10, rsi
add r12, rax
adc r13, rdx
shrd r10, rdi, 0x33
shr r11, 0x33
add r10, r12
adc r11, r13
mov r13, qword [rsp + 0x20]
mov rax, r10
and rax, rbp
add r13, r13
mov qword [rsp + 0x50], rax
mov r15, qword [rsp + 0x50]
mov rax, r13
mul rcx
mov r12, rax
mov r13, rdx
mov rax, rbx
mul qword [rsp + 0x60]
add r12, rax
mov rcx, r12
mov r12, qword [rsp + 0x30]
adc r13, rdx
mov rbx, r13
lea r13, [r15 + r15]
mov rax, r12
mul r12
add rcx, rax
adc rbx, rdx
shrd r10, r11, 0x33
shr r11, 0x33
add rcx, r10
adc rbx, r11
mov rax, rcx
and r14, rbp
and r8, rbp
shrd rcx, rbx, 0x33
and rax, rbp
and rsi, rbp
mov r12, rax
lea rax, [rcx + rcx*8]
lea rcx, [rcx + rax*2]
add r14, rcx
mov rax, r14
shr r14, 0x33
and rax, rbp
add r14, r8
mov r10, rax
lea rax, [r12 + r12*8]
mov r8, r14
shr r14, 0x33
lea rbx, [r12 + rax*2]
and r8, rbp
lea rcx, [rsi + r14]
lea r11, [rbx + rbx]
lea r9, [rcx + rcx]
mov rax, r11
mul r8
mov rsi, rax
mov rax, r10
mov rdi, rdx
mul r10
add rsi, rax
lea rax, [r15 + r15*8]
lea r14, [r15 + rax*2]
adc rdi, rdx
lea rax, [r14 + r14]
mul rcx
add rsi, rax
mov qword [rsp + 0x70], rsi
lea rsi, [r8 + r8]
adc rdi, rdx
mov rax, rsi
mov qword [rsp + 0x78], rdi
mul r10
mov rsi, rax
mov rax, r11
mov rdi, rdx
mul rcx
add rsi, rax
mov rax, r14
adc rdi, rdx
mul r15
add rax, rsi
mov rsi, qword [rsp + 0x70]
adc rdx, rdi
mov rdi, qword [rsp + 0x78]
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rax, rsi
mov r14, rax
mov rax, qword [rsp + 0x50]
adc rdx, rdi
mov r15, rdx
mov qword [rsp + 0x50], r14
mul r11
mov qword [rsp + 0x58], r15
mov rsi, rax
mov rax, r8
mov rdi, rdx
mul r8
add rsi, rax
mov rax, r9
adc rdi, rdx
mul r10
add rax, rsi
adc rdx, rdi
shrd r14, r15, 0x33
shr r15, 0x33
add r14, rax
mov rax, rbx
adc r15, rdx
mul r12
mov rsi, rax
mov rax, r13
mov rdi, rdx
mul r10
add rsi, rax
mov rax, r9
adc rdi, rdx
mul r8
add rsi, rax
mov rax, r14
adc rdi, rdx
shrd rax, r15, 0x33
mov rdx, r15
shr rdx, 0x33
add rsi, rax
adc rdi, rdx
add r12, r12
mov rax, r12
mul r10
mov r10, rax
mov rax, r8
mov r11, rdx
mul r13
add r10, rax
mov rax, rcx
adc r11, rdx
mul rcx
add r10, rax
mov rax, rsi
adc r11, rdx
shrd rax, rdi, 0x33
mov rdx, rdi
shr rdx, 0x33
add r10, rax
adc r11, rdx
mov rax, r10
and rsi, rbp
and r10, rbp
shrd rax, r11, 0x33
mov qword [rsp + 0x248], rsi
lea rdx, [rax + rax*8]
mov qword [rsp + 0x250], r10
lea rcx, [rax + rdx*2]
mov rax, qword [rsp + 0x70]
and rax, rbp
add rcx, rax
mov rax, qword [rsp + 0x50]
mov rdx, rcx
and rcx, rbp
and rax, rbp
shr rdx, 0x33
mov qword [rsp + 0x230], rcx
add rdx, rax
mov rax, rdx
shr rdx, 0x33
and rax, rbp
mov qword [rsp + 0x238], rax
mov rax, r14
and rax, rbp
add rdx, rax
lea rax, [rsp + 0x230]
mov qword [rsp + 0x240], rdx
mov r8, rax
mov rcx, rax
mov rdx, qword [rsp + 0x90]
mov qword [rsp + 0x108], rax
call sym.fiat_25519_carry_mul
mov rax, qword [rsp + 0x250]
mov rsi, qword [rsp + 0x250]
mov r14, qword [rsp + 0x240]
mov r15, qword [rsp + 0x238]
lea rax, [rax + rax*8]
mov rbx, qword [rsp + 0x20]
mov r12, qword [rsp + 0x60]
lea r8, [rsi + rax*2]
mov rax, qword [rsp + 0x248]
mov rsi, qword [rsp + 0x248]
mov r13, qword [rsp + 0x80]
lea rax, [rax + rax*8]
lea r9, [rsi + rax*2]
lea rax, [r14 + r14*8]
lea rcx, [r14 + rax*2]
lea rax, [r15 + r15*8]
lea r10, [r15 + rax*2]
mov rax, r10
mul rbx
mov r10, rax
mov rax, qword [rsp + 0x40]
mov r11, rdx
mul rcx
add r10, rax
mov rax, r13
adc r11, rdx
mul qword [rsp + 0x230]
add r10, rax
mov rax, r12
adc r11, rdx
mul r8
add r10, rax
mov rax, qword [rsp + 0x30]
adc r11, rdx
mov rsi, r10
mul r9
mov rdi, r11
mov r11, r13
add rsi, rax
mov rax, rcx
adc rdi, rdx
mul rbx
mov r10, rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rdi
mov rcx, rax
mov rax, qword [rsp + 0x40]
mov rbx, rdx
mul r9
add rcx, rax
mov rax, r13
adc rbx, rdx
mul r15
add rcx, rax
mov rax, r12
adc rbx, rdx
mul qword [rsp + 0x230]
add rcx, rax
mov rax, qword [rsp + 0x30]
adc rbx, rdx
mul r8
add rax, rcx
adc rdx, rbx
shrd r10, rdi, 0x33
xor edi, edi
mov rsi, r10
mov r10, r12
add rsi, rax
mov rax, r9
mov r9, qword [rsp + 0x20]
adc rdi, rdx
mul r9
mov rcx, rax
mov rax, qword [rsp + 0x40]
mov rbx, rdx
mul r8
add rcx, rax
mov rax, r13
adc rbx, rdx
mul r14
add rcx, rax
mov rax, r12
adc rbx, rdx
mul r15
add rcx, rax
mov rax, qword [rsp + 0x30]
adc rbx, rdx
mul qword [rsp + 0x230]
add rax, rcx
mov rcx, rsi
adc rdx, rbx
shrd rcx, rdi, 0x33
xor ebx, ebx
add rax, rcx
adc rdx, rbx
mov rcx, rax
mov rax, r8
mov rbx, rdx
mul r9
mov r8, rax
mov r9, rdx
mov rax, qword [rsp + 0x40]
mul qword [rsp + 0x230]
add r8, rax
mov rax, r13
adc r9, rdx
mul qword [rsp + 0x248]
add r8, rax
mov rax, r12
adc r9, rdx
mul r14
mov r12, rax
mov r13, rdx
add r12, r8
mov r8, qword [rsp + 0x30]
mov qword [rsp + 0x30], rcx
adc r13, r9
mov rax, r8
mul r15
add r12, rax
adc r13, rdx
shrd rcx, rbx, 0x33
xor edx, edx
add r12, rcx
mov rax, r12
adc r13, rdx
and rax, rbp
mov r9, rax
mov rax, qword [rsp + 0x20]
mul qword [rsp + 0x230]
mov rcx, rax
mov rax, qword [rsp + 0x40]
mov rbx, rdx
mul r15
add rcx, rax
mov rax, r11
adc rbx, rdx
mul qword [rsp + 0x250]
add rcx, rax
mov rax, r10
mov r10, qword [rsp + 0x50]
adc rbx, rdx
mul qword [rsp + 0x248]
add rcx, rax
mov rax, r8
adc rbx, rdx
mul r14
add rcx, rax
adc rbx, rdx
shrd r12, r13, 0x33
xor edx, edx
lea r13, [r9 + r9]
add rcx, r12
adc rbx, rdx
mov rax, rcx
mov r12, rcx
and r10, rbp
shrd rax, rbx, 0x33
and r12, rbp
mov rcx, rax
lea rax, [rax + rax*8]
lea rcx, [rcx + rax*2]
mov rax, rsi
add rcx, r10
and rax, rbp
mov r10, rcx
shr rcx, 0x33
lea rsi, [rax + rcx]
mov rax, qword [rsp + 0x30]
and r10, rbp
mov r8, rsi
shr rsi, 0x33
and rax, rbp
and r8, rbp
lea rcx, [rax + rsi]
lea rax, [r12 + r12*8]
lea rbx, [r12 + rax*2]
lea r11, [rbx + rbx]
mov rax, r11
mul r8
mov rsi, rax
mov rax, r10
mov rdi, rdx
mul r10
add rsi, rax
lea rax, [r9 + r9*8]
adc rdi, rdx
lea rdx, [r9 + rax*2]
lea rax, [rdx + rdx]
mov qword [rsp + 0x30], rdx
mul rcx
add rsi, rax
mov qword [rsp + 0x20], rsi
lea rsi, [r8 + r8]
adc rdi, rdx
mov rax, rsi
mov qword [rsp + 0x28], rdi
mul r10
mov rsi, rax
mov rax, r11
mov rdi, rdx
mul rcx
add rsi, rax
mov rax, qword [rsp + 0x30]
adc rdi, rdx
mul r9
add rax, rsi
mov rsi, qword [rsp + 0x20]
adc rdx, rdi
mov rdi, qword [rsp + 0x28]
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rax, rsi
mov qword [rsp + 0x30], rax
adc rdx, rdi
mov rax, r9
mov qword [rsp + 0x38], rdx
mul r11
lea r11, [rcx + rcx]
mov rsi, rax
mov rax, r8
mov rdi, rdx
mul r8
add rsi, rax
mov rax, r11
adc rdi, rdx
mul r10
add rax, rsi
mov rsi, qword [rsp + 0x30]
adc rdx, rdi
mov rdi, qword [rsp + 0x38]
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rax, rsi
mov qword [rsp + 0x40], rax
adc rdx, rdi
mov rax, rbx
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x48], rdx
mul r12
mov rsi, rax
mov rax, r13
mov rdi, rdx
mul r10
add rsi, rax
mov rax, r11
adc rdi, rdx
mul r8
add rax, rsi
mov rsi, qword [rsp + 0x48]
adc rdx, rdi
shrd rbx, rsi, 0x33
shr rsi, 0x33
mov rdi, rsi
mov rsi, rbx
add rsi, rax
adc rdi, rdx
add r12, r12
mov r9, rsi
mov rax, r12
and r9, rbp
mov rbx, rdi
mul r10
mov r10, rax
mov rax, r8
mov r11, rdx
mul r13
add r10, rax
mov rax, rcx
adc r11, rdx
mul rcx
mov rcx, rsi
mov rsi, qword [rsp + 0x20]
add r10, rax
adc r11, rdx
shrd rcx, rdi, 0x33
shr rbx, 0x33
add r10, rcx
adc r11, rbx
mov rdi, r10
and rsi, rbp
shrd r10, r11, 0x33
and rdi, rbp
lea rax, [r10 + r10*8]
mov qword [rsp + 0x50], rdi
lea rax, [r10 + rax*2]
lea rdx, [rax + rsi]
mov rax, qword [rsp + 0x30]
mov r12, rdx
shr rdx, 0x33
and rax, rbp
and r12, rbp
add rdx, rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r9
mov rcx, rdx
shr rdx, 0x33
and rax, rbp
and rcx, rbp
lea r13, [rax + rdx]
lea rax, [rdi + rdi*8]
lea r8, [rdi + rax*2]
lea rax, [r9 + r9*8]
lea r9, [r9 + rax*2]
lea rax, [r13 + r13*8]
lea rbx, [r13 + rax*2]
mov rax, r9
mul r14
mov r10, rax
mov rax, r8
mov r11, rdx
mul r15
add r10, rax
mov rax, r12
adc r11, rdx
mul qword [rsp + 0x230]
mov rsi, r10
mov rdi, r11
add rsi, rax
lea rax, [rcx + rcx*8]
adc rdi, rdx
lea rax, [rcx + rax*2]
mul qword [rsp + 0x250]
add rsi, rax
mov rax, rbx
adc rdi, rdx
mul qword [rsp + 0x248]
add rsi, rax
mov rax, r9
adc rdi, rdx
mul qword [rsp + 0x248]
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], rdi
mov r10, rax
mov rax, r8
mov r11, rdx
mul r14
add r10, rax
mov rax, r12
adc r11, rdx
mul r15
add r10, rax
mov rax, rcx
adc r11, rdx
mul qword [rsp + 0x230]
add r10, rax
mov rax, rbx
adc r11, rdx
mul qword [rsp + 0x250]
add rax, r10
adc rdx, r11
shrd rsi, rdi, 0x33
xor r11d, r11d
add rax, rsi
adc rdx, r11
mov rbx, rax
mov rax, r9
mov rsi, rdx
mul qword [rsp + 0x250]
mov qword [rsp + 0x30], rbx
mov r10, rax
mov r11, rdx
mov rax, r8
mul qword [rsp + 0x248]
add r10, rax
mov rax, r12
adc r11, rdx
mul r14
add r10, rax
mov rax, rcx
adc r11, rdx
mul r15
add r10, rax
mov rax, r13
adc r11, rdx
mul qword [rsp + 0x230]
mov qword [rsp + 0x38], rsi
add rax, r10
adc rdx, r11
shrd rbx, rsi, 0x33
xor edi, edi
mov rsi, rbx
mov rbx, qword [rsp + 0x40]
add rsi, rax
mov rax, r8
adc rdi, rdx
mul qword [rsp + 0x250]
mov r8, rax
mov r9, rdx
mov rax, rbx
mul qword [rsp + 0x230]
add r8, rax
mov rax, r12
adc r9, rdx
mul qword [rsp + 0x248]
add r8, rax
mov rax, rcx
adc r9, rdx
mul r14
add r8, rax
mov rax, r13
adc r9, rdx
mul r15
add rax, r8
mov r8, rsi
adc rdx, r9
shrd r8, rdi, 0x33
xor r11d, r11d
mov r10, r8
add r10, rax
mov rax, r10
adc r11, rdx
and rax, rbp
mov qword [rsp + 0x40], rax
mov rax, rbx
mov rdi, qword [rsp + 0x40]
mul r15
mov r8, rax
mov r9, rdx
mov rax, qword [rsp + 0x50]
mul qword [rsp + 0x230]
add r8, rax
mov rax, r12
adc r9, rdx
mul qword [rsp + 0x250]
add r8, rax
mov rax, rcx
adc r9, rdx
mul qword [rsp + 0x248]
add r8, rax
mov rax, r13
adc r9, rdx
mul r14
add r8, rax
adc r9, rdx
shrd r10, r11, 0x33
xor edx, edx
add r8, r10
mov r10, qword [rsp + 0x20]
adc r9, rdx
mov r13, r8
and rsi, rbp
shrd r8, r9, 0x33
and r10, rbp
and r13, rbp
lea rax, [r8 + r8*8]
mov qword [rsp + 0x80], r13
lea rdx, [r8 + rax*2]
lea rax, [rdx + r10]
mov r10, qword [rsp + 0x30]
mov r11, rax
shr rax, 0x33
and r10, rbp
and r11, rbp
lea rbx, [r10 + rax]
lea rax, [r13 + r13*8]
mov r15, r11
mov rcx, rbx
shr rbx, 0x33
mov qword [rsp + 0x50], r15
and rcx, rbp
lea r14, [rsi + rbx]
lea rbx, [r13 + rax*2]
lea rax, [rdi + rdi*8]
lea rsi, [rbx + rbx]
mov qword [rsp + 0x30], rbx
lea r12, [rdi + rax*2]
mov rax, rcx
lea rbx, [rdi + rdi]
mov qword [rsp + 0xb0], rcx
mul rsi
mov qword [rsp + 0x60], r12
lea r10, [r14 + r14]
mov qword [rsp + 0x20], r14
mov r8, rax
mov rax, r11
mov r9, rdx
mul r11
add r8, rax
mov rax, r12
adc r9, rdx
add rax, rax
mov r11, r8
mul r14
lea r8, [rcx + rcx]
mov r12, r9
add r11, rax
mov rax, r8
adc r12, rdx
mul r15
mov qword [rsp + 0x70], r11
mov r8, rax
mov rax, r14
mov r9, rdx
mul rsi
add r8, rax
mov rax, rdi
adc r9, rdx
mul qword [rsp + 0x60]
add r8, rax
mov rax, r11
adc r9, rdx
shrd rax, r12, 0x33
mov rdx, r12
shr rdx, 0x33
add r8, rax
mov rax, rsi
adc r9, rdx
mul rdi
mov rsi, rax
mov rax, rcx
mov rdi, rdx
mul rcx
add rsi, rax
mov rax, r15
adc rdi, rdx
mul r10
add rsi, rax
mov rax, r8
adc rdi, rdx
shrd rax, r9, 0x33
mov rdx, r9
shr rdx, 0x33
add rsi, rax
mov rax, r13
adc rdi, rdx
mul qword [rsp + 0x30]
mov r12, rax
mov rax, r15
mov r13, rdx
mul rbx
add r12, rax
mov rax, r10
adc r13, rdx
mul rcx
mov r10, rax
mov r11, rdx
mov rax, rsi
mov rdx, rdi
add r10, r12
adc r11, r13
shrd rax, rdi, 0x33
mov r13, qword [rsp + 0x80]
shr rdx, 0x33
add r10, rax
adc r11, rdx
add r13, r13
mov rdx, r10
and rdx, rbp
mov rax, r13
mov qword [rsp + 0x90], rdx
mul r15
mov r12, rax
mov rax, rbx
mov r13, rdx
mul rcx
mov rcx, r12
mov rbx, r13
mov r13, qword [rsp + 0x90]
lea r15, [r13 + r13]
add rcx, rax
mov rax, r14
adc rbx, rdx
mul r14
add rcx, rax
adc rbx, rdx
shrd r10, r11, 0x33
shr r11, 0x33
add rcx, r10
adc rbx, r11
mov rdx, rcx
and r8, rbp
and rsi, rbp
shrd rcx, rbx, 0x33
and rdx, rbp
lea rax, [rcx + rcx*8]
mov r14, rdx
lea rdx, [rcx + rax*2]
mov rax, qword [rsp + 0x70]
and rax, rbp
add rdx, rax
lea rax, [r14 + r14*8]
mov r10, rdx
shr rdx, 0x33
lea r12, [r14 + rax*2]
and r10, rbp
add rdx, r8
lea r11, [r12 + r12]
mov r8, rdx
mov rax, r10
shr rdx, 0x33
lea rcx, [rsi + rdx]
and r8, rbp
mul r10
lea r9, [rcx + rcx]
mov rsi, rax
mov rax, r11
mov rdi, rdx
mul r8
add rsi, rax
lea rax, [r13 + r13*8]
lea rbx, [r13 + rax*2]
adc rdi, rdx
lea rax, [rbx + rbx]
mul rcx
add rsi, rax
mov qword [rsp + 0x90], rsi
lea rsi, [r8 + r8]
adc rdi, rdx
mov rax, rsi
mov qword [rsp + 0x98], rdi
mul r10
mov rsi, rax
mov rax, r11
mov rdi, rdx
mul rcx
add rsi, rax
mov rax, rbx
adc rdi, rdx
mul r13
add rax, rsi
mov rsi, qword [rsp + 0x90]
adc rdx, rdi
mov rdi, qword [rsp + 0x98]
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rax, rsi
adc rdx, rdi
mov qword [rsp + 0x70], rax
mov rax, r13
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rdx
mul r11
mov rsi, rax
mov rax, r8
mov rdi, rdx
mul r8
add rsi, rax
mov rax, r9
adc rdi, rdx
mul r10
add rax, rsi
mov rsi, qword [rsp + 0x78]
adc rdx, rdi
shrd rbx, rsi, 0x33
shr rsi, 0x33
mov rdi, rsi
mov rsi, rbx
add rsi, rax
mov rax, r12
adc rdi, rdx
mul r14
mov r12, rax
mov rax, r10
mov r13, rdx
mul r15
add r12, rax
mov rax, r9
adc r13, rdx
mul r8
add r12, rax
mov rax, rsi
adc r13, rdx
shrd rax, rdi, 0x33
mov rdx, rdi
shr rdx, 0x33
add r12, rax
adc r13, rdx
add r14, r14
mov rdx, r12
and rdx, rbp
mov rax, r14
mov qword [rsp + 0xa0], rdx
mul r10
mov rdi, qword [rsp + 0xa0]
lea r14, [rdi + rdi]
mov r10, rax
mov rax, r8
mov r11, rdx
mul r15
add r10, rax
mov rax, rcx
adc r11, rdx
mul rcx
add r10, rax
adc r11, rdx
shrd r12, r13, 0x33
shr r13, 0x33
add r10, r12
adc r11, r13
mov rdx, r10
and rsi, rbp
shrd r10, r11, 0x33
and rdx, rbp
lea rax, [r10 + r10*8]
mov r15, rdx
lea rcx, [r10 + rax*2]
mov rax, qword [rsp + 0x90]
and rax, rbp
add rcx, rax
mov rax, qword [rsp + 0x70]
mov rdx, rcx
shr rcx, 0x33
and rax, rbp
and rdx, rbp
add rcx, rax
lea rax, [r15 + r15*8]
mov rbx, rdx
lea r9, [r15 + rax*2]
mov rax, rdx
mov r10, rcx
shr rcx, 0x33
mul rdx
and r10, rbp
lea r8, [r9 + r9]
add rcx, rsi
lea rsi, [rcx + rcx]
mov r12, rax
mov rax, r10
mov r13, rdx
mul r8
add r12, rax
lea rax, [rdi + rdi*8]
lea r11, [rdi + rax*2]
adc r13, rdx
lea rax, [r11 + r11]
mul rcx
add r12, rax
mov qword [rsp + 0x90], r12
lea r12, [r10 + r10]
adc r13, rdx
mov rax, r12
mov qword [rsp + 0x98], r13
mul rbx
mov r12, rax
mov rax, rcx
mov r13, rdx
mul r8
add r12, rax
mov rax, r11
mov r11, rbp
adc r13, rdx
mul rdi
add rax, r12
mov r12, qword [rsp + 0x90]
adc rdx, r13
mov r13, qword [rsp + 0x98]
shrd r12, r13, 0x33
shr r13, 0x33
add rax, r12
mov qword [rsp + 0x70], rax
adc rdx, r13
mov rax, r10
mov qword [rsp + 0x78], rdx
mul r10
mov r12, rax
mov rax, r8
mov r13, rdx
mul rdi
add r12, rax
mov rax, rbx
adc r13, rdx
mul rsi
add r12, rax
mov rax, qword [rsp + 0x70]
adc r13, rdx
mov rdx, qword [rsp + 0x78]
shrd rax, rdx, 0x33
shr rdx, 0x33
add r12, rax
mov rax, r9
adc r13, rdx
mul r15
mov rdi, r13
mov r8, rax
mov rax, rbx
mov r9, rdx
mul r14
add r8, rax
mov rax, rsi
mov rsi, r12
adc r9, rdx
mul r10
add r8, rax
adc r9, rdx
shrd rsi, r13, 0x33
shr rdi, 0x33
add r8, rsi
lea rsi, [r15 + r15]
mov rax, rsi
adc r9, rdi
and r11, r8
mul rbx
lea r15, [r11 + r11]
mov rsi, rax
mov rax, r14
mov rdi, rdx
mul r10
add rsi, rax
mov rax, rcx
adc rdi, rdx
mul rcx
add rsi, rax
adc rdi, rdx
shrd r8, r9, 0x33
mov rdx, rbp
shr r9, 0x33
add rsi, r8
adc rdi, r9
and rdx, rsi
and r12, rbp
shrd rsi, rdi, 0x33
mov r14, rdx
lea rax, [rsi + rsi*8]
lea rcx, [rsi + rax*2]
mov rsi, qword [rsp + 0x90]
mov rax, qword [rsp + 0x70]
and rsi, rbp
and rax, rbp
add rcx, rsi
mov r10, rcx
shr rcx, 0x33
add rcx, rax
and r10, rbp
lea rax, [rdx + rdx*8]
mov r9, rcx
shr rcx, 0x33
add rcx, r12
lea r12, [rdx + rax*2]
mov rax, r10
and r9, rbp
mul r10
lea rsi, [rcx + rcx]
lea r8, [r12 + r12]
mov r13, rsi
mov rsi, rax
mov rax, r9
mov rdi, rdx
mul r8
add rsi, rax
lea rax, [r11 + r11*8]
lea rbx, [r11 + rax*2]
adc rdi, rdx
lea rax, [rbx + rbx]
mul rcx
add rsi, rax
mov qword [rsp + 0xa0], rsi
lea rsi, [r9 + r9]
adc rdi, rdx
mov rax, rsi
mov qword [rsp + 0xa8], rdi
mul r10
mov rsi, rax
mov rax, rcx
mov rdi, rdx
mul r8
add rsi, rax
mov rax, rbx
adc rdi, rdx
mul r11
add rax, rsi
mov rsi, qword [rsp + 0xa0]
adc rdx, rdi
mov rdi, qword [rsp + 0xa8]
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rax, rsi
mov qword [rsp + 0x90], rax
adc rdx, rdi
mov rax, r9
mov qword [rsp + 0x98], rdx
mul r9
mov rsi, rax
mov rax, r8
mov rdi, rdx
mul r11
mov r11, r13
add rsi, rax
mov rax, r13
adc rdi, rdx
mul r10
add rsi, rax
mov rax, qword [rsp + 0x90]
adc rdi, rdx
mov rdx, qword [rsp + 0x98]
shrd rax, rdx, 0x33
shr rdx, 0x33
add rsi, rax
mov rax, r12
adc rdi, rdx
mul r14
mov r12, rax
mov rax, r10
mov r13, rdx
mul r15
add r12, rax
mov rax, r11
adc r13, rdx
mul r9
add r12, rax
mov rax, rsi
adc r13, rdx
shrd rax, rdi, 0x33
mov rdx, rdi
shr rdx, 0x33
add r12, rax
adc r13, rdx
add r14, r14
mov rdx, rbp
and rdx, r12
mov rax, r14
mov qword [rsp + 0x70], rdx
mul r10
mov rbx, qword [rsp + 0x70]
lea r14, [rbx + rbx]
mov r10, rax
mov rax, r15
mov r11, rdx
mul r9
add r10, rax
mov rax, rcx
adc r11, rdx
mul rcx
add r10, rax
adc r11, rdx
shrd r12, r13, 0x33
mov rdx, rbp
shr r13, 0x33
add r10, r12
adc r11, r13
and rdx, r10
and rsi, rbp
mov r15, rdx
shrd r10, r11, 0x33
mov rdx, qword [rsp + 0xa0]
lea rax, [r10 + r10*8]
lea rcx, [r10 + rax*2]
and rdx, rbp
mov rax, qword [rsp + 0x90]
add rcx, rdx
and rax, rbp
mov r10, rcx
shr rcx, 0x33
add rcx, rax
lea rax, [r15 + r15*8]
and r10, rbp
lea r11, [r15 + rax*2]
mov r9, rcx
shr rcx, 0x33
lea r8, [r11 + r11]
and r9, rbp
add rcx, rsi
mov rax, r8
mul r9
mov r12, rax
mov rax, r10
mov r13, rdx
mul r10
add r12, rax
lea rax, [rbx + rbx*8]
lea rbx, [rbx + rax*2]
adc r13, rdx
mov rsi, r12
lea rax, [rbx + rbx]
lea r12, [r9 + r9]
mov rdi, r13
mul rcx
add rsi, rax
mov rax, r12
adc rdi, rdx
mul r10
mov qword [rsp + 0x90], rsi
mov r12, rax
mov rax, r8
mov r13, rdx
mul rcx
add r12, rax
mov rax, rbx
mov rbx, qword [rsp + 0x70]
adc r13, rdx
mul rbx
add rax, r12
mov r12, rsi
adc rdx, r13
mov r13, rdi
shrd r12, rdi, 0x33
shr r13, 0x33
add r12, rax
mov rax, rbx
adc r13, rdx
mul r8
lea r8, [rcx + rcx]
mov rbx, r12
mov rsi, rax
mov rax, r9
mov rdi, rdx
mul r9
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r10
add rax, rsi
mov rsi, r13
adc rdx, rdi
shrd rbx, r13, 0x33
shr rsi, 0x33
add rax, rbx
adc rdx, rsi
mov qword [rsp + 0x70], rax
mov rax, r11
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rdx
mul r15
mov rsi, rax
mov rax, r14
mov rdi, rdx
mul r10
add rsi, rax
mov rax, r8
mov r8, rbp
adc rdi, rdx
mul r9
add rax, rsi
mov rsi, qword [rsp + 0x78]
mov r13, qword [rsp + 0xb0]
adc rdx, rdi
shrd rbx, rsi, 0x33
shr rsi, 0x33
mov rdi, rsi
mov rsi, rbx
add rsi, rax
adc rdi, rdx
add r15, r15
and r8, rsi
mov rax, r15
mul r10
mov r10, rax
mov rax, r9
mov r11, rdx
mul r14
mov r14, qword [rsp + 0x20]
add r10, rax
mov rax, rcx
adc r11, rdx
mul rcx
add r10, rax
adc r11, rdx
shrd rsi, rdi, 0x33
mov rdx, rbp
shr rdi, 0x33
add r10, rsi
adc r11, rdi
and rdx, r10
shrd r10, r11, 0x33
mov rbx, rdx
lea rax, [r10 + r10*8]
lea rdx, [r10 + rax*2]
mov rax, qword [rsp + 0x90]
and rax, rbp
add rdx, rax
mov rax, r12
mov r12, qword [rsp + 0x50]
and rax, rbp
mov r9, rdx
shr rdx, 0x33
add rdx, rax
mov rax, qword [rsp + 0x70]
and r9, rbp
mov rsi, rdx
shr rdx, 0x33
and rsi, rbp
and rax, rbp
mov rcx, rsi
lea rsi, [rax + rdx]
lea rax, [r14 + r14*8]
lea rdi, [r14 + rax*2]
lea rax, [r13 + r13*8]
lea r10, [r13 + rax*2]
mov rax, r10
mul rbx
mov r10, rax
mov rax, rdi
mov r11, rdx
mul r8
add r10, rax
mov rax, r12
adc r11, rdx
mul r9
add r10, rax
mov rax, qword [rsp + 0x30]
adc r11, rdx
mul rcx
add r10, rax
mov rax, qword [rsp + 0x60]
adc r11, rdx
mov r14, r10
mul rsi
mov r15, r11
add r14, rax
mov rax, rdi
mov rdi, r13
adc r15, rdx
mul rbx
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], r15
mov r10, rax
mov rax, qword [rsp + 0x60]
mov r11, rdx
mul r8
add r10, rax
mov rax, r13
adc r11, rdx
mul r9
add r10, rax
mov rax, r12
adc r11, rdx
mul rcx
add r10, rax
mov rax, qword [rsp + 0x30]
adc r11, rdx
mul rsi
add rax, r10
mov r10, r14
adc rdx, r11
shrd r10, r15, 0x33
mov r11, r15
shr r11, 0x33
add rax, r10
mov r12, rax
mov rax, qword [rsp + 0x60]
adc rdx, r11
mov r13, rdx
mov qword [rsp + 0x60], r12
mul rbx
mov qword [rsp + 0x68], r13
mov r10, rax
mov rax, qword [rsp + 0x30]
mov r11, rdx
mul r8
add r10, rax
mov rax, qword [rsp + 0x20]
adc r11, rdx
mul r9
add r10, rax
mov rax, rdi
adc r11, rdx
mul rcx
add r10, rax
mov rax, qword [rsp + 0x50]
adc r11, rdx
mul rsi
mov r14, rax
mov r15, rdx
mov rax, r12
mov rdx, r13
add r14, r10
adc r15, r11
shrd rax, r13, 0x33
mov r13, qword [rsp + 0x50]
shr rdx, 0x33
add r14, rax
mov rax, qword [rsp + 0x30]
adc r15, rdx
mul rbx
mov r10, rax
mov rax, r13
mov r11, rdx
mul r8
add r10, rax
mov rax, qword [rsp + 0x40]
adc r11, rdx
mul r9
add r10, rax
mov rax, qword [rsp + 0x20]
adc r11, rdx
mul rcx
add r10, rax
mov rax, rdi
adc r11, rdx
mul rsi
add r10, rax
mov rax, r14
adc r11, rdx
shrd rax, r15, 0x33
mov rdx, r15
shr rdx, 0x33
add r10, rax
mov rax, r13
adc r11, rdx
mov rdx, rbp
and rdx, r10
mov qword [rsp + 0x70], rdx
mul rbx
mov r12, rax
mov rax, rdi
mov r13, rdx
mov rdi, rbp
mul r8
add r12, rax
mov rax, qword [rsp + 0x80]
adc r13, rdx
mul r9
add r12, rax
mov rax, qword [rsp + 0x40]
adc r13, rdx
mul rcx
add r12, rax
mov rax, qword [rsp + 0x20]
adc r13, rdx
mul rsi
add r12, rax
adc r13, rdx
shrd r10, r11, 0x33
shr r11, 0x33
add r12, r10
mov r10, qword [rsp + 0x90]
adc r13, r11
and rdi, r12
mov r11, qword [rsp + 0x70]
and r14, rbp
shrd r12, r13, 0x33
and r10, rbp
mov r13, rdi
lea rax, [r12 + r12*8]
lea r12, [r12 + rax*2]
mov rax, qword [rsp + 0x60]
add r12, r10
and rax, rbp
mov rsi, r12
shr r12, 0x33
add r12, rax
lea rax, [rdi + rdi*8]
and rsi, rbp
lea rax, [rdi + rax*2]
mov rbx, r12
shr r12, 0x33
mov qword [rsp + 0x30], rsi
lea r10, [rax + rax]
and rbx, rbp
mov qword [rsp + 0x20], rax
lea rax, [r11 + r11*8]
lea rdi, [r11 + rax*2]
mov rax, rbx
lea rcx, [r14 + r12]
mov r9, rbx
mul r10
mov r12, rcx
lea r8, [rcx + rcx]
mov qword [rsp + 0x40], rdi
lea rdi, [r11 + r11]
mov rcx, rax
mov rax, rsi
mov rbx, rdx
mul rsi
mov r14, rax
mov r15, rdx
add r14, rcx
lea rcx, [r9 + r9]
adc r15, rbx
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x80], r12
mov qword [rsp + 0xc8], r13
lea rax, [rbx + rbx]
mov qword [rsp + 0x60], r9
mov dword [rsp + 0xb0], 9
mul r12
add r14, rax
mov rax, rcx
adc r15, rdx
mul rsi
mov rcx, rax
mov rax, r12
mov rbx, rdx
mul r10
add rcx, rax
mov rax, r11
adc rbx, rdx
mul qword [rsp + 0x40]
add rcx, rax
mov rax, r14
adc rbx, rdx
shrd rax, r15, 0x33
mov rdx, r15
shr rdx, 0x33
add rcx, rax
mov rax, r10
adc rbx, rdx
mul r11
mov r10, rax
mov rax, r9
mov r11, rdx
mul r9
add r10, rax
mov rax, rsi
adc r11, rdx
mul r8
add r10, rax
mov rax, rcx
adc r11, rdx
shrd rax, rbx, 0x33
mov rdx, rbx
shr rdx, 0x33
add r10, rax
mov rax, r13
adc r11, rdx
mul qword [rsp + 0x20]
mov r12, rax
mov rax, rsi
mov r13, rdx
mul rdi
add r12, rax
mov rax, r8
adc r13, rdx
mul r9
mov r8, rax
mov r9, rdx
mov rax, r10
mov rdx, r11
add r8, r12
adc r9, r13
shrd rax, r11, 0x33
mov r13, qword [rsp + 0xc8]
shr rdx, 0x33
add r8, rax
mov rax, rbp
adc r9, rdx
and rax, r8
add r13, r13
mov qword [rsp + 0x50], rax
mov rax, r13
mul rsi
mov r12, rax
mov r13, rdx
mov rax, rdi
mul qword [rsp + 0x60]
mov rsi, r12
mov r12, qword [rsp + 0x80]
mov rdi, r13
mov r13, rbp
add rsi, rax
mov rax, r12
adc rdi, rdx
mul r12
add rsi, rax
adc rdi, rdx
shrd r8, r9, 0x33
shr r9, 0x33
add rsi, r8
adc rdi, r9
and r13, rsi
and r14, rbp
and rcx, rbp
shrd rsi, rdi, 0x33
and r10, rbp
lea rax, [rsi + rsi*8]
lea rdx, [rsi + rax*2]
add r14, rdx
mov r15, r14
shr r14, 0x33
add rcx, r14
and r15, rbp
mov r14, rcx
shr rcx, 0x33
and r14, rbp
lea r12, [r10 + rcx]
nop
mov r11, qword [rsp + 0x50]
lea rax, [r13 + r13*8]
lea rcx, [r12 + r12]
lea rbx, [r13 + rax*2]
lea rax, [r11 + r11]
lea r10, [rbx + rbx]
mov qword [rsp + 0x90], rax
lea rax, [r11 + r11*8]
lea r8, [r11 + rax*2]
lea rsi, [r8 + r8]
mov rax, rsi
mul r12
mov rsi, rax
mov rax, r10
mov rdi, rdx
mul r14
add rsi, rax
mov rax, r15
adc rdi, rdx
mul r15
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r11
mov r8, rax
mov rax, r10
mov r9, rdx
mul r12
add r8, rax
lea rax, [r14 + r14]
adc r9, rdx
mul r15
add rax, r8
mov r8, rsi
adc rdx, r9
shrd r8, rdi, 0x33
mov r9, rdi
shr r9, 0x33
add rax, r8
adc rdx, r9
mov r8, rax
mov rax, r11
mov r9, rdx
mul r10
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0xa8], r9
mov r10, rax
mov rax, rcx
mov r11, rdx
mul r15
add r10, rax
mov rax, r14
adc r11, rdx
mul r14
add rax, r10
mov r10, r8
adc rdx, r11
mov r11, r9
shrd r10, r9, 0x33
shr r11, 0x33
add r10, rax
mov rax, rbx
adc r11, rdx
mul r13
mov rbx, r11
mov r8, rax
mov rax, rcx
mov r9, rdx
mov rcx, r10
mul r14
add r8, rax
mov rax, qword [rsp + 0x90]
adc r9, rdx
mul r15
add r8, rax
adc r9, rdx
shrd rcx, r11, 0x33
shr rbx, 0x33
add rcx, r8
lea r8, [r13 + r13]
mov rdx, rcx
adc rbx, r9
mov rax, r8
and rdx, rbp
mov qword [rsp + 0x50], rdx
mul r15
mov r8, rax
mov rax, qword [rsp + 0x90]
mov r9, rdx
mul r14
add r8, rax
mov rax, r12
adc r9, rdx
mul r12
add r8, rax
adc r9, rdx
shrd rcx, rbx, 0x33
shr rbx, 0x33
add r8, rcx
adc r9, rbx
mov r13, r8
and r10, rbp
shrd r8, r9, 0x33
and r13, rbp
lea rax, [r8 + r8*8]
lea r8, [r8 + rax*2]
mov rax, rsi
and rax, rbp
add r8, rax
mov rax, qword [rsp + 0xa0]
mov r15, r8
shr r8, 0x33
and rax, rbp
and r15, rbp
add r8, rax
mov r14, r8
shr r8, 0x33
and r14, rbp
sub dword [rsp + 0xb0], 1
lea r12, [r10 + r8]
jne 0x70cf20
mov r8, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x60]
mov rsi, r13
mov r13, r12
mov r9, qword [rsp + 0x30]
mov qword [rsp + 0xa0], r13
lea rax, [r8 + r8*8]
lea r11, [r8 + rax*2]
lea rax, [rdi + rdi*8]
lea rbx, [rdi + rax*2]
mov rax, rsi
mov qword [rsp + 0xe0], r11
mul rbx
mov qword [rsp + 0x128], rbx
mov rcx, rax
mov rbx, rdx
mov rax, r11
mul qword [rsp + 0x50]
add rcx, rax
mov rax, qword [rsp + 0x40]
adc rbx, rdx
mul r12
mov r12, rsi
mov qword [rsp + 0x90], r12
add rcx, rax
mov rax, qword [rsp + 0x20]
adc rbx, rdx
mul r14
add rcx, rax
mov rax, r9
adc rbx, rdx
mul r15
mov r10, rcx
mov r11, rbx
add r10, rax
mov rax, rsi
adc r11, rdx
mul qword [rsp + 0xe0]
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x40]
mul qword [rsp + 0x50]
add rcx, rax
mov rax, qword [rsp + 0x20]
adc rbx, rdx
mul r13
add rcx, rax
mov rax, r9
mov r9, rdi
adc rbx, rdx
mul r14
add rcx, rax
mov rax, rdi
adc rbx, rdx
mul r15
add rax, rcx
mov rcx, r10
adc rdx, rbx
shrd rcx, r11, 0x33
mov rbx, r11
shr rbx, 0x33
add rax, rcx
mov rsi, rax
mov rax, qword [rsp + 0x40]
adc rdx, rbx
mov rdi, rdx
mov qword [rsp + 0xb0], rsi
mul r12
mov r12, r8
mov qword [rsp + 0xb8], rdi
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x20]
mul qword [rsp + 0x50]
add rcx, rax
mov rax, qword [rsp + 0x30]
adc rbx, rdx
mul r13
mov r13, r9
add rcx, rax
mov rax, r9
mov r9, rdi
adc rbx, rdx
mul r14
add rcx, rax
mov rax, r8
mov r8, rsi
adc rbx, rdx
mul r15
add rax, rcx
adc rdx, rbx
shrd r8, rdi, 0x33
shr r9, 0x33
add r8, rax
mov rax, qword [rsp + 0x20]
adc r9, rdx
mul qword [rsp + 0x90]
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x30]
mul qword [rsp + 0x50]
mov rsi, rax
mov rdi, rdx
mov rax, r13
add rsi, rcx
mov rcx, r12
adc rdi, rbx
mul qword [rsp + 0xa0]
mov rbx, r13
add rsi, rax
mov rax, r12
adc rdi, rdx
mul r14
add rsi, rax
mov rax, qword [rsp + 0x70]
adc rdi, rdx
mul r15
add rsi, rax
mov rax, r8
adc rdi, rdx
shrd rax, r9, 0x33
mov rdx, r9
shr rdx, 0x33
add rsi, rax
mov rax, rsi
adc rdi, rdx
and rax, rbp
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x90]
mul qword [rsp + 0x30]
mov r12, rax
mov rax, qword [rsp + 0x50]
mov r13, rdx
mul rbx
add r12, rax
mov rax, qword [rsp + 0xa0]
adc r13, rdx
mul rcx
mov rcx, r10
add r12, rax
mov rax, r14
adc r13, rdx
mul qword [rsp + 0x70]
add r12, rax
mov rax, r15
adc r13, rdx
mul qword [rsp + 0xc8]
mov r11, qword [rsp + 0xd0]
mov dword [rsp + 0x124], 0x13
lea r9, [r11 + r11]
add r12, rax
adc r13, rdx
shrd rsi, rdi, 0x33
shr rdi, 0x33
add r12, rsi
adc r13, rdi
mov r15, r12
and rcx, rbp
shrd r12, r13, 0x33
and r15, rbp
lea rax, [r12 + r12*8]
mov qword [rsp + 0xd8], r15
lea rdx, [r12 + rax*2]
mov rax, qword [rsp + 0xb0]
add rcx, rdx
and rax, rbp
mov rdi, rcx
shr rcx, 0x33
add rcx, rax
mov rax, r8
and rdi, rbp
and rax, rbp
mov rbx, rcx
shr rcx, 0x33
mov qword [rsp + 0x90], rdi
lea rsi, [rax + rcx]
lea rax, [r15 + r15*8]
and rbx, rbp
lea rcx, [r15 + rax*2]
lea rax, [r11 + r11*8]
mov r14, rsi
mov qword [rsp + 0x100], rbx
lea r10, [rcx + rcx]
lea r13, [r11 + rax*2]
mov rax, rbx
mov qword [rsp + 0xb0], rcx
mul r10
lea r8, [rsi + rsi]
mov rsi, rbx
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xc0], r13
mov rcx, rax
mov rax, rdi
mov rbx, rdx
mul rdi
add rcx, rax
lea rax, [r13 + r13]
adc rbx, rdx
mul r14
lea r14, [rsi + rsi]
add rcx, rax
mov rax, r14
adc rbx, rdx
mul rdi
mov r12, rcx
mov r13, rbx
mov rbx, rsi
mov r14, rax
mov rax, qword [rsp + 0xa0]
mov r15, rdx
mul r10
add r14, rax
mov rax, r11
adc r15, rdx
mul qword [rsp + 0xc0]
add r14, rax
mov rax, rcx
adc r15, rdx
shrd rax, r13, 0x33
mov rdx, r13
shr rdx, 0x33
add r14, rax
mov rax, r10
adc r15, rdx
mul r11
mov qword [rsp + 0xf0], r14
mov r14, rsi
mov qword [rsp + 0xf8], r15
mov r15, rdi
mov r10, rax
mov rax, rsi
mov r11, rdx
mul rsi
add r10, rax
mov rax, rdi
adc r11, rdx
mul r8
add r10, rax
mov rax, qword [rsp + 0xf0]
adc r11, rdx
mov rdx, qword [rsp + 0xf8]
shrd rax, rdx, 0x33
shr rdx, 0x33
add r10, rax
mov rax, qword [rsp + 0xd8]
adc r11, rdx
mul qword [rsp + 0xb0]
mov rsi, rax
mov rax, r15
mov rdi, rdx
mul r9
add rsi, rax
mov rax, r8
adc rdi, rdx
mul rbx
mov rcx, rax
mov rbx, rdx
mov rax, r10
mov rdx, r11
add rcx, rsi
adc rbx, rdi
shrd rax, r11, 0x33
shr rdx, 0x33
add rcx, rax
mov rax, qword [rsp + 0xd8]
mov rdi, rcx
adc rbx, rdx
and rdi, rbp
mov qword [rsp + 0x50], rdi
lea rdi, [rax + rax]
mov rax, rdi
mul r15
mov rsi, rax
mov rax, r9
mov rdi, rdx
mul r14
mov r14, qword [rsp + 0xa0]
add rsi, rax
mov rax, r14
adc rdi, rdx
mul r14
mov r8, rsi
mov r14, qword [rsp + 0xf0]
mov r9, rdi
add r8, rax
adc r9, rdx
shrd rcx, rbx, 0x33
shr rbx, 0x33
add r8, rcx
mov rcx, r12
adc r9, rbx
mov rbx, r8
and rcx, rbp
and r14, rbp
shrd r8, r9, 0x33
and rbx, rbp
and r10, rbp
lea rax, [r8 + r8*8]
lea r15, [r8 + rax*2]
lea r12, [r15 + rcx]
mov r13, r12
shr r12, 0x33
add r12, r14
and r13, rbp
mov r14, r12
shr r12, 0x33
and r14, rbp
lea r15, [r10 + r12]
mov r12, rbx
movabs rbp, 0x7ffffffffffff
nop dword [rax]
mov r11, qword [rsp + 0x50]
lea rax, [r12 + r12*8]
lea rcx, [r15 + r15]
lea rbx, [r12 + rax*2]
lea rax, [r11 + r11]
lea r10, [rbx + rbx]
mov qword [rsp + 0xf0], rax
lea rax, [r11 + r11*8]
lea r8, [r11 + rax*2]
lea rsi, [r8 + r8]
mov rax, rsi
mul r15
mov rsi, rax
mov rax, r10
mov rdi, rdx
mul r14
add rsi, rax
mov rax, r13
adc rdi, rdx
mul r13
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r11
mov r8, rax
mov rax, r10
mov r9, rdx
mul r15
add r8, rax
lea rax, [r14 + r14]
adc r9, rdx
mul r13
add rax, r8
mov r8, rsi
adc rdx, r9
shrd r8, rdi, 0x33
mov r9, rdi
shr r9, 0x33
add rax, r8
adc rdx, r9
mov r8, rax
mov rax, r11
mov r9, rdx
mul r10
mov qword [rsp + 0x110], r8
mov qword [rsp + 0x118], r9
mov r10, rax
mov rax, rcx
mov r11, rdx
mul r13
add r10, rax
mov rax, r14
adc r11, rdx
mul r14
add rax, r10
mov r10, r8
adc rdx, r11
mov r11, r9
shrd r10, r9, 0x33
shr r11, 0x33
add r10, rax
mov rax, rbx
adc r11, rdx
mul r12
mov rbx, r11
mov r8, rax
mov rax, rcx
mov r9, rdx
mov rcx, r10
mul r14
add r8, rax
mov rax, qword [rsp + 0xf0]
adc r9, rdx
mul r13
add r8, rax
adc r9, rdx
shrd rcx, r11, 0x33
shr rbx, 0x33
add rcx, r8
lea r8, [r12 + r12]
mov rdx, rcx
adc rbx, r9
mov rax, r8
and rdx, rbp
mov qword [rsp + 0x50], rdx
mul r13
mov r8, rax
mov rax, qword [rsp + 0xf0]
mov r9, rdx
mul r14
add r8, rax
mov rax, r15
adc r9, rdx
mul r15
add r8, rax
adc r9, rdx
shrd rcx, rbx, 0x33
shr rbx, 0x33
add r8, rcx
adc r9, rbx
mov r12, r8
and r10, rbp
shrd r8, r9, 0x33
and r12, rbp
lea rax, [r8 + r8*8]
lea r8, [r8 + rax*2]
mov rax, rsi
and rax, rbp
add r8, rax
mov rax, qword [rsp + 0x110]
mov r13, r8
shr r8, 0x33
and rax, rbp
and r13, rbp
add r8, rax
mov r14, r8
shr r8, 0x33
and r14, rbp
sub dword [rsp + 0x124], 1
lea r15, [r10 + r8]
jne 0x70d590
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x100]
mov rbx, r12
lea rax, [rsi + rsi*8]
lea rcx, [rsi + rax*2]
lea rax, [rdi + rdi*8]
lea r8, [rdi + rax*2]
mov rax, r8
mul r12
mov r12, r13
mov r8, rax
mov r9, rdx
mov rax, rcx
mul qword [rsp + 0x50]
add r8, rax
mov rax, qword [rsp + 0xc0]
adc r9, rdx
mul r15
add r8, rax
mov rax, qword [rsp + 0xb0]
adc r9, rdx
mul r14
add r8, rax
mov rax, qword [rsp + 0x90]
adc r9, rdx
mov r10, r8
mul r13
mov r11, r9
mov r13, rbx
mov qword [rsp + 0xf0], r13
add r10, rax
mov rax, rcx
adc r11, rdx
mul rbx
mov r8, r10
mov r9, r11
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0xc0]
mul qword [rsp + 0x50]
add rcx, rax
mov rax, qword [rsp + 0xb0]
adc rbx, rdx
mul r15
add rcx, rax
mov rax, qword [rsp + 0x90]
adc rbx, rdx
mul r14
add rcx, rax
mov rax, rdi
adc rbx, rdx
mul r12
add rax, rcx
adc rdx, rbx
shrd r8, r11, 0x33
shr r9, 0x33
add r8, rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], r12
adc r9, rdx
mul r13
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0xb0]
mul qword [rsp + 0x50]
add rcx, rax
mov rax, qword [rsp + 0x90]
adc rbx, rdx
mul r15
add rcx, rax
mov rax, rdi
adc rbx, rdx
mul r14
add rcx, rax
mov rax, rsi
adc rbx, rdx
mul r12
add rax, rcx
mov rcx, r8
adc rdx, rbx
shrd rcx, r9, 0x33
mov rbx, r9
shr rbx, 0x33
add rax, rcx
adc rdx, rbx
mov r12, rax
mov rax, qword [rsp + 0xb0]
mov r13, rdx
mul qword [rsp + 0xf0]
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x90]
mul qword [rsp + 0x50]
add rcx, rax
mov rax, rdi
adc rbx, rdx
mul r15
add rcx, rax
mov rax, rsi
adc rbx, rdx
mul r14
add rcx, rax
mov rax, qword [rsp + 0xd0]
adc rbx, rdx
mul qword [rsp + 0xc0]
mov rsi, rax
mov rdi, rdx
mov rax, r12
mov rdx, r13
add rsi, rcx
mov rcx, r12
adc rdi, rbx
shrd rax, r13, 0x33
shr rdx, 0x33
add rsi, rax
mov rax, rsi
adc rdi, rdx
and rax, rbp
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x90]
mul qword [rsp + 0xf0]
mov r9, qword [rsp + 0xb0]
mov r12, rax
mov r13, rdx
mov rax, qword [rsp + 0x100]
mul qword [rsp + 0x50]
add r12, rax
mov rax, qword [rsp + 0xa0]
adc r13, rdx
mul r15
add r12, rax
mov rax, qword [rsp + 0xd0]
adc r13, rdx
mul r14
add r12, rax
mov rax, qword [rsp + 0xd8]
adc r13, rdx
mul qword [rsp + 0xc0]
add r12, rax
adc r13, rdx
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rsi, r12
lea r12, [r9 + r9]
adc rdi, r13
mov r13, rsi
shrd rsi, rdi, 0x33
and r13, rbp
lea rax, [rsi + rsi*8]
lea rdx, [rsi + rax*2]
mov rax, r10
and rax, rbp
add rdx, rax
mov rax, r8
and rax, rbp
mov r11, rdx
shr rdx, 0x33
add rdx, rax
mov rax, rcx
and r11, rbp
and rax, rbp
mov r8, rdx
shr rdx, 0x33
lea rcx, [rax + rdx]
lea rax, [r13 + r13*8]
and r8, rbp
lea rbx, [r13 + rax*2]
lea r14, [rcx + rcx]
lea r10, [rbx + rbx]
mov rax, r10
mul r8
mov rsi, rax
mov rax, r11
mov rdi, rdx
mul r11
add rsi, rax
lea rax, [r9 + r9*8]
lea r15, [r9 + rax*2]
adc rdi, rdx
lea rax, [r15 + r15]
mul rcx
add rsi, rax
mov qword [rsp + 0x50], rsi
lea rsi, [r8 + r8]
adc rdi, rdx
mov rax, rsi
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0xc0], 9
mul r11
mov rsi, rax
mov rax, r10
mov rdi, rdx
mul rcx
add rsi, rax
mov rax, r15
adc rdi, rdx
mul r9
add rax, rsi
mov rsi, qword [rsp + 0x50]
adc rdx, rdi
mov rdi, qword [rsp + 0x58]
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rax, rsi
adc rdx, rdi
mov rsi, rax
mov rax, r9
mov rdi, rdx
mul r10
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rdi
mov r9, rax
mov rax, r8
mov r10, rdx
mul r8
add r9, rax
mov rax, r14
adc r10, rdx
mul r11
add rax, r9
mov r9, rsi
adc rdx, r10
shrd r9, rdi, 0x33
mov r10, rdi
shr r10, 0x33
add rax, r9
adc rdx, r10
mov r9, rax
mov rax, rbx
mov r10, rdx
mul r13
mov qword [rsp + 0xa0], r9
mov r15, r10
mov qword [rsp + 0xa8], r10
mov rsi, rax
mov rax, r12
mov rdi, rdx
mul r11
add rsi, rax
mov rax, r14
mov r14, r9
adc rdi, rdx
mul r8
add rsi, rax
adc rdi, rdx
shrd r14, r10, 0x33
lea r10, [r13 + r13]
shr r15, 0x33
mov rax, r10
add r14, rsi
adc r15, rdi
mul r11
mov rdi, r14
and rdi, rbp
mov r10, rax
mov rax, r8
mov r11, rdx
mul r12
add r10, rax
mov rax, rcx
adc r11, rdx
mul rcx
add r10, rax
adc r11, rdx
shrd r14, r15, 0x33
shr r15, 0x33
add r10, r14
adc r11, r15
mov rcx, r10
shrd r10, r11, 0x33
and rcx, rbp
lea rax, [r10 + r10*8]
lea r15, [r10 + rax*2]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdi
and rax, rbp
add r15, rax
mov rax, qword [rsp + 0x90]
mov rbx, r15
shr r15, 0x33
and rax, rbp
and rbx, rbp
add r15, rax
mov rax, qword [rsp + 0xa0]
mov r14, r15
shr r15, 0x33
and rax, rbp
and r14, rbp
movabs rbp, 0x7ffffffffffff
add r15, rax
nop dword [rax + rax]
mov r11, qword [rsp + 0x50]
lea rax, [rcx + rcx*8]
lea rdi, [r15 + r15]
lea r9, [rcx + rax*2]
mov qword [rsp + 0xa0], rdi
lea rax, [r11 + r11]
lea r8, [r9 + r9]
mov qword [rsp + 0x90], rax
lea rax, [r11 + r11*8]
lea r10, [r11 + rax*2]
lea rsi, [r10 + r10]
mov rax, rsi
mul r15
mov rsi, rax
mov rax, r8
mov rdi, rdx
mul r14
add rsi, rax
mov rax, rbx
adc rdi, rdx
mul rbx
add rsi, rax
mov rax, r10
adc rdi, rdx
mul r11
mov r10, rax
mov rax, r8
mov r11, rdx
mul r15
add r10, rax
lea rax, [r14 + r14]
adc r11, rdx
mul rbx
add rax, r10
mov r10, rsi
adc rdx, r11
shrd r10, rdi, 0x33
mov r11, rdi
shr r11, 0x33
add rax, r10
mov r12, rax
mov rax, qword [rsp + 0x50]
adc rdx, r11
mov r13, rdx
mov qword [rsp + 0xb0], r12
mul r8
mov qword [rsp + 0xb8], r13
mov r10, rax
mov rax, qword [rsp + 0xa0]
mov r11, rdx
mul rbx
add r10, rax
mov rax, r14
adc r11, rdx
mul r14
add rax, r10
lea r10, [rcx + rcx]
adc rdx, r11
shrd r12, r13, 0x33
shr r13, 0x33
add r12, rax
mov rax, r9
adc r13, rdx
mul rcx
mov r8, rax
mov rax, qword [rsp + 0xa0]
mov r9, rdx
mul r14
add r8, rax
mov rax, qword [rsp + 0x90]
adc r9, rdx
mul rbx
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
mov rdx, r8
and rdx, rbp
mov qword [rsp + 0x50], rdx
mul rbx
mov r10, rax
mov rax, qword [rsp + 0x90]
mov r11, rdx
mul r14
add r10, rax
mov rax, r15
adc r11, rdx
mul r15
add r10, rax
adc r11, rdx
shrd r8, r9, 0x33
shr r9, 0x33
add r10, r8
adc r11, r9
mov rcx, r10
shrd r10, r11, 0x33
and rcx, rbp
lea rax, [r10 + r10*8]
lea r10, [r10 + rax*2]
mov rax, rsi
and rax, rbp
add r10, rax
mov rax, qword [rsp + 0xb0]
mov rbx, r10
shr r10, 0x33
and rax, rbp
and rbx, rbp
lea rsi, [rax + r10]
mov rax, r12
mov r14, rsi
and rax, rbp
shr rsi, 0x33
and r14, rbp
sub dword [rsp + 0xc0], 1
lea r15, [rax + rsi]
jne 0x70dbb0
mov r9, qword [rsp + 0x50]
mov r13, rcx
mov r8, rbx
mov r10, qword [rsp + 0x40]
mov rax, qword [rsp + 0x128]
mov r11, qword [rsp + 0x20]
mov r12, qword [rsp + 0x30]
mul rcx
mov rcx, rax
mov rax, qword [rsp + 0xe0]
mov rbx, rdx
mul r9
add rcx, rax
mov rax, r10
adc rbx, rdx
mul r15
add rcx, rax
mov rax, r11
adc rbx, rdx
mul r14
add rcx, rax
mov rax, r12
adc rbx, rdx
mul r8
mov rsi, rcx
mov rdi, rbx
add rsi, rax
mov rax, qword [rsp + 0xe0]
adc rdi, rdx
mov qword [rsp + 0x50], rsi
mul r13
mov qword [rsp + 0x58], rdi
mov rcx, rax
mov rax, r10
mov rbx, rdx
mov r10, rsi
mul r9
mov rsi, r12
add rcx, rax
mov rax, r11
mov r11, rdi
adc rbx, rdx
mul r15
add rcx, rax
mov rax, r12
adc rbx, rdx
mul r14
add rcx, rax
mov rax, qword [rsp + 0x60]
adc rbx, rdx
mul r8
add rax, rcx
adc rdx, rbx
shrd r10, rdi, 0x33
mov rdi, r9
shr r11, 0x33
add r10, rax
mov rax, qword [rsp + 0x40]
adc r11, rdx
mul r13
mov rcx, rax
mov rax, qword [rsp + 0x20]
mov rbx, rdx
mul r9
mov r9, r11
add rcx, rax
mov rax, r12
mov r12, r8
adc rbx, rdx
mul r15
mov qword [rsp + 0x40], r12
add rcx, rax
mov rax, qword [rsp + 0x60]
adc rbx, rdx
mul r14
add rcx, rax
mov rax, qword [rsp + 0x80]
adc rbx, rdx
mul r8
mov r8, r10
add rax, rcx
adc rdx, rbx
shrd r8, r11, 0x33
shr r9, 0x33
add r8, rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdi
adc r9, rdx
mul r13
mov rcx, rax
mov rax, rsi
mov rbx, rdx
mul rdi
add rcx, rax
mov rax, qword [rsp + 0x60]
adc rbx, rdx
mul r15
add rcx, rax
mov rax, qword [rsp + 0x80]
adc rbx, rdx
mul r14
add rcx, rax
mov rax, qword [rsp + 0x70]
adc rbx, rdx
mul r12
mov rsi, rax
mov rdi, rdx
mov rax, r8
mov rdx, r9
add rsi, rcx
mov rcx, qword [rsp + 0x50]
adc rdi, rbx
shrd rax, r9, 0x33
shr rdx, 0x33
add rsi, rax
mov rax, rsi
adc rdi, rdx
and rax, rbp
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x30]
mov r11, qword [rsp + 0x90]
mul r13
mov r12, rax
mov r13, rdx
mov rax, qword [rsp + 0x60]
mul qword [rsp + 0x20]
add r12, rax
mov rax, qword [rsp + 0x80]
adc r13, rdx
mul r15
add r12, rax
mov rax, qword [rsp + 0x70]
adc r13, rdx
mul r14
add r12, rax
mov rax, qword [rsp + 0xc8]
adc r13, rdx
mul qword [rsp + 0x40]
add r12, rax
adc r13, rdx
shrd rsi, rdi, 0x33
shr rdi, 0x33
add r12, rsi
adc r13, rdi
mov rdi, r12
and rcx, rbp
shrd r12, r13, 0x33
and rdi, rbp
lea rax, [r12 + r12*8]
mov r13, rdi
lea rdx, [r12 + rax*2]
mov rax, r10
add rcx, rdx
and rax, rbp
mov rsi, rcx
shr rcx, 0x33
lea r10, [rax + rcx]
mov rax, r8
and rsi, rbp
and rax, rbp
mov rbx, r10
shr r10, 0x33
mov qword [rsp + 0x20], rsi
lea rcx, [rax + r10]
lea rax, [rdi + rdi*8]
and rbx, rbp
lea rdi, [rdi + rax*2]
lea rax, [r11 + r11*8]
mov r12, rcx
mov r9, rbx
lea rax, [r11 + rax*2]
lea r10, [rdi + rdi]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x50], rax
mov rax, rbx
lea r8, [rcx + rcx]
lea rdi, [r11 + r11]
mul r10
mov qword [rsp + 0x70], r12
mov qword [rsp + 0xc8], r13
mov qword [rsp + 0x60], r9
mov rcx, rax
mov rax, rsi
mov rbx, rdx
mov dword [rsp + 0xb0], 0x31
mul rsi
mov r14, rax
mov rax, qword [rsp + 0x50]
mov r15, rdx
add r14, rcx
lea rcx, [r9 + r9]
adc r15, rbx
add rax, rax
mul r12
add r14, rax
mov rax, rcx
adc r15, rdx
mul rsi
mov rcx, rax
mov rax, r12
mov rbx, rdx
mul r10
add rcx, rax
mov rax, r11
adc rbx, rdx
mul qword [rsp + 0x50]
add rcx, rax
mov rax, r14
adc rbx, rdx
shrd rax, r15, 0x33
mov rdx, r15
shr rdx, 0x33
add rcx, rax
mov rax, r10
adc rbx, rdx
mul r11
mov r10, rax
mov rax, r9
mov r11, rdx
mul r9
add r10, rax
mov rax, rsi
adc r11, rdx
mul r8
add r10, rax
mov rax, rcx
adc r11, rdx
shrd rax, rbx, 0x33
mov rdx, rbx
shr rdx, 0x33
add r10, rax
mov rax, r13
adc r11, rdx
mul qword [rsp + 0x30]
mov r12, rax
mov rax, rsi
mov r13, rdx
mul rdi
add r12, rax
mov rax, r8
adc r13, rdx
mul r9
mov r8, rax
mov r9, rdx
mov rax, r10
mov rdx, r11
add r8, r12
adc r9, r13
shrd rax, r11, 0x33
mov r13, qword [rsp + 0xc8]
shr rdx, 0x33
add r8, rax
mov rax, r8
adc r9, rdx
add r13, r13
and rax, rbp
mov qword [rsp + 0x40], rax
mov rax, r13
mul rsi
mov r12, rax
mov r13, rdx
mov rax, rdi
mul qword [rsp + 0x60]
mov rsi, r12
mov r12, qword [rsp + 0x70]
mov rdi, r13
add rsi, rax
mov rax, r12
adc rdi, rdx
mul r12
add rsi, rax
adc rdi, rdx
shrd r8, r9, 0x33
shr r9, 0x33
add rsi, r8
adc rdi, r9
mov r13, rsi
and r14, rbp
and rcx, rbp
shrd rsi, rdi, 0x33
and r10, rbp
and r13, rbp
lea rax, [rsi + rsi*8]
lea rdx, [rsi + rax*2]
add r14, rdx
mov r15, r14
shr r14, 0x33
add rcx, r14
and r15, rbp
mov r14, rcx
shr rcx, 0x33
and r14, rbp
lea r12, [r10 + rcx]
movabs rbp, 0x7ffffffffffff
nop dword [rax + rax]
mov r11, qword [rsp + 0x40]
lea rax, [r13 + r13*8]
lea rcx, [r12 + r12]
lea rbx, [r13 + rax*2]
lea rax, [r11 + r11]
lea r10, [rbx + rbx]
mov qword [rsp + 0x80], rax
lea rax, [r11 + r11*8]
lea r8, [r11 + rax*2]
lea rsi, [r8 + r8]
mov rax, rsi
mul r12
mov rsi, rax
mov rax, r10
mov rdi, rdx
mul r14
add rsi, rax
mov rax, r15
adc rdi, rdx
mul r15
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r11
mov r8, rax
mov rax, r10
mov r9, rdx
mul r12
add r8, rax
lea rax, [r14 + r14]
adc r9, rdx
mul r15
add rax, r8
mov r8, rsi
adc rdx, r9
shrd r8, rdi, 0x33
mov r9, rdi
shr r9, 0x33
add rax, r8
adc rdx, r9
mov r8, rax
mov rax, r11
mov r9, rdx
mul r10
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0xa8], r9
mov r10, rax
mov rax, rcx
mov r11, rdx
mul r15
add r10, rax
mov rax, r14
adc r11, rdx
mul r14
add rax, r10
mov r10, r8
adc rdx, r11
mov r11, r9
shrd r10, r9, 0x33
shr r11, 0x33
add r10, rax
mov rax, rbx
adc r11, rdx
mul r13
mov rbx, r11
mov r8, rax
mov rax, rcx
mov r9, rdx
mov rcx, r10
mul r14
add r8, rax
mov rax, qword [rsp + 0x80]
adc r9, rdx
mul r15
add r8, rax
adc r9, rdx
shrd rcx, r11, 0x33
shr rbx, 0x33
add rcx, r8
lea r8, [r13 + r13]
mov rdx, rcx
adc rbx, r9
mov rax, r8
and rdx, rbp
mov qword [rsp + 0x40], rdx
mul r15
mov r8, rax
mov rax, qword [rsp + 0x80]
mov r9, rdx
mul r14
add r8, rax
mov rax, r12
adc r9, rdx
mul r12
add r8, rax
adc r9, rdx
shrd rcx, rbx, 0x33
shr rbx, 0x33
add r8, rcx
adc r9, rbx
mov r13, r8
and r10, rbp
shrd r8, r9, 0x33
and r13, rbp
lea rax, [r8 + r8*8]
lea r8, [r8 + rax*2]
mov rax, rsi
and rax, rbp
add r8, rax
mov rax, qword [rsp + 0xa0]
mov r15, r8
shr r8, 0x33
and rax, rbp
and r15, rbp
add r8, rax
mov r14, r8
shr r8, 0x33
and r14, rbp
sub dword [rsp + 0xb0], 1
lea r12, [r10 + r8]
jne 0x70e1a0
mov r8, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x60]
mov rsi, r13
mov r13, r12
mov r9, qword [rsp + 0x20]
mov qword [rsp + 0xa0], r13
lea rax, [r8 + r8*8]
lea r11, [r8 + rax*2]
lea rax, [rdi + rdi*8]
lea rbx, [rdi + rax*2]
mov rax, rsi
mov qword [rsp + 0xf0], r11
mul rbx
mov qword [rsp + 0x128], rbx
mov rcx, rax
mov rbx, rdx
mov rax, r11
mul qword [rsp + 0x40]
add rcx, rax
mov rax, qword [rsp + 0x50]
adc rbx, rdx
mul r12
mov r12, rsi
mov qword [rsp + 0x80], r12
add rcx, rax
mov rax, qword [rsp + 0x30]
adc rbx, rdx
mul r14
add rcx, rax
mov rax, r9
adc rbx, rdx
mul r15
mov r10, rcx
mov r11, rbx
add r10, rax
mov rax, rsi
adc r11, rdx
mul qword [rsp + 0xf0]
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x50]
mul qword [rsp + 0x40]
add rcx, rax
mov rax, qword [rsp + 0x30]
adc rbx, rdx
mul r13
add rcx, rax
mov rax, r9
mov r9, rdi
adc rbx, rdx
mul r14
add rcx, rax
mov rax, rdi
adc rbx, rdx
mul r15
add rax, rcx
mov rcx, r10
adc rdx, rbx
shrd rcx, r11, 0x33
mov rbx, r11
shr rbx, 0x33
add rax, rcx
mov rsi, rax
mov rax, qword [rsp + 0x50]
adc rdx, rbx
mov rdi, rdx
mov qword [rsp + 0xb0], rsi
mul r12
mov r12, r8
mov qword [rsp + 0xb8], rdi
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x30]
mul qword [rsp + 0x40]
add rcx, rax
mov rax, qword [rsp + 0x20]
adc rbx, rdx
mul r13
mov r13, r9
add rcx, rax
mov rax, r9
mov r9, rdi
adc rbx, rdx
mul r14
add rcx, rax
mov rax, r8
mov r8, rsi
adc rbx, rdx
mul r15
add rax, rcx
adc rdx, rbx
shrd r8, rdi, 0x33
shr r9, 0x33
add r8, rax
mov rax, qword [rsp + 0x30]
adc r9, rdx
mul qword [rsp + 0x80]
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x20]
mul qword [rsp + 0x40]
mov rsi, rax
mov rdi, rdx
mov rax, r13
add rsi, rcx
mov rcx, r12
adc rdi, rbx
mul qword [rsp + 0xa0]
mov rbx, r13
add rsi, rax
mov rax, r12
adc rdi, rdx
mul r14
add rsi, rax
mov rax, qword [rsp + 0x90]
adc rdi, rdx
mul r15
add rsi, rax
mov rax, r8
adc rdi, rdx
shrd rax, r9, 0x33
mov rdx, r9
shr rdx, 0x33
add rsi, rax
mov rax, rsi
adc rdi, rdx
and rax, rbp
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x80]
mul qword [rsp + 0x20]
mov r12, rax
mov rax, qword [rsp + 0x40]
mov r13, rdx
mul rbx
add r12, rax
mov rax, qword [rsp + 0xa0]
adc r13, rdx
mul rcx
mov rcx, r10
add r12, rax
mov rax, r14
adc r13, rdx
mul qword [rsp + 0x90]
add r12, rax
mov rax, r15
adc r13, rdx
mul qword [rsp + 0xc8]
mov r11, qword [rsp + 0xd0]
mov dword [rsp + 0x124], 0x63
lea r9, [r11 + r11]
add r12, rax
adc r13, rdx
shrd rsi, rdi, 0x33
shr rdi, 0x33
add r12, rsi
adc r13, rdi
mov r15, r12
and rcx, rbp
shrd r12, r13, 0x33
and r15, rbp
lea rax, [r12 + r12*8]
mov qword [rsp + 0xd8], r15
lea rdx, [r12 + rax*2]
mov rax, qword [rsp + 0xb0]
add rcx, rdx
and rax, rbp
mov rdi, rcx
shr rcx, 0x33
add rcx, rax
mov rax, r8
and rdi, rbp
and rax, rbp
mov rbx, rcx
shr rcx, 0x33
mov qword [rsp + 0x80], rdi
lea rsi, [rax + rcx]
lea rax, [r15 + r15*8]
and rbx, rbp
lea rcx, [r15 + rax*2]
lea rax, [r11 + r11*8]
mov r14, rsi
mov qword [rsp + 0x100], rbx
lea r10, [rcx + rcx]
lea r13, [r11 + rax*2]
mov rax, rbx
mov qword [rsp + 0xb0], rcx
mul r10
lea r8, [rsi + rsi]
mov rsi, rbx
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xc0], r13
mov rcx, rax
mov rax, rdi
mov rbx, rdx
mul rdi
add rcx, rax
lea rax, [r13 + r13]
adc rbx, rdx
mul r14
lea r14, [rsi + rsi]
add rcx, rax
mov rax, r14
adc rbx, rdx
mul rdi
mov r12, rcx
mov r13, rbx
mov rbx, rsi
mov r14, rax
mov rax, qword [rsp + 0xa0]
mov r15, rdx
mul r10
add r14, rax
mov rax, r11
adc r15, rdx
mul qword [rsp + 0xc0]
add r14, rax
mov rax, rcx
adc r15, rdx
shrd rax, r13, 0x33
mov rdx, r13
shr rdx, 0x33
add r14, rax
mov rax, r10
adc r15, rdx
mul r11
mov qword [rsp + 0xe0], r14
mov r14, rsi
mov qword [rsp + 0xe8], r15
mov r15, rdi
mov r10, rax
mov rax, rsi
mov r11, rdx
mul rsi
add r10, rax
mov rax, rdi
adc r11, rdx
mul r8
add r10, rax
mov rax, qword [rsp + 0xe0]
adc r11, rdx
mov rdx, qword [rsp + 0xe8]
shrd rax, rdx, 0x33
shr rdx, 0x33
add r10, rax
mov rax, qword [rsp + 0xd8]
adc r11, rdx
mul qword [rsp + 0xb0]
mov rsi, rax
mov rax, r15
mov rdi, rdx
mul r9
add rsi, rax
mov rax, r8
adc rdi, rdx
mul rbx
mov rcx, rax
mov rbx, rdx
mov rax, r10
mov rdx, r11
add rcx, rsi
adc rbx, rdi
shrd rax, r11, 0x33
shr rdx, 0x33
add rcx, rax
mov rax, qword [rsp + 0xd8]
mov rdi, rcx
adc rbx, rdx
and rdi, rbp
mov qword [rsp + 0x40], rdi
lea rdi, [rax + rax]
mov rax, rdi
mul r15
mov rsi, rax
mov rax, r9
mov rdi, rdx
mul r14
mov r14, qword [rsp + 0xa0]
add rsi, rax
mov rax, r14
adc rdi, rdx
mul r14
mov r8, rsi
mov r14, qword [rsp + 0xe0]
mov r9, rdi
add r8, rax
adc r9, rdx
shrd rcx, rbx, 0x33
shr rbx, 0x33
add r8, rcx
mov rcx, r12
adc r9, rbx
mov rbx, r8
and rcx, rbp
and r14, rbp
shrd r8, r9, 0x33
and rbx, rbp
and r10, rbp
lea rax, [r8 + r8*8]
lea r15, [r8 + rax*2]
lea r12, [r15 + rcx]
mov r13, r12
shr r12, 0x33
add r12, r14
and r13, rbp
mov r14, r12
shr r12, 0x33
and r14, rbp
lea r15, [r10 + r12]
mov r12, rbx
movabs rbp, 0x7ffffffffffff
nop dword [rax]
mov r11, qword [rsp + 0x40]
lea rax, [r12 + r12*8]
lea rcx, [r15 + r15]
lea rbx, [r12 + rax*2]
lea rax, [r11 + r11]
lea r10, [rbx + rbx]
mov qword [rsp + 0xe0], rax
lea rax, [r11 + r11*8]
lea r8, [r11 + rax*2]
lea rsi, [r8 + r8]
mov rax, rsi
mul r15
mov rsi, rax
mov rax, r10
mov rdi, rdx
mul r14
add rsi, rax
mov rax, r13
adc rdi, rdx
mul r13
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r11
mov r8, rax
mov rax, r10
mov r9, rdx
mul r15
add r8, rax
lea rax, [r14 + r14]
adc r9, rdx
mul r13
add rax, r8
mov r8, rsi
adc rdx, r9
shrd r8, rdi, 0x33
mov r9, rdi
shr r9, 0x33
add rax, r8
adc rdx, r9
mov r8, rax
mov rax, r11
mov r9, rdx
mul r10
mov qword [rsp + 0x110], r8
mov qword [rsp + 0x118], r9
mov r10, rax
mov rax, rcx
mov r11, rdx
mul r13
add r10, rax
mov rax, r14
adc r11, rdx
mul r14
add rax, r10
mov r10, r8
adc rdx, r11
mov r11, r9
shrd r10, r9, 0x33
shr r11, 0x33
add r10, rax
mov rax, rbx
adc r11, rdx
mul r12
mov rbx, r11
mov r8, rax
mov rax, rcx
mov r9, rdx
mov rcx, r10
mul r14
add r8, rax
mov rax, qword [rsp + 0xe0]
adc r9, rdx
mul r13
add r8, rax
adc r9, rdx
shrd rcx, r11, 0x33
shr rbx, 0x33
add rcx, r8
lea r8, [r12 + r12]
mov rdx, rcx
adc rbx, r9
mov rax, r8
and rdx, rbp
mov qword [rsp + 0x40], rdx
mul r13
mov r8, rax
mov rax, qword [rsp + 0xe0]
mov r9, rdx
mul r14
add r8, rax
mov rax, r15
adc r9, rdx
mul r15
add r8, rax
adc r9, rdx
shrd rcx, rbx, 0x33
shr rbx, 0x33
add r8, rcx
adc r9, rbx
mov r12, r8
and r10, rbp
shrd r8, r9, 0x33
and r12, rbp
lea rax, [r8 + r8*8]
lea r8, [r8 + rax*2]
mov rax, rsi
and rax, rbp
add r8, rax
mov rax, qword [rsp + 0x110]
mov r13, r8
shr r8, 0x33
and rax, rbp
and r13, rbp
add r8, rax
mov r14, r8
shr r8, 0x33
and r14, rbp
sub dword [rsp + 0x124], 1
lea r15, [r10 + r8]
jne 0x70e810
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x100]
mov rbx, r12
lea rax, [rsi + rsi*8]
lea rcx, [rsi + rax*2]
lea rax, [rdi + rdi*8]
lea r8, [rdi + rax*2]
mov rax, r8
mul r12
mov r12, r13
mov r8, rax
mov r9, rdx
mov rax, rcx
mul qword [rsp + 0x40]
add r8, rax
mov rax, qword [rsp + 0xc0]
adc r9, rdx
mul r15
add r8, rax
mov rax, qword [rsp + 0xb0]
adc r9, rdx
mul r14
add r8, rax
mov rax, qword [rsp + 0x80]
adc r9, rdx
mov r10, r8
mul r13
mov r11, r9
mov r13, rbx
mov qword [rsp + 0xe0], r13
add r10, rax
mov rax, rcx
adc r11, rdx
mul rbx
mov r8, r10
mov r9, r11
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0xc0]
mul qword [rsp + 0x40]
add rcx, rax
mov rax, qword [rsp + 0xb0]
adc rbx, rdx
mul r15
add rcx, rax
mov rax, qword [rsp + 0x80]
adc rbx, rdx
mul r14
add rcx, rax
mov rax, rdi
adc rbx, rdx
mul r12
add rax, rcx
adc rdx, rbx
shrd r8, r11, 0x33
shr r9, 0x33
add r8, rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], r12
adc r9, rdx
mul r13
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0xb0]
mul qword [rsp + 0x40]
add rcx, rax
mov rax, qword [rsp + 0x80]
adc rbx, rdx
mul r15
add rcx, rax
mov rax, rdi
adc rbx, rdx
mul r14
add rcx, rax
mov rax, rsi
adc rbx, rdx
mul r12
add rax, rcx
mov rcx, r8
adc rdx, rbx
shrd rcx, r9, 0x33
mov rbx, r9
shr rbx, 0x33
add rax, rcx
adc rdx, rbx
mov r12, rax
mov rax, qword [rsp + 0xb0]
mov r13, rdx
mul qword [rsp + 0xe0]
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x80]
mul qword [rsp + 0x40]
add rcx, rax
mov rax, rdi
adc rbx, rdx
mul r15
add rcx, rax
mov rax, rsi
adc rbx, rdx
mul r14
add rcx, rax
mov rax, qword [rsp + 0xd0]
adc rbx, rdx
mul qword [rsp + 0xc0]
mov rsi, rax
mov rdi, rdx
mov rax, r12
mov rdx, r13
add rsi, rcx
mov rcx, r12
adc rdi, rbx
shrd rax, r13, 0x33
shr rdx, 0x33
add rsi, rax
mov rax, rsi
adc rdi, rdx
and rax, rbp
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x80]
mul qword [rsp + 0xe0]
mov r9, qword [rsp + 0xb0]
mov r12, rax
mov r13, rdx
mov rax, qword [rsp + 0x100]
mul qword [rsp + 0x40]
add r12, rax
mov rax, qword [rsp + 0xa0]
adc r13, rdx
mul r15
add r12, rax
mov rax, qword [rsp + 0xd0]
adc r13, rdx
mul r14
add r12, rax
mov rax, qword [rsp + 0xd8]
adc r13, rdx
mul qword [rsp + 0xc0]
add r12, rax
adc r13, rdx
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rsi, r12
adc rdi, r13
mov r12, rsi
lea r13, [r9 + r9]
shrd rsi, rdi, 0x33
and r12, rbp
lea rax, [rsi + rsi*8]
lea rdx, [rsi + rax*2]
mov rax, r10
and rax, rbp
add rdx, rax
mov rax, r8
and rax, rbp
mov r10, rdx
shr rdx, 0x33
add rdx, rax
mov rax, rcx
and r10, rbp
and rax, rbp
mov r8, rdx
shr rdx, 0x33
lea rcx, [rax + rdx]
lea rax, [r12 + r12*8]
and r8, rbp
lea r14, [r12 + rax*2]
lea r15, [rcx + rcx]
lea r11, [r14 + r14]
mov rax, r11
mul r8
mov rsi, rax
mov rax, r10
mov rdi, rdx
mul r10
add rsi, rax
lea rax, [r9 + r9*8]
lea rbx, [r9 + rax*2]
adc rdi, rdx
lea rax, [rbx + rbx]
mul rcx
add rsi, rax
mov qword [rsp + 0x40], rsi
lea rsi, [r8 + r8]
adc rdi, rdx
mov rax, rsi
mov qword [rsp + 0x48], rdi
mul r10
mov rsi, rax
mov rax, r11
mov rdi, rdx
mul rcx
add rsi, rax
mov rax, rbx
adc rdi, rdx
mul r9
add rax, rsi
mov rsi, qword [rsp + 0x40]
adc rdx, rdi
mov rdi, qword [rsp + 0x48]
shrd rsi, rdi, 0x33
shr rdi, 0x33
add rax, rsi
adc rdx, rdi
mov qword [rsp + 0x80], rax
mov rax, r9
mov rbx, qword [rsp + 0x80]
mov qword [rsp + 0x88], rdx
mul r11
mov r11, r15
mov rsi, rax
mov rax, r8
mov rdi, rdx
mul r8
add rsi, rax
mov rax, r15
adc rdi, rdx
mul r10
add rax, rsi
mov rsi, qword [rsp + 0x88]
adc rdx, rdi
shrd rbx, rsi, 0x33
shr rsi, 0x33
mov rdi, rsi
mov rsi, rbx
add rsi, rax
mov rax, r14
adc rdi, rdx
mul r12
mov r14, rax
mov rax, r13
mov r15, rdx
mul r10
add r14, rax
mov rax, r11
adc r15, rdx
mul r8
add r14, rax
mov rax, rsi
adc r15, rdx
shrd rax, rdi, 0x33
mov rdx, rdi
shr rdx, 0x33
add r14, rax
adc r15, rdx
mov rdx, r14
add r12, r12
and rdx, rbp
mov rax, r12
mov r9, rdx
mul r10
mov r10, rax
mov rax, r8
mov r11, rdx
mul r13
add r10, rax
mov rax, rcx
adc r11, rdx
mul rcx
mov ecx, 0x31
mov dword [rsp + 0xb0], ecx
add r10, rax
adc r11, rdx
shrd r14, r15, 0x33
shr r15, 0x33
add r10, r14
adc r11, r15
mov r15, r10
and rsi, rbp
shrd r10, r11, 0x33
and r15, rbp
lea rax, [r10 + r10*8]
lea r14, [r10 + rax*2]
mov rax, qword [rsp + 0x40]
and rax, rbp
add r14, rax
mov rax, qword [rsp + 0x80]
mov rdx, r14
shr r14, 0x33
and rax, rbp
and rdx, rbp
add r14, rax
mov rax, r14
shr r14, 0x33
lea rdi, [rsi + r14]
and rax, rbp
mov r14, rdx
movabs rbp, 0x7ffffffffffff
mov qword [rsp + 0x40], rdi
mov rsi, rax
mov rdi, r9
nop dword [rax]
lea rax, [r15 + r15*8]
mov r9, qword [rsp + 0x40]
lea r10, [r15 + rax*2]
lea rax, [rdi + rdi]
mov qword [rsp + 0x80], rax
lea rax, [rdi + rdi*8]
lea r8, [r10 + r10]
lea rcx, [rdi + rax*2]
lea r11, [r9 + r9]
lea r12, [rcx + rcx]
mov rax, r12
mul r9
mov r12, rax
mov rax, r8
mov r13, rdx
mul rsi
add r12, rax
mov rax, r14
adc r13, rdx
mul r14
add r12, rax
mov rax, rcx
adc r13, rdx
mul rdi
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0xa8], r13
mov rcx, rax
mov rax, r9
mov rbx, rdx
mul r8
add rcx, rax
lea rax, [rsi + rsi]
adc rbx, rdx
mul r14
add rcx, rax
mov rax, r12
adc rbx, rdx
shrd rax, r13, 0x33
mov rdx, r13
shr rdx, 0x33
add rcx, rax
mov rax, rdi
adc rbx, rdx
mul r8
mov r8, rax
mov rax, r11
mov r9, rdx
mul r14
add r8, rax
mov rax, rsi
adc r9, rdx
mul rsi
add r8, rax
mov rax, rcx
adc r9, rdx
shrd rax, rbx, 0x33
mov rdx, rbx
shr rdx, 0x33
add r8, rax
mov rax, r10
adc r9, rdx
mul r15
mov r12, rax
mov rax, r11
mov r13, rdx
mul rsi
mov r10, rax
mov rax, qword [rsp + 0x80]
mov r11, rdx
add r10, r12
lea r12, [r15 + r15]
adc r11, r13
mul r14
add r10, rax
mov rax, r8
adc r11, rdx
shrd rax, r9, 0x33
mov rdx, r9
shr rdx, 0x33
add r10, rax
mov rax, r12
adc r11, rdx
mul r14
mov rdi, r10
and rdi, rbp
mov r12, rax
mov rax, qword [rsp + 0x80]
mov r13, rdx
mul rsi
mov rsi, qword [rsp + 0x40]
add r12, rax
mov rax, rsi
adc r13, rdx
mul rsi
add r12, rax
adc r13, rdx
shrd r10, r11, 0x33
shr r11, 0x33
add r12, r10
adc r13, r11
mov r15, r12
and rcx, rbp
and r8, rbp
shrd r12, r13, 0x33
and r15, rbp
lea rax, [r12 + r12*8]
lea rdx, [r12 + rax*2]
mov r12, qword [rsp + 0xa0]
and r12, rbp
add r12, rdx
mov r14, r12
shr r12, 0x33
add r12, rcx
and r14, rbp
mov rsi, r12
shr r12, 0x33
and rsi, rbp
sub dword [rsp + 0xb0], 1
lea rax, [r8 + r12]
mov qword [rsp + 0x40], rax
jne 0x70ee28
mov r10, rdi
mov r12, qword [rsp + 0x50]
mov r11, rsi
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x128]
mov r9, qword [rsp + 0xf0]
mov rdi, r15
mov qword [rsp + 0x80], r10
mov r13, qword [rsp + 0x30]
mov r8, qword [rsp + 0x20]
mul r15
mov r15, r11
mov rcx, rax
mov rax, r9
mov rbx, rdx
mul r10
add rcx, rax
mov rax, r12
adc rbx, rdx
mul rsi
add rcx, rax
mov rax, r13
adc rbx, rdx
mul r11
add rcx, rax
mov rax, r8
adc rbx, rdx
mul r14
add rcx, rax
mov rax, r9
mov r9, qword [rsp + 0x60]
adc rbx, rdx
mul rdi
mov r10, rcx
mov r11, rbx
mov rcx, rax
mov rbx, rdx
mov rax, r12
mul qword [rsp + 0x80]
add rcx, rax
mov rax, r13
adc rbx, rdx
mul rsi
add rcx, rax
mov rax, r8
adc rbx, rdx
mul r15
add rcx, rax
mov rax, r9
adc rbx, rdx
mul r14
add rax, rcx
mov rcx, r10
adc rdx, rbx
shrd rcx, r11, 0x33
mov rbx, r11
shr rbx, 0x33
add rax, rcx
mov qword [rsp + 0x40], rax
adc rdx, rbx
mov rax, r12
mov r12, r9
mov qword [rsp + 0x48], rdx
mul rdi
mov rcx, rax
mov rbx, rdx
mov rax, r13
mov r13, r14
mul qword [rsp + 0x80]
add rcx, rax
mov rax, r8
adc rbx, rdx
mul rsi
add rcx, rax
mov rax, r9
mov r9, r15
adc rbx, rdx
mul r15
mov r15, qword [rsp + 0x48]
add rcx, rax
mov rax, qword [rsp + 0x70]
adc rbx, rdx
mul r14
mov r14, qword [rsp + 0x40]
add rax, rcx
adc rdx, rbx
shrd r14, r15, 0x33
shr r15, 0x33
add r14, rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], r13
adc r15, rdx
mul rdi
mov rcx, rax
mov rbx, rdx
mov rax, r8
mov r8, r9
mul qword [rsp + 0x80]
add rcx, rax
mov rax, r12
adc rbx, rdx
mul rsi
add rcx, rax
mov rax, qword [rsp + 0x70]
adc rbx, rdx
mul r9
add rcx, rax
mov rax, qword [rsp + 0x90]
adc rbx, rdx
mul r13
mov r12, rax
mov r13, rdx
mov rax, r14
mov rdx, r15
add r12, rcx
adc r13, rbx
shrd rax, r15, 0x33
shr rdx, 0x33
add r12, rax
mov rax, qword [rsp + 0x20]
adc r13, rdx
mov r9, r12
mul rdi
and r9, rbp
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x60]
mul qword [rsp + 0x80]
add rcx, rax
mov rax, qword [rsp + 0x70]
adc rbx, rdx
mul rsi
add rcx, rax
mov rax, qword [rsp + 0x90]
adc rbx, rdx
mul r8
add rcx, rax
mov rax, qword [rsp + 0xc8]
adc rbx, rdx
mul qword [rsp + 0x30]
add rcx, rax
adc rbx, rdx
shrd r12, r13, 0x33
shr r13, 0x33
add rcx, r12
adc rbx, r13
mov r8, rcx
shrd rcx, rbx, 0x33
and r8, rbp
lea rax, [rcx + rcx*8]
lea r12, [rcx + rax*2]
mov rcx, r10
mov rax, qword [rsp + 0x40]
and rcx, rbp
add rcx, r12
and rax, rbp
mov r12, r14
mov r10, rcx
shr rcx, 0x33
and r12, rbp
lea r11, [rax + rcx]
lea rax, [r8 + r8*8]
and r10, rbp
lea r13, [r8 + rax*2]
mov rcx, r11
shr r11, 0x33
lea rax, [r9 + r9]
add r12, r11
lea r11, [r13 + r13]
and rcx, rbp
mov qword [rsp + 0x20], rax
mov rax, r11
mul rcx
mov rsi, rax
mov rax, r10
mov rdi, rdx
mul r10
add rsi, rax
lea rax, [r9 + r9*8]
lea rbx, [r9 + rax*2]
adc rdi, rdx
lea rax, [rbx + rbx]
mul r12
add rsi, rax
mov r14, rsi
lea rsi, [rcx + rcx]
adc rdi, rdx
mov rax, rsi
mov r15, rdi
mov qword [rsp + 0x30], r14
mul r10
mov rsi, rax
mov rax, r11
mov rdi, rdx
mul r12
add rsi, rax
mov rax, rbx
adc rdi, rdx
mul r9
add rax, rsi
mov rsi, r14
adc rdx, rdi
shrd rsi, r15, 0x33
mov rdi, r15
shr rdi, 0x33
add rax, rsi
adc rdx, rdi
mov r14, rax
mov rax, r9
mov r15, rdx
mul r11
lea r11, [r12 + r12]
mov rbx, r14
mov qword [rsp + 0x40], r14
mov rsi, rax
mov rax, rcx
mov rdi, rdx
mul rcx
add rsi, rax
mov rax, r11
adc rdi, rdx
mul r10
add rax, rsi
mov rsi, r15
adc rdx, rdi
shrd rbx, r15, 0x33
shr rsi, 0x33
mov r14, rbx
add r14, rax
mov r15, rsi
mov rax, r13
mov r13, qword [rsp + 0x20]
adc r15, rdx
mul r8
mov rsi, rax
mov rax, r13
mov rdi, rdx
mul r10
add rsi, rax
mov rax, r11
adc rdi, rdx
mul rcx
add rsi, rax
mov rax, r14
adc rdi, rdx
shrd rax, r15, 0x33
mov rdx, r15
shr rdx, 0x33
add rsi, rax
adc rdi, rdx
add r8, r8
mov r9, rsi
mov rax, r8
and r9, rbp
mul r10
mov r10, rax
mov rax, r13
mov r11, rdx
mul rcx
add r10, rax
mov rax, r12
adc r11, rdx
mul r12
add r10, rax
adc r11, rdx
shrd rsi, rdi, 0x33
shr rdi, 0x33
add r10, rsi
mov rsi, qword [rsp + 0x30]
adc r11, rdi
mov r8, r10
shrd r10, r11, 0x33
and rsi, rbp
and r8, rbp
lea rax, [r10 + r10*8]
lea rdx, [r10 + rax*2]
mov rax, qword [rsp + 0x40]
add rdx, rsi
and rax, rbp
mov r10, rdx
shr rdx, 0x33
add rdx, rax
mov rax, r14
and r10, rbp
and rax, rbp
mov rcx, rdx
shr rdx, 0x33
lea r12, [rax + rdx]
lea rax, [r8 + r8*8]
and rcx, rbp
lea r13, [r8 + rax*2]
lea rax, [r9 + r9]
lea r11, [r13 + r13]
mov qword [rsp + 0x20], rax
mov rax, r11
mul rcx
mov rsi, rax
mov rax, r10
mov rdi, rdx
mul r10
add rsi, rax
lea rax, [r9 + r9*8]
lea rbx, [r9 + rax*2]
adc rdi, rdx
lea rax, [rbx + rbx]
mul r12
add rsi, rax
mov r14, rsi
lea rsi, [rcx + rcx]
adc rdi, rdx
mov rax, rsi
mov r15, rdi
mov qword [rsp + 0x30], r14
mul r10
mov rsi, rax
mov rax, r11
mov rdi, rdx
mul r12
add rsi, rax
mov rax, rbx
adc rdi, rdx
mul r9
add rax, rsi
mov rsi, r14
adc rdx, rdi
shrd rsi, r15, 0x33
mov rdi, r15
shr rdi, 0x33
add rax, rsi
adc rdx, rdi
mov r14, rax
mov rax, r9
mov r9, qword [rsp + 0x20]
mov r15, rdx
mul r11
lea r11, [r12 + r12]
mov rbx, r14
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r15
mov rsi, rax
mov rax, rcx
mov rdi, rdx
mul rcx
add rsi, rax
mov rax, r11
adc rdi, rdx
mul r10
add rax, rsi
mov rsi, r15
adc rdx, rdi
shrd rbx, r15, 0x33
shr rsi, 0x33
mov r14, rbx
add r14, rax
mov r15, rsi
mov rax, r13
adc r15, rdx
mul r8
mov rsi, rax
mov rax, r9
mov rdi, rdx
mul r10
add rsi, rax
mov rax, r11
adc rdi, rdx
mul rcx
add rax, rsi
mov rsi, r14
adc rdx, rdi
mov rdi, r15
shrd rsi, r15, 0x33
shr rdi, 0x33
add rsi, rax
mov rax, rsi
adc rdi, rdx
add r8, r8
and rax, rbp
mov qword [rsp + 0x20], rax
mov rax, r8
mov r15, qword [rsp + 0x20]
mul r10
mov r10, rax
mov rax, r9
mov r11, rdx
mul rcx
mov rcx, qword [rsp + 0x1d8]
add r10, rax
mov rax, r12
adc r11, rdx
mul r12
add r10, rax
adc r11, rdx
shrd rsi, rdi, 0x33
shr rdi, 0x33
add r10, rsi
mov rsi, qword [rsp + 0x30]
adc r11, rdi
mov rax, r10
mov rdi, qword [rsp + 0x1f0]
shrd r10, r11, 0x33
and rax, rbp
and rsi, rbp
mov rbx, rax
lea rax, [r10 + r10*8]
lea rdx, [r10 + rax*2]
mov rax, qword [rsp + 0x40]
add rdx, rsi
and rax, rbp
mov r12, rdx
shr rdx, 0x33
add rdx, rax
mov rax, r14
and r12, rbp
and rax, rbp
mov r13, rdx
shr rdx, 0x33
lea r14, [rax + rdx]
mov rax, qword [rsp + 0x1f0]
and r13, rbp
lea rax, [rax + rax*8]
lea r8, [rdi + rax*2]
mov rax, qword [rsp + 0x1e8]
mov rdi, qword [rsp + 0x1e8]
lea rax, [rax + rax*8]
lea r9, [rdi + rax*2]
mov rax, qword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x1e0]
lea rax, [rax + rax*8]
lea r10, [rdi + rax*2]
lea rax, [rcx + rcx*8]
lea rsi, [rcx + rax*2]
mov rax, rsi
mul rbx
mov rsi, rax
mov rax, r10
mov rdi, rdx
mul r15
add rsi, rax
mov rax, r12
adc rdi, rdx
mul qword [rsp + 0x1d0]
add rsi, rax
mov rax, r8
adc rdi, rdx
mul r13
add rsi, rax
mov rax, r9
adc rdi, rdx
mul r14
add rsi, rax
mov rax, r10
adc rdi, rdx
mul rbx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], rdi
mov r10, rax
mov rax, r9
mov r11, rdx
mul r15
add r10, rax
mov rax, rcx
adc r11, rdx
mul r12
add r10, rax
mov rax, r13
adc r11, rdx
mul qword [rsp + 0x1d0]
add r10, rax
mov rax, r8
adc r11, rdx
mul r14
add rax, r10
adc rdx, r11
shrd rsi, rdi, 0x33
xor r11d, r11d
add rax, rsi
adc rdx, r11
mov rsi, rax
mov rax, r9
mov rdi, rdx
mul rbx
mov r9, rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rdi
mov r10, rax
mov rax, r8
mov r11, rdx
mul r15
add r10, rax
mov rax, r12
adc r11, rdx
mul qword [rsp + 0x1e0]
add r10, rax
mov rax, r13
adc r11, rdx
mul rcx
add r10, rax
mov rax, r14
adc r11, rdx
mul qword [rsp + 0x1d0]
add rax, r10
adc rdx, r11
shrd r9, rdi, 0x33
xor r11d, r11d
add rax, r9
adc rdx, r11
mov rsi, rax
mov rax, r8
mov rdi, rdx
mul rbx
mov r8, rax
mov r9, rdx
mov rax, r15
mul qword [rsp + 0x1d0]
add r8, rax
mov rax, r12
adc r9, rdx
mul qword [rsp + 0x1e8]
add r8, rax
mov rax, r13
adc r9, rdx
mul qword [rsp + 0x1e0]
add r8, rax
mov rax, r14
adc r9, rdx
mul rcx
add rax, r8
mov r8, rsi
adc rdx, r9
shrd r8, rdi, 0x33
xor r11d, r11d
mov r10, r8
add r10, rax
mov rax, rbx
adc r11, rdx
mul qword [rsp + 0x1d0]
mov r8, rax
mov rax, r15
mov r9, rdx
mul rcx
mov rcx, r10
add r8, rax
mov rax, r12
lea r12, [rsp + 0x150]
adc r9, rdx
mul qword [rsp + 0x1f0]
add r8, rax
mov rax, r13
adc r9, rdx
mul qword [rsp + 0x1e8]
add r8, rax
mov rax, r14
adc r9, rdx
mul qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x2b0]
add r8, rax
adc r9, rdx
shrd rcx, r11, 0x33
xor edx, edx
add r8, rcx
adc r9, rdx
mov rax, r8
and r10, rbp
and r8, rbp
shrd rax, r9, 0x33
lea rdx, [rax + rax*8]
lea rcx, [rax + rdx*2]
mov rax, qword [rsp + 0x20]
and rax, rbp
add rcx, rax
mov rax, qword [rsp + 0x30]
mov rdx, rcx
and rcx, rbp
and rax, rbp
shr rdx, 0x33
add rdx, rax
mov rax, qword [rsp + 0x2b0]
mov qword [rax], rcx
mov rax, rdx
shr rdx, 0x33
mov rcx, rbx
and rax, rbp
mov qword [rbx + 0x18], r10
mov qword [rbx + 8], rax
mov rax, rsi
and rax, rbp
mov qword [rbx + 0x20], r8
mov r8, qword [rsp + 0x130]
add rdx, rax
mov qword [rbx + 0x10], rdx
mov rdx, rbx
call sym.fiat_25519_carry_mul
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x2b0]
call sym.fiat_25519_carry_square
mov r8, qword [rsp + 0x138]
mov rdx, rcx
call sym.fiat_25519_carry_mul
mov rdx, qword [rsp + 0x208]
movabs r10, 0xfffffffffffda
add r10, qword [rsp + 0x200]
sub r10, qword [rsp + 0x170]
mov r9, qword [rsp + 0x210]
movabs rax, 0xffffffffffffe
mov rcx, r10
add rdx, rax
sub rdx, qword [rsp + 0x178]
mov r8, qword [rsp + 0x218]
shr rcx, 0x33
add r9, rax
sub r9, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x108]
add rdx, rcx
add r8, rax
sub r8, qword [rsp + 0x188]
add rax, qword [rsp + 0x220]
mov rcx, rdx
shr rcx, 0x33
add r9, rcx
mov rcx, r9
shr rcx, 0x33
add r8, rcx
sub rax, qword [rsp + 0x190]
and r10, rbp
and rdx, rbp
mov rcx, r8
and r9, rbp
and r8, rbp
shr rcx, 0x33
mov qword [rsp + 0x248], r8
add rax, rcx
mov rcx, rax
and rax, rbp
shr rcx, 0x33
mov qword [rsp + 0x250], rax
lea r11, [rcx + rcx*8]
lea rcx, [rcx + r11*2]
add r10, rcx
mov rcx, r10
and r10, rbp
shr rcx, 0x33
mov qword [rsp + 0x230], r10
add rdx, rcx
mov rcx, rdx
shr rdx, 0x33
add rdx, r9
and rcx, rbp
mov qword [rsp + 0x238], rcx
mov rcx, r12
mov qword [rsp + 0x240], rdx
mov rdx, rbx
call sym.fiat_25519_to_bytes
mov r8d, 0x20
lea rdx, [0x00804080]
call sym.ring_core_0_17_8_CRYPTO_memcmp
test eax, eax
je 0x70fa9f
mov r10, qword [rsp + 0x170]
add r10, qword [rsp + 0x200]
mov rax, r10
mov rcx, qword [rsp + 0x178]
and r10, rbp
add rcx, qword [rsp + 0x208]
shr rax, 0x33
mov r9, qword [rsp + 0x180]
add r9, qword [rsp + 0x210]
add rcx, rax
mov rdx, qword [rsp + 0x188]
add rdx, qword [rsp + 0x218]
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 + 0x190]
add rax, qword [rsp + 0x220]
mov r8, rdx
and rdx, rbp
shr r8, 0x33
mov qword [rsp + 0x248], rdx
mov rdx, rbx
add rax, r8
mov r8, rax
shr r8, 0x33
lea r11, [r8 + r8*8]
lea r8, [r8 + r11*2]
add r10, r8
mov r8, r10
and r10, rbp
shr r8, 0x33
mov qword [rsp + 0x230], r10
add rcx, r8
mov r8, rcx
shr rcx, 0x33
add rcx, r9
and r8, rbp
and rbp, rax
mov qword [rsp + 0x240], rcx
mov rcx, r12
mov qword [rsp + 0x238], r8
mov qword [rsp + 0x250], rbp
call sym.fiat_25519_to_bytes
mov r8d, 0x20
lea rdx, [0x00804080]
call sym.ring_core_0_17_8_CRYPTO_memcmp
mov r8d, eax
xor eax, eax
test r8d, r8d
je 0x70fa88
add rsp, 0x268
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [rsp + 0x2b0]
lea r8, [0x00804040]
mov rcx, rdx
call sym.fiat_25519_carry_mul
mov rdx, qword [rsp + 0x2b0]
mov rcx, qword [rsp + 0x108]
call sym.fiat_25519_to_bytes
mov rdi, qword [rsp + 0x2b8]
movzx eax, byte [rsp + 0x230]
movzx edx, byte [rdi + 0x1f]
and eax, 1
shr dl, 7
cmp dl, al
jne 0x70fb00
mov rax, qword [rsp + 0x2b0]
mov r8, qword [rsp + 0x148]
lea rcx, [rax + 0x78]
mov rdx, rax
call sym.fiat_25519_carry_mul
mov eax, 1
jmp 0x70fa6e
mov rax, qword [rsp + 0x2b0]
mov rdi, qword [rsp + 0x2b0]
movabs rcx, 0xffffffffffffe
movabs r8, 0xfffffffffffda
mov r9, rcx
mov rbx, rcx
mov r11, rcx
sub r8, qword [rax]
sub r9, qword [rax + 8]
mov rax, r8
shr rax, 0x33
add r9, rax
mov rax, qword [rsp + 0x2b0]
sub rbx, qword [rax + 0x10]
mov rax, r9
shr rax, 0x33
add rbx, rax
mov rax, qword [rsp + 0x2b0]
sub r11, qword [rax + 0x18]
mov rax, rbx
shr rax, 0x33
add r11, rax
mov rax, qword [rsp + 0x2b0]
mov r10, r11
sub rcx, qword [rax + 0x20]
shr r10, 0x33
add r10, rcx
movabs rcx, 0x7ffffffffffff
mov rax, r10
and r8, rcx
and r9, rcx
and rbx, rcx
shr rax, 0x33
and r11, rcx
lea rdx, [rax + rax*8]
mov qword [rdi + 0x18], r11
lea rdx, [rax + rdx*2]
add r8, rdx
mov rdx, r8
and r8, rcx
shr rdx, 0x33
mov qword [rdi], r8
lea rax, [rdx + r9]
mov rdx, rax
shr rax, 0x33
and rdx, rcx
add rax, rbx
and rcx, r10
mov qword [rdi + 8], rdx
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x20], rcx
jmp 0x70fad2