Function at 0x1400762c0
Capabilities:
Encrypt data using chaskey

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x9e8
mov qword [rsp + 0x2b8], rdx
mov qword [rsp + 0x298], rcx
mov rax, qword [0x14017e028]
xor rax, rsp
mov qword [rsp + 0x9e0], rax
lea rcx, [rsp + 0x2d0]
mov r8d, 0x708
mov dl, 0xaa
call fcn.1400924f0
lea rcx, [rsp + 0x340]
mov eax, 0x3f
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x140], rcx
lea r9, [0x1401708a0]
movzx r8d, byte [rax + r9 - 0x20]
shl r8, 0x2c
movzx ecx, byte [rax + r9 - 0x21]
shl rcx, 0x24
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + r9 - 0x22]
shl rax, 0x1c
mov rdx, qword [rsp + 0x20]
movzx r11d, byte [rdx + r9 - 0x23]
shl r11, 0x14
mov rdx, qword [rsp + 0x20]
movzx ebp, byte [rdx + r9 - 0x24]
mov rdx, qword [rsp + 0x20]
movzx edx, byte [rdx + r9 - 0x25]
mov qword [rsp + 0x190], rdx
mov rdx, qword [rsp + 0x20]
movzx ebx, byte [rdx + r9 - 0x26]
shl rbp, 0xc
mov r12, rbp
shl rbx, 0x2f
mov rdx, qword [rsp + 0x20]
movzx ebp, byte [rdx + r9 - 0x27]
mov rdx, qword [rsp + 0x20]
movzx esi, byte [rdx + r9 - 0x28]
shl rbp, 0x27
shl rsi, 0x1f
mov rdx, qword [rsp + 0x20]
movzx edx, byte [rdx + r9 - 0x29]
shl rdx, 0x17
or rcx, r8
mov rdi, qword [rsp + 0x20]
movzx r15d, byte [rdi + r9 - 0x2a]
shl r15, 0xf
mov rdi, qword [rsp + 0x20]
movzx r8d, byte [rdi + r9 - 0x2b]
or rbp, rbx
shl r8, 7
mov rbx, qword [rsp + 0x20]
movzx ebx, byte [rbx + r9 - 0x2c]
shl rbx, 0x32
or rax, rcx
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 0x2d]
shl rcx, 0x2a
or rcx, rbx
or rsi, rbp
mov rbp, qword [rsp + 0x20]
movzx ebp, byte [rbp + r9 - 0x2e]
shl rbp, 0x22
or rbp, rcx
or r11, rax
mov rax, qword [rsp + 0x20]
movzx ebx, byte [rax + r9 - 0x2f]
shl rbx, 0x1a
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + r9 - 0x30]
or rdx, rsi
shl rax, 0x12
mov rcx, qword [rsp + 0x20]
movzx r14d, byte [rcx + r9 - 0x31]
shl r14, 0xa
or rbx, rbp
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 0x32]
mov qword [rsp + 0x128], rcx
mov rcx, qword [rsp + 0x20]
movzx r10d, byte [rcx + r9 - 0x33]
mov rsi, r10
shl rsi, 0x2d
or r12, r11
mov qword [rsp + 0x188], r12
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 0x34]
shl rcx, 0x25
mov rbp, qword [rsp + 0x20]
movzx r13d, byte [rbp + r9 - 0x35]
or r15, rdx
shl r13, 0x1d
mov rdx, qword [rsp + 0x20]
movzx edx, byte [rdx + r9 - 0x36]
shl rdx, 0x15
or rax, rbx
mov rbx, qword [rsp + 0x20]
movzx ebp, byte [rbx + r9 - 0x39]
mov qword [rsp + 0x1b0], rbp
shl rbp, 0x30
mov rbx, qword [rsp + 0x20]
movzx ebx, byte [rbx + r9 - 0x3a]
shl rbx, 0x28
movabs r12, 0x7000000000000
mov rdi, rbp
and rdi, r12
or rdi, rbx
mov rbx, qword [rsp + 0x20]
movzx ebx, byte [rbx + r9 - 0x3b]
shl rbx, 0x20
or rdi, rbx
mov rbp, rdi
mov rbx, qword [rsp + 0x20]
movzx ebx, byte [rbx + r9 - 0x37]
shl rbx, 0xd
movabs rdi, 0x7e00000000000
and rsi, rdi
or rsi, rcx
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 0x3c]
shl rcx, 0x18
or rbp, rcx
mov rdi, rbp
mov rcx, qword [rsp + 0x20]
movzx r11d, byte [rcx + r9 - 0x38]
or rsi, r13
mov rcx, qword [rsp + 0x20]
movzx ebp, byte [rcx + r9 - 0x3d]
or r8, r15
mov r12, r8
or rsi, rdx
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9]
mov rdx, qword [rsp + 0x20]
movzx edx, byte [rdx + r9 - 1]
shl rcx, 0x2c
shl rdx, 0x24
or rdx, rcx
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 2]
shl rbp, 0x10
shl rcx, 0x1c
or rcx, rdx
mov rdx, qword [rsp + 0x20]
movzx r15d, byte [rdx + r9 - 0x3e]
or r14, rax
mov rax, qword [rsp + 0x20]
movzx edx, byte [rax + r9 - 3]
shl rdx, 0x14
or rdx, rcx
or rdi, rbp
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + r9 - 4]
shl rax, 0xc
or rax, rdx
or rsi, rbx
mov rcx, qword [rsp + 0x20]
movzx ebx, byte [rcx + r9 - 5]
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 6]
mov rdx, qword [rsp + 0x20]
movzx edx, byte [rdx + r9 - 7]
shl rcx, 0x2f
shl rdx, 0x27
or rdx, rcx
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 8]
shl rbx, 4
shl rcx, 0x1f
or rcx, rdx
mov rdx, qword [rsp + 0x20]
movzx ebp, byte [rdx + r9 - 9]
shl rbp, 0x17
or rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx edx, byte [rcx + r9 - 0xa]
shl rdx, 0xf
or rbx, rax
or rdx, rbp
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + r9 - 0xc]
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 0xd]
shl rax, 0x32
shl rcx, 0x2a
or rcx, rax
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + r9 - 0xe]
shl r15, 8
shl rax, 0x22
or rax, rcx
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 0xf]
shl rcx, 0x1a
or rcx, rax
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + r9 - 0xb]
shl rax, 7
or rax, rdx
mov rdx, qword [rsp + 0x20]
movzx edx, byte [rdx + r9 - 0x10]
shl rdx, 0x12
or rdx, rcx
or rdi, r15
mov rcx, qword [rsp + 0x20]
movzx r15d, byte [rcx + r9 - 0x11]
shl r15, 0xa
or r15, rdx
mov rcx, qword [rsp + 0x128]
lea r8, [r14 + rcx*4]
mov rcx, qword [rsp + 0x20]
movzx r14d, byte [rcx + r9 - 0x19]
mov rbp, r14
shl rbp, 0x30
mov rcx, qword [rsp + 0x20]
movzx edx, byte [rcx + r9 - 0x1a]
shl rdx, 0x28
movabs rcx, 0x7000000000000
and rbp, rcx
or rbp, rdx
mov rcx, qword [rsp + 0x20]
movzx edx, byte [rcx + r9 - 0x1b]
shl r11, 5
shl rdx, 0x20
or rbp, rdx
mov rcx, qword [rsp + 0x20]
movzx edx, byte [rcx + r9 - 0x3f]
or rsi, r11
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 0x1c]
shl rcx, 0x18
or rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 0x1d]
shl rcx, 0x10
or rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 0x1e]
shr r10, 6
shl rcx, 8
or rbp, rcx
mov qword [rsp + 0x128], rbp
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 0x12]
or rdi, rdx
mov qword [rsp + 0x230], rdi
mov rdx, qword [rsp + 0x20]
movzx r13d, byte [rdx + r9 - 0x13]
lea rcx, [r15 + rcx*4]
mov rdx, r13
shr r13, 6
shl rdx, 0x2d
add r13, rcx
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 0x14]
shl rcx, 0x25
movabs rbp, 0x7e00000000000
and rdx, rbp
or rdx, rcx
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 0x15]
shl rcx, 0x1d
add r10, r8
mov rdi, r10
or rdx, rcx
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 0x16]
shl rcx, 0x15
shr rdi, 0x33
or rdx, rcx
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + r9 - 0x17]
shl rcx, 0xd
mov r8d, 0xff
and rdi, r8
or rdx, rcx
mov rcx, qword [rsp + 0x20]
movzx ebp, byte [rcx + r9 - 0x18]
shl rbp, 5
add rdi, r12
mov rcx, rdi
mov r15, rdi
or rdx, rbp
mov rdi, r13
shr rdi, 0x33
and rdi, r8
shr rcx, 0x33
add rdi, rax
mov rax, rdi
shr rax, 0x33
and rax, r8
and rcx, r8
mov r12, r14
shr r12, 3
or r12, rdx
movabs r11, 0x7ffffffffffff
and rdi, r11
add rax, rbx
mov rdx, rax
mov rax, qword [rsp + 0x190]
shl rax, 4
add rax, qword [rsp + 0x188]
mov rbx, rax
mov qword [rsp + 0x220], rdx
lea rax, [rdx + rdx*8]
add rbx, rcx
lea rcx, [rdx + rax*2]
mov rax, rcx
mul rbx
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x188], rdx
mov qword [rsp + 0x208], rdi
lea rax, [rdi + rdi*8]
lea rbp, [rdi + rax*2]
mov rax, rbp
mul rbx
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x130], rdx
mov rdi, r11
and r13, r11
lea rax, [r13*8]
add rax, r13
lea r14, [rax*2]
add r14, r13
mov rax, r14
mul rbx
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x1f0], rdx
lea rax, [r12 + r12*8]
lea rax, [r12 + rax*2]
mul rbx
mov qword [rsp + 0x190], rbx
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdx
and r15, rdi
mov r8, rdi
mov rax, rcx
mul r15
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x198], rdx
mov rax, qword [rsp + 0x1b0]
shr rax, 3
or rax, rsi
mov rsi, rax
mov rax, rbp
mul r15
mov qword [rsp + 0xd0], rax
mov r11, rdx
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + r9 - 0x1f]
mov rdi, qword [rsp + 0x128]
or rdi, rax
mov rax, r14
mul r15
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], rdx
and r10, r8
mov rax, rcx
mul r10
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xa0], rax
mov rax, rbp
mul r10
mov r8, r10
mov qword [rsp + 0x68], rax
mov r10, rdx
mov rax, rcx
mul rsi
mov r9, rsi
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rax
mov rax, rdi
mul rbx
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x118], rdx
mov rax, r12
mov qword [rsp + 0x228], r15
mul r15
mov qword [rsp + 0x1b8], rdx
mov qword [rsp + 0x170], rax
mov rax, rdi
mov rsi, rdi
mul r15
mov qword [rsp + 0x290], rax
mov qword [rsp + 0xb8], rdx
mov rax, r13
mul r8
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x1a0], rax
mov rax, r12
mul r8
mov qword [rsp + 0x1f8], rax
mov qword [rsp + 0x200], rdx
mov rax, rdi
mov qword [rsp + 0x128], rdi
mul r8
mov qword [rsp + 0x1a8], r8
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x80], rax
mov r15, qword [rsp + 0x208]
mov rax, r15
mul r9
mov rbx, rax
mov rbp, rdx
mov rax, r13
mov qword [rsp + 0x180], r13
mul r9
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x98], rax
mov r14, r12
mov rax, r12
mul r9
mov qword [rsp + 0x1b0], r9
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x90], rdx
movabs rdi, 0xffffffffffffe
mov rax, rdi
mov r12, qword [rsp + 0x230]
sub rax, r12
mov qword [rsp + 0x120], rax
mov rax, rsi
mul r9
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rdx
mov rax, rdi
sub rax, r9
add rax, r14
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x178], r14
mov rcx, qword [rsp + 0x220]
mov rax, rcx
mul r12
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x238], rdx
mov rax, rdi
sub rax, r8
add rax, r13
mov qword [rsp + 0x100], rax
mov rax, r15
mul r12
mov rsi, r12
mov r8, rax
mov r9, rdx
mov rax, rdi
sub rax, qword [rsp + 0x228]
add rax, r15
mov qword [rsp + 0x138], rax
mov rax, r13
mul r12
mov r13, rax
mov r15, rdx
sub rdi, qword [rsp + 0x190]
mov rax, r14
mul r12
mov qword [rsp + 0x58], rdx
mov r12, rax
mov rax, qword [rsp + 0x128]
mul rsi
add rdi, rcx
mov qword [rsp + 0xd8], rdi
mov rsi, qword [rsp + 0x68]
add rsi, qword [rsp + 0x50]
adc r10, qword [rsp + 0x60]
add rsi, qword [rsp + 0x70]
adc r10, qword [rsp + 0x78]
add rsi, qword [rsp + 0x38]
adc r10, qword [rsp + 0x40]
add rsi, rax
adc r10, rdx
shld r10, rsi, 0xd
movabs rax, 0x7ffffffffffff
and rsi, rax
mov r14, rsi
mov rsi, qword [rsp + 0xd0]
add rsi, qword [rsp + 0x168]
adc r11, qword [rsp + 0x1f0]
add rsi, r12
adc r11, qword [rsp + 0x58]
add rsi, qword [rsp + 0xa0]
adc r11, qword [rsp + 0xb0]
add rsi, qword [rsp + 0x28]
adc r11, qword [rsp + 0x30]
add rsi, r10
adc r11, 0
shld r11, rsi, 0xd
movabs rax, 0x7ffffffffffff
and rsi, rax
add r13, qword [rsp + 0x110]
adc r15, qword [rsp + 0x130]
add r13, qword [rsp + 0x48]
adc r15, qword [rsp + 0x90]
add r13, qword [rsp + 0x1c0]
adc r15, qword [rsp + 0x198]
add r13, qword [rsp + 0x80]
adc r15, qword [rsp + 0x88]
add r13, r11
adc r15, 0
shld r15, r13, 0xd
movabs rax, 0x7ffffffffffff
and r13, rax
add r8, qword [rsp + 0x98]
adc r9, qword [rsp + 0xa8]
add r8, qword [rsp + 0x1f8]
adc r9, qword [rsp + 0x200]
add r8, qword [rsp + 0xe0]
adc r9, qword [rsp + 0x188]
add r8, qword [rsp + 0x290]
adc r9, qword [rsp + 0xb8]
add r8, r15
adc r9, 0
shld r9, r8, 0xd
add rbx, qword [rsp + 0x1a0]
adc rbp, qword [rsp + 0x108]
add rbx, qword [rsp + 0x170]
adc rbp, qword [rsp + 0x1b8]
add rbx, qword [rsp + 0x218]
adc rbp, qword [rsp + 0x238]
add rbx, qword [rsp + 0xf8]
adc rbp, qword [rsp + 0x118]
add rbx, r9
adc rbp, 0
shld rbp, rbx, 0xd
movabs rax, 0x7ffffffffffff
and rbx, rax
mov rax, rbx
movabs rcx, 0x2ac822b5a729ed
mul rcx
mov qword [rsp + 0x118], rax
mov qword [rsp + 0xe0], rdx
mov rax, rbx
movabs rdi, 0x7a9372c9c903d5
mul rdi
mov qword [rsp + 0x290], rdx
mov qword [rsp + 0x218], rax
mov rax, rbx
movabs r10, 0x48621a40428616
mul r10
mov qword [rsp + 0x238], rdx
mov qword [rsp + 0x200], rax
mov rax, rbx
movabs rdx, 0x3ef5f8c52e700e
mul rdx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rdx
lea rax, [rbp*8]
add rax, rbp
lea r15, [rax*2]
add r15, rbp
movabs rax, 0x7ffffffffffff
and r8, rax
mov rax, r8
mul rcx
mov qword [rsp + 0x58], rax
mov r12, rdx
add r15, r14
mov rax, r8
mul rdi
mov qword [rsp + 0xb0], rax
mov r9, rdx
mov r14, r15
shr r14, 0x33
add r14, rsi
mov rax, r8
mul r10
mov qword [rsp + 0x188], rax
mov r10, rdx
mov r11, r14
shr r11, 0x33
add r11, r13
mov rax, r11
mul rcx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x168], rdx
movabs rax, 0x7ffffffffffff
and r14, rax
mov rax, r11
mul rdi
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x90], rax
mov rax, r14
mul rcx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rdx
mov rax, rbx
movabs r13, 0x69b9426b2f159
mul r13
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0x170], rax
mov rax, r8
movabs rdx, 0x35050762add7a
mul rdx
mov rbx, rax
mov rsi, rdx
mov rax, r8
mul r13
mov rbp, rdx
mov r8, rax
mov rax, r11
movabs rcx, 0x3cf44c0038052
mul rcx
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x1b8], rdx
mov rax, r11
movabs rdx, 0x35050762add7a
mul rdx
mov qword [rsp + 0x1a0], rdx
mov qword [rsp + 0x198], rax
mov rax, r11
mul r13
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rdx
mov rax, r14
movabs r11, 0x6738cc7407977
mul r11
mov qword [rsp + 0x110], rdx
mov qword [rsp + 0x108], rax
mov rax, r14
mul rcx
mov qword [rsp + 0x1f8], rdx
mov qword [rsp + 0x1f0], rax
mov rax, r14
movabs rdx, 0x35050762add7a
mul rdx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rdx
movabs rax, 0x7ffffffffffff
and r15, rax
mov rax, r14
movabs r14, 0x35050762add7a
mul r13
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov rax, r15
movabs rdx, 0x2406d9dc56dff
mul rdx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x1c0], rdx
mov rax, r15
mul r11
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x88], rax
mov rax, r15
mul rcx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rdx
mov rax, r15
mul r14
mov r11, rdx
mov r14, rax
mov rax, r15
mul r13
mov rcx, qword [rsp + 0x188]
add rcx, qword [rsp + 0x78]
adc r10, qword [rsp + 0x80]
add rcx, rax
adc r10, rdx
add rcx, qword [rsp + 0x48]
adc r10, qword [rsp + 0x50]
add rcx, qword [rsp + 0x90]
adc r10, qword [rsp + 0x60]
mov rax, r10
shr rax, 0x33
shld r10, rcx, 0xd
movabs rdx, 0x7ffffffffffff
and rcx, rdx
mov qword [rsp + 0x188], rcx
mov rdi, qword [rsp + 0x58]
add rdi, qword [rsp + 0x218]
adc r12, qword [rsp + 0x290]
mov rcx, qword [rsp + 0xb0]
add rcx, qword [rsp + 0x200]
adc r9, qword [rsp + 0x238]
add rcx, r14
movabs r13, 0x7ffffffffffff
adc r9, r11
add rcx, qword [rsp + 0x28]
adc r9, qword [rsp + 0x30]
add rcx, qword [rsp + 0xd0]
adc r9, qword [rsp + 0x168]
add rcx, r10
adc r9, rax
mov rax, r9
shr rax, 0x33
shld r9, rcx, 0xd
and rcx, r13
mov r15, rcx
add rdi, qword [rsp + 0x38]
adc r12, qword [rsp + 0x40]
add rdi, qword [rsp + 0x68]
adc r12, qword [rsp + 0x70]
add rdi, qword [rsp + 0xa0]
adc r12, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x178]
lea r11, [rdx + rcx]
mov rcx, qword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x180]
lea r10, [rdx + rcx]
add rdi, r9
mov r9, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x230]
lea rdx, [r9 + rcx]
mov rcx, qword [rsp + 0x140]
mov qword [rcx - 0x70], rdx
adc r12, rax
mov rax, r12
shld r12, rdi, 0xd
shr rax, 0x33
and rdi, r13
mov r14, rdi
add r8, qword [rsp + 0x118]
mov qword [rcx - 0x68], r11
adc rbp, qword [rsp + 0xe0]
add r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x120]
lea r9, [rdx + r9 - 0x24]
adc rbp, qword [rsp + 0x98]
add r8, qword [rsp + 0x1f0]
mov qword [rcx - 0x60], r10
adc rbp, qword [rsp + 0x1f8]
add r8, qword [rsp + 0x198]
mov rdx, qword [rsp + 0x228]
mov rdi, qword [rsp + 0x208]
lea rdx, [rdi + rdx]
adc rbp, qword [rsp + 0x1a0]
add r8, r12
mov qword [rcx - 0x58], rdx
adc rbp, rax
mov rax, rbp
shld rbp, r8, 0xd
shr rax, 0x33
and r8, r13
add rbx, qword [rsp + 0x170]
mov rdx, qword [rsp + 0x190]
mov rdi, qword [rsp + 0x220]
lea rdx, [rdi + rdx]
adc rsi, qword [rsp + 0xf8]
add rbx, qword [rsp + 0xb8]
mov qword [rcx - 0x50], rdx
adc rsi, qword [rsp + 0x1c0]
add rbx, qword [rsp + 0x108]
mov qword [rcx - 0x48], r9
adc rsi, qword [rsp + 0x110]
add rbx, qword [rsp + 0x130]
mov rdx, qword [rsp + 0xc8]
mov qword [rcx - 0x40], rdx
adc rsi, qword [rsp + 0x1b8]
add rbx, rbp
mov rdx, qword [rsp + 0x100]
mov qword [rcx - 0x38], rdx
adc rsi, rax
shld rsi, rbx, 0xd
mov rax, qword [rsp + 0x138]
mov qword [rcx - 0x30], rax
lea rax, [rsi + rsi*8]
lea rax, [rsi + rax*2]
mov rdx, qword [rsp + 0xd8]
mov qword [rcx - 0x28], rdx
add rax, qword [rsp + 0x188]
mov rdx, rax
shr rdx, 0x33
add rdx, r15
mov rbp, rdx
shr rbp, 0x33
add rbp, r14
and rax, r13
mov qword [rcx - 0x20], rax
mov rax, qword [rsp + 0x20]
and rdx, r13
mov qword [rcx - 0x18], rdx
mov rdx, rcx
mov qword [rcx - 0x10], rbp
mov qword [rcx - 8], r8
and rbx, r13
mov qword [rcx], rbx
add rax, 0x40
add rdx, 0x78
mov rcx, rdx
cmp rax, 0x3ff
jne 0x140076317
xorps xmm0, xmm0
mov rcx, qword [rsp + 0x298]
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x40], xmm0
movups xmmword [rcx + 0x30], xmm0
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx], xmm0
mov eax, 1
mov qword [rcx + 0x28], rax
movups xmmword [rcx + 0x58], xmm0
movups xmmword [rcx + 0x68], xmm0
mov qword [rcx + 0x50], rax
movups xmmword [rcx + 0x78], xmm0
movups xmmword [rcx + 0x88], xmm0
mov qword [rcx + 0x98], 0
mov ecx, 0x3f
nop dword [rax]
mov eax, ecx
shr rax, 3
mov rbx, qword [rsp + 0x2b8]
movzx edx, byte [rbx + rax]
mov dword [rsp + 0x290], ecx
and cl, 7
shr edx, cl
movzx ebp, byte [rbx + rax + 8]
shr ebp, cl
and edx, 1
and ebp, 1
lea edx, [rdx + rbp*2]
movzx ebp, byte [rbx + rax + 0x10]
shr ebp, cl
and ebp, 1
movzx eax, byte [rbx + rax + 0x18]
shr eax, cl
lea ecx, [rdx + rbp*4]
and eax, 1
lea r8d, [rcx + rax*8]
mov r12d, 1
mov edx, 0x70
mov eax, 1
mov qword [rsp + 0x230], rax
xor r11d, r11d
xor eax, eax
mov qword [rsp + 0x208], rax
xor eax, eax
mov qword [rsp + 0x128], rax
xor eax, eax
mov qword [rsp + 0x1b0], rax
mov ecx, 1
mov qword [rsp + 0x188], rcx
xor ecx, ecx
mov qword [rsp + 0x228], rcx
xor eax, eax
mov qword [rsp + 0x220], rax
xor eax, eax
mov qword [rsp + 0x20], rax
xor eax, eax
mov qword [rsp + 0x190], rax
xor ecx, ecx
xor r15d, r15d
movabs r14, 0x2ac822b5a729ed
xor edi, edi
movabs r9, 0x48621a40428616
xor r13d, r13d
xor esi, esi
nop word cs:[rax + rax]
nop
mov rbx, qword [rsp + 0x230]
mov ebp, r12d
xor ebp, r8d
add ebp, 0xffffffff
shr ebp, 0x1f
neg rbp
mov rax, qword [rsp + rdx + 0x260]
xor rax, rbx
and rax, rbp
xor rax, rbx
mov qword [rsp + 0x230], rax
mov rbx, r11
mov r11, qword [rsp + rdx + 0x268]
xor r11, rbx
and r11, rbp
xor r11, rbx
mov rbx, qword [rsp + 0x208]
mov rax, qword [rsp + rdx + 0x270]
xor rax, rbx
and rax, rbp
xor rax, rbx
mov qword [rsp + 0x208], rax
mov rbx, qword [rsp + 0x128]
mov rax, qword [rsp + rdx + 0x278]
xor rax, rbx
and rax, rbp
xor rax, rbx
mov qword [rsp + 0x128], rax
mov rbx, qword [rsp + 0x1b0]
mov rax, qword [rsp + rdx + 0x280]
xor rax, rbx
and rax, rbp
xor rax, rbx
mov qword [rsp + 0x1b0], rax
mov rbx, qword [rsp + 0x188]
mov r10, qword [rsp + rdx + 0x288]
xor r10, rbx
and r10, rbp
xor r10, rbx
mov qword [rsp + 0x188], r10
mov rbx, qword [rsp + 0x228]
mov rax, qword [rsp + rdx + 0x290]
xor rax, rbx
and rax, rbp
xor rax, rbx
mov qword [rsp + 0x228], rax
mov rbx, qword [rsp + 0x220]
mov rax, qword [rsp + rdx + 0x298]
xor rax, rbx
and rax, rbp
xor rax, rbx
mov qword [rsp + 0x220], rax
mov rbx, qword [rsp + 0x20]
mov rax, qword [rsp + rdx + 0x2a0]
xor rax, rbx
and rax, rbp
xor rax, rbx
mov qword [rsp + 0x20], rax
mov rbx, qword [rsp + 0x190]
mov rax, qword [rsp + rdx + 0x2a8]
xor rax, rbx
and rax, rbp
xor rax, rbx
mov qword [rsp + 0x190], rax
mov rbx, rcx
mov rcx, qword [rsp + rdx + 0x2b0]
xor rcx, rbx
and rcx, rbp
xor rcx, rbx
mov rbx, r15
mov r15, qword [rsp + rdx + 0x2b8]
xor r15, rbx
and r15, rbp
xor r15, rbx
mov rbx, rdi
mov rdi, qword [rsp + rdx + 0x2c0]
xor rdi, rbx
and rdi, rbp
xor rdi, rbx
mov rbx, rsi
mov rsi, qword [rsp + rdx + 0x2c8]
xor rsi, rbx
and rsi, rbp
xor rsi, rbx
mov rbx, r13
mov r13, qword [rsp + rdx + 0x2d0]
xor r13, rbx
and r13, rbp
xor r13, rbx
add r12d, 1
add rdx, 0x78
cmp rdx, 0x778
jne 0x140077370
mov qword [rsp + 0x218], rdi
mov rdi, qword [rsp + 0x298]
mov rbp, qword [rdi + 0x98]
mov qword [rsp + 0x100], rbp
mov rax, rbp
mul r14
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0x120], rax
mov rax, rbp
movabs r8, 0x7a9372c9c903d5
mul r8
mov r12, r8
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x88], rax
mov rax, rbp
mul r9
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x98], rdx
mov r9, qword [rdi + 8]
mov rdx, qword [rdi + 0x30]
lea rax, [r9 + rdx]
mov qword [rsp + 0x130], rax
movabs rax, 0xffffffffffffe
add rdx, rax
mov rbx, rdx
mov rax, rbp
movabs rdx, 0x3ef5f8c52e700e
mul rdx
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x58], rdx
mov rbp, qword [rdi + 0x90]
mov rax, rbp
mul r14
mov qword [rsp + 0x238], rcx
mov r10, rdx
mov qword [rsp + 0x68], rax
mov rax, rbp
mov r8, r14
mov r14, rbp
mul r12
mov rbp, rax
mov r12, rdx
sub rbx, r9
mov qword [rsp + 0x1b8], rbx
mov rcx, qword [rdi + 0x38]
mov rbx, qword [rdi + 0x10]
lea rax, [rbx + rcx]
mov qword [rsp + 0x170], rax
movabs rax, 0xffffffffffffe
add rcx, rax
mov rax, r14
movabs rdx, 0x48621a40428616
mul rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x200], r15
mov r15, rdx
mov r9, qword [rdi + 0x88]
mov rax, r9
mul r8
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rax
mov rax, r9
movabs rdx, 0x7a9372c9c903d5
mul rdx
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rdx
sub rcx, rbx
mov qword [rsp + 0x198], rcx
mov rcx, qword [rdi + 0x40]
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x180], rax
add rax, rcx
mov qword [rsp + 0x140], rax
movabs rax, 0xffffffffffffe
add rcx, rax
mov qword [rsp + 0x1a8], rcx
mov rbx, qword [rdi + 0x80]
mov rax, rbx
mul r8
mov qword [rsp + 0x1d8], rdx
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x100]
movabs r8, 0x69b9426b2f159
mul r8
mov qword [rsp + 0x110], rdx
mov qword [rsp + 0x1a0], rax
mov rcx, r14
mov qword [rsp + 0x178], r14
mov rax, r14
movabs rdx, 0x35050762add7a
mul rdx
mov r14, rdx
mov qword [rsp + 0xd8], rax
mov rax, rcx
mul r8
mov rdi, rdx
mov qword [rsp + 0xc8], rax
mov rax, r9
mov qword [rsp + 0x1f8], rsi
mov qword [rsp + 0x1f0], r13
movabs r13, 0x3cf44c0038052
mul r13
mov qword [rsp + 0x1c0], rdx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xe0], r9
mov rax, r9
movabs rcx, 0x35050762add7a
mul rcx
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x60], rax
mov rax, r9
mul r8
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0x108], rbx
mov rax, rbx
movabs rcx, 0x6738cc7407977
mul rcx
mov qword [rsp + 0x168], rdx
mov qword [rsp + 0xb0], rax
mov rax, rbx
mul r13
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x50], rax
mov rax, rbx
movabs rcx, 0x35050762add7a
mul rcx
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x158], rax
mov rax, rbx
mul r8
mov qword [rsp + 0x210], rax
mov qword [rsp + 0x1e0], rdx
mov rax, qword [rsp + 0x180]
sub qword [rsp + 0x1a8], rax
mov rdx, qword [rsp + 0x298]
mov rsi, qword [rdx + 0x48]
mov r9, qword [rdx + 0x20]
lea rax, [r9 + rsi]
mov qword [rsp + 0x118], rax
movabs rax, 0xffffffffffffe
add rsi, rax
mov rcx, qword [rdx + 0x78]
mov qword [rsp + 0xf8], rcx
mov rbx, rdx
mov rax, rcx
movabs rdx, 0x2406d9dc56dff
mul rdx
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x78], rax
mov rax, rcx
movabs rdx, 0x6738cc7407977
mul rdx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rax
mov rax, rcx
mul r13
mov qword [rsp + 0x1c8], rdx
mov qword [rsp + 0x1e8], rax
mov rax, rcx
movabs rdx, 0x35050762add7a
mul rdx
mov r13, r8
mov qword [rsp + 0x240], rdx
mov r8, rax
mov rax, rcx
mul r13
sub rsi, r9
mov qword [rsp + 0x180], rsi
mov r13, qword [rbx + 0x28]
mov rsi, qword [rbx]
movabs rcx, 0xffffffffffffe
add rcx, r13
add rcx, 0xffffffffffffffdc
sub rcx, rsi
mov qword [rsp + 0xd0], rcx
mov rcx, qword [rsp + 0x28]
add rcx, qword [rsp + 0xc0]
adc r15, qword [rsp + 0x58]
add rcx, qword [rsp + 0x148]
adc r15, qword [rsp + 0x150]
add rcx, qword [rsp + 0x1d0]
adc r15, qword [rsp + 0x1d8]
add rcx, rax
adc r15, rdx
shld r15, rcx, 0xd
movabs rax, 0x7ffffffffffff
and rcx, rax
mov rbx, qword [rsp + 0x68]
add rbx, qword [rsp + 0x88]
adc r10, qword [rsp + 0xa8]
add rbp, qword [rsp + 0x80]
adc r12, qword [rsp + 0x98]
add rbp, qword [rsp + 0x40]
adc r12, qword [rsp + 0x48]
add rbp, qword [rsp + 0x210]
adc r12, qword [rsp + 0x1e0]
add rbp, r8
adc r12, qword [rsp + 0x240]
add rbp, r15
adc r12, 0
shld r12, rbp, 0xd
and rbp, rax
add rbx, qword [rsp + 0xe8]
adc r10, qword [rsp + 0xf0]
add rbx, qword [rsp + 0x158]
adc r10, qword [rsp + 0x160]
add rbx, qword [rsp + 0x1e8]
adc r10, qword [rsp + 0x1c8]
add rbx, r12
adc r10, 0
shld r10, rbx, 0xd
and rbx, rax
mov r9, rax
mov rax, qword [rsp + 0xc8]
add rax, qword [rsp + 0x120]
adc rdi, qword [rsp + 0x138]
add rax, qword [rsp + 0x60]
adc rdi, qword [rsp + 0x70]
add rax, qword [rsp + 0x50]
adc rdi, qword [rsp + 0x90]
add rax, qword [rsp + 0x30]
adc rdi, qword [rsp + 0x38]
add rax, r10
mov qword [rsp + 0xc8], rax
adc rdi, 0
shld rdi, rax, 0xd
mov rax, qword [rsp + 0xd8]
add rax, qword [rsp + 0x1a0]
adc r14, qword [rsp + 0x110]
add rax, qword [rsp + 0xb8]
adc r14, qword [rsp + 0x1c0]
add rax, qword [rsp + 0xb0]
adc r14, qword [rsp + 0x168]
add rax, qword [rsp + 0x78]
adc r14, qword [rsp + 0xa0]
lea r8, [rsi + r13]
add rax, rdi
mov qword [rsp + 0xd8], rax
adc r14, 0
shld r14, rax, 0xd
lea rax, [r14 + r14*8]
lea rax, [r14 + rax*2]
add rax, rcx
mov rsi, rax
shr rsi, 0x33
add rsi, rbp
mov rdx, rsi
shr rdx, 0x33
add rdx, rbx
mov qword [rsp + 0xb8], rdx
and rax, r9
mov qword [rsp + 0x1c0], rax
mov rbx, qword [rsp + 0x118]
lea rax, [rbx + rbx*8]
lea rbp, [rbx + rax*2]
mov rax, rbp
mul rbx
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x110], rdx
mov rcx, qword [rsp + 0x140]
lea rax, [rcx + rcx*8]
lea rdi, [rcx + rax*2]
mov r10, rcx
mov rax, rbx
mul rdi
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rdx
mov r9, qword [rsp + 0x170]
lea rax, [r9 + r9*8]
lea rcx, [r9 + rax*2]
mov rax, rbx
mul rcx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rdx
mov r13, qword [rsp + 0x130]
lea rax, [r13*8]
add rax, r13
lea rdx, [rax*2]
add rdx, r13
mov rax, rbx
mul rdx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov rax, rbp
mov rbx, r10
mul r10
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x88], rax
mov rax, rdi
mul r10
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x50], rax
mov rax, r10
mul rcx
mov qword [rsp + 0x58], rdx
mov rcx, rax
mov rax, rbp
mul r9
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x48], rax
mov rax, rdi
mul r9
mov r12, rdx
mov r14, rax
mov rax, rbp
mul r13
mov qword [rsp + 0xc0], rdx
mov r10, rax
mov rax, rbx
mul r8
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x78], rax
mov rax, r9
mul r9
mov rdi, rdx
mov qword [rsp + 0xb0], rax
mov rax, r9
mul r13
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x138], rax
mov rax, r13
mul r13
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rax
mov rax, r8
mul r8
mov rbp, rax
mov r15, rdx
movabs rbx, 0x7ffffffffffff
and rsi, rbx
mov qword [rsp + 0x168], rsi
add rbp, rcx
adc r15, qword [rsp + 0x58]
add rbp, r14
adc r15, r12
add rbp, qword [rsp + 0x28]
adc r15, qword [rsp + 0x30]
add rbp, r10
adc r15, qword [rsp + 0xc0]
mov rsi, r8
shr rsi, 0x3f
lea r10, [r8 + r8]
mov rax, r10
mul r13
mov r12, rax
mov rcx, rdx
mov rax, rsi
imul rax, r13
add rcx, rax
shld r15, rbp, 0xd
and rbp, rbx
add r12, qword [rsp + 0x50]
adc rcx, qword [rsp + 0x60]
add r12, qword [rsp + 0x68]
adc rcx, qword [rsp + 0x70]
add r12, qword [rsp + 0x48]
adc rcx, qword [rsp + 0x90]
add r12, r15
adc rcx, 0
mov rax, r10
mul r9
imul rsi, r9
add rdx, rsi
shld rcx, r12, 0xd
and r12, rbx
add rax, qword [rsp + 0x38]
adc rdx, qword [rsp + 0x40]
add rax, qword [rsp + 0xa0]
adc rdx, qword [rsp + 0xa8]
add rax, qword [rsp + 0x88]
adc rdx, qword [rsp + 0x98]
add rax, rcx
mov qword [rsp + 0x170], rax
adc rdx, 0
shld rdx, rax, 0xd
mov rbx, qword [rsp + 0x138]
add rbx, qword [rsp + 0x78]
mov r9, qword [rsp + 0x120]
adc r9, qword [rsp + 0x80]
shld r9, rbx, 1
add rbx, rbx
add rbx, qword [rsp + 0x1a0]
adc r9, qword [rsp + 0x110]
add rbx, rdx
mov qword [rsp + 0x138], rbx
adc r9, 0
shld r9, rbx, 0xd
mov rax, qword [rsp + 0x118]
mul r8
mov rcx, rdx
mov rsi, rax
mov rax, qword [rsp + 0x140]
mul r13
add rax, rsi
adc rdx, rcx
shld rdx, rax, 1
add rax, rax
add r9, qword [rsp + 0xb0]
adc rdi, 0
add r9, rax
mov qword [rsp + 0x120], r9
adc rdi, rdx
shld rdi, r9, 0xd
lea rax, [rdi + rdi*8]
lea rbx, [rdi + rax*2]
add rbx, rbp
mov qword [rsp + 0x130], rbx
shr rbx, 0x33
add rbx, r12
mov qword [rsp + 0x1a0], rbx
mov rbp, qword [rsp + 0x180]
lea rax, [rbp*8]
add rax, rbp
lea rcx, [rax*2]
add rcx, rbp
mov rax, rcx
mul rbp
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rdx
mov r10, qword [rsp + 0x1a8]
lea rax, [r10 + r10*8]
lea rdi, [r10 + rax*2]
mov rax, rbp
mul rdi
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x98], rdx
mov r13, qword [rsp + 0x198]
lea rax, [r13*8]
add rax, r13
lea rsi, [rax*2]
add rsi, r13
mov rax, rbp
mul rsi
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x60], rdx
mov r14, qword [rsp + 0x1b8]
lea rax, [r14 + r14*8]
lea rdx, [r14 + rax*2]
mov rax, rbp
mul rdx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0xc0], rax
mov rax, rcx
mul r10
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x78], rax
mov rax, rdi
mul r10
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x40], rax
mov rax, r10
mul rsi
mov qword [rsp + 0xf0], rdx
mov r8, rax
mov rax, rcx
mul r13
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x38], rax
mov rax, rdi
mul r13
mov rsi, rdx
mov r15, rax
mov rax, rcx
mul r14
mov qword [rsp + 0xe8], rdx
mov r9, rax
mov rax, r10
mov rbp, qword [rsp + 0xd0]
mul rbp
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], rax
mov rax, r13
mul r13
mov rdi, rdx
mov qword [rsp + 0xa0], rax
mov rax, r13
mul r14
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x118], rax
mov rax, r14
mul r14
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov rax, rbp
mul rbp
mov r12, rax
mov rcx, rdx
mov rax, rbx
movabs rbx, 0x7ffffffffffff
and rax, rbx
mov qword [rsp + 0x110], rax
add r12, r8
adc rcx, qword [rsp + 0xf0]
add r12, r15
adc rcx, rsi
add r12, qword [rsp + 0xc0]
adc rcx, qword [rsp + 0x58]
add r12, r9
adc rcx, qword [rsp + 0xe8]
mov rax, rbp
shr rbp, 0x3f
lea r8, [rax + rax]
mov r15, rax
mov rax, r8
mul r14
mov r9, rax
mov rsi, rdx
mov rax, rbp
imul rax, r14
add rsi, rax
shld rcx, r12, 0xd
and r12, rbx
add r9, qword [rsp + 0x40]
adc rsi, qword [rsp + 0x50]
add r9, qword [rsp + 0x90]
adc rsi, qword [rsp + 0x60]
add r9, qword [rsp + 0x38]
adc rsi, qword [rsp + 0x48]
add r9, rcx
adc rsi, 0
mov rax, r8
mul r13
imul rbp, r13
add rdx, rbp
shld rsi, r9, 0xd
and r9, rbx
mov rbp, rbx
add rax, qword [rsp + 0x28]
adc rdx, qword [rsp + 0x30]
add rax, qword [rsp + 0x88]
adc rdx, qword [rsp + 0x98]
add rax, qword [rsp + 0x78]
adc rdx, qword [rsp + 0x80]
add rax, rsi
mov qword [rsp + 0x198], rax
adc rdx, 0
shld rdx, rax, 0xd
mov rax, qword [rsp + 0x118]
add rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x140]
adc rbx, qword [rsp + 0x70]
shld rbx, rax, 1
add rax, rax
add rax, qword [rsp + 0xa8]
adc rbx, qword [rsp + 0xb0]
add rax, rdx
mov qword [rsp + 0x118], rax
adc rbx, 0
shld rbx, rax, 0xd
mov rax, qword [rsp + 0x180]
mul r15
mov rcx, rdx
mov rsi, rax
mov rax, r10
mul r14
add rax, rsi
adc rdx, rcx
shld rdx, rax, 1
add rax, rax
add rbx, qword [rsp + 0xa0]
adc rdi, 0
add rbx, rax
mov qword [rsp + 0x140], rbx
adc rdi, rdx
shld rdi, rbx, 0xd
lea rax, [rdi + rdi*8]
lea rax, [rdi + rax*2]
add rax, r12
mov qword [rsp + 0x180], rax
shr rax, 0x33
mov rbx, rax
mov r15, rbp
mov rdi, qword [rsp + 0xd8]
and rdi, rbp
mov rcx, qword [rsp + 0x100]
lea rax, [rcx + rcx*8]
lea rsi, [rcx + rax*2]
mov rax, rdi
mul rsi
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xd0], rdx
mov rcx, qword [rsp + 0x178]
lea rax, [rcx + rcx*8]
lea r8, [rcx + rax*2]
mov rax, rdi
mul r8
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rdx
mov rcx, qword [rsp + 0xe0]
lea rax, [rcx + rcx*8]
lea rbp, [rcx + rax*2]
mov rax, rdi
mul rbp
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x90], rdx
mov r10, qword [rsp + 0x108]
lea rax, [r10 + r10*8]
lea rcx, [r10 + rax*2]
mov r14, r10
mov rax, rdi
mov r10, rdi
mul rcx
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xc0], rdx
add rbx, r9
mov qword [rsp + 0x1a8], rbx
mov rcx, qword [rsp + 0xc8]
and rcx, r15
mov rax, rcx
mul rsi
mov rdi, rdx
mov qword [rsp + 0x1b8], rax
mov rax, rcx
mul r8
mov r12, rdx
mov qword [rsp + 0x1e8], rax
mov rax, rcx
mul rbp
mov r15, rdx
mov rbp, rax
mov r13, qword [rsp + 0xb8]
mov rax, r13
mul rsi
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x38], rax
mov rax, r13
mul r8
mov qword [rsp + 0x158], rdx
mov qword [rsp + 0x148], rax
mov r9, qword [rsp + 0x168]
mov rax, r9
mul rsi
mov qword [rsp + 0x1d0], rdx
mov qword [rsp + 0x1c8], rax
mov rax, r10
mov r8, qword [rsp + 0xf8]
mul r8
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x98], rax
mov rax, rcx
mul r14
mov r10, r14
mov rbx, rdx
mov qword [rsp + 0xd8], rax
mov rax, rcx
mul r8
mov rsi, rdx
mov qword [rsp + 0xc8], rax
mov rax, r13
mov r14, qword [rsp + 0xe0]
mul r14
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x88], rax
mov rax, r13
mul r10
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x60], rax
mov rax, r13
mul r8
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x58], rax
mov rcx, r9
mov rax, r9
mov r9, qword [rsp + 0x178]
mul r9
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0x80], rax
mov rax, rcx
mov r13, r14
mul r14
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x30], rax
mov rax, rcx
mul r10
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x1d8], rax
mov rax, rcx
mul r8
mov qword [rsp + 0x1e0], rdx
mov qword [rsp + 0x210], rax
mov rcx, qword [rsp + 0x1c0]
mov rax, rcx
mul qword [rsp + 0x100]
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x168], rax
mov rax, rcx
mul r9
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0x160], rax
mov rax, rcx
mul r14
mov qword [rsp + 0xe0], rdx
mov r13, rax
mov rax, rcx
mul r10
mov r9, rdx
mov r14, rax
mov rax, rcx
mul r8
mov rcx, qword [rsp + 0x1a8]
movabs r8, 0x7ffffffffffff
and rcx, r8
mov qword [rsp + 0x178], rcx
add rbp, qword [rsp + 0xf0]
adc r15, qword [rsp + 0xc0]
add rbp, rax
adc r15, rdx
add rbp, qword [rsp + 0x1c8]
adc r15, qword [rsp + 0x1d0]
add rbp, qword [rsp + 0x148]
adc r15, qword [rsp + 0x158]
shld r15, rbp, 0xd
and rbp, r8
mov rax, qword [rsp + 0x1b8]
add rax, qword [rsp + 0x68]
adc rdi, qword [rsp + 0x70]
mov r10, qword [rsp + 0x1e8]
add r10, qword [rsp + 0x50]
adc r12, qword [rsp + 0x90]
add r10, r14
adc r12, r9
add r10, qword [rsp + 0x210]
adc r12, qword [rsp + 0x1e0]
add r10, qword [rsp + 0x38]
adc r12, qword [rsp + 0x48]
add r10, r15
adc r12, 0
shld r12, r10, 0xd
and r10, r8
add rax, r13
adc rdi, qword [rsp + 0xe0]
add rax, qword [rsp + 0x1d8]
adc rdi, qword [rsp + 0x150]
add rax, qword [rsp + 0x58]
adc rdi, qword [rsp + 0x28]
add rax, r12
mov qword [rsp + 0x1b8], rax
adc rdi, 0
shld rdi, rax, 0xd
mov rax, qword [rsp + 0xc8]
add rax, qword [rsp + 0xb0]
adc rsi, qword [rsp + 0xd0]
add rax, qword [rsp + 0x160]
adc rsi, qword [rsp + 0xe8]
add rax, qword [rsp + 0x30]
adc rsi, qword [rsp + 0x40]
add rax, qword [rsp + 0x60]
adc rsi, qword [rsp + 0x78]
add rax, rdi
mov qword [rsp + 0xc8], rax
adc rsi, 0
shld rsi, rax, 0xd
mov rax, qword [rsp + 0xd8]
add rax, qword [rsp + 0x98]
adc rbx, qword [rsp + 0xa8]
add rax, qword [rsp + 0x168]
adc rbx, qword [rsp + 0x100]
add rax, qword [rsp + 0x80]
adc rbx, qword [rsp + 0xb8]
add rax, qword [rsp + 0x88]
adc rbx, qword [rsp + 0xa0]
add rax, rsi
mov qword [rsp + 0xd8], rax
adc rbx, 0
shld rbx, rax, 0xd
lea rax, [rbx + rbx*8]
lea rax, [rbx + rax*2]
add rax, rbp
mov rcx, rax
mov qword [rsp + 0xf8], rax
mov rbp, qword [rsp + 0x298]
mov rbx, qword [rbp + 0x70]
mov qword [rsp + 0xb8], rbx
lea rax, [rbx + rbx*8]
lea rdi, [rbx + rax*2]
mov rax, rdi
mul rbx
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x108], rdx
shr rcx, 0x33
mov rdx, qword [rbp + 0x68]
lea rax, [rdx + rdx*8]
lea r9, [rdx + rax*2]
mov r15, rdx
mov rax, r9
mul rbx
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rdx
mov r14, qword [rbp + 0x60]
lea rax, [r14 + r14*8]
lea r8, [r14 + rax*2]
mov rax, rbx
mul r8
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rdx
mov rsi, qword [rbp + 0x58]
lea rax, [rsi + rsi*8]
lea rdx, [rsi + rax*2]
mov rax, rbx
mul rdx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rax
mov rax, rdi
mov qword [rsp + 0xa0], r15
mul r15
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x88], rax
mov rax, r9
mul r15
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x90], rax
mov rax, r15
mul r8
mov qword [rsp + 0x30], rdx
mov r13, rax
mov rax, rdi
mul r14
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x48], rax
mov rax, r9
mul r14
mov r9, rdx
mov r8, rax
mov rax, rdi
mul rsi
mov qword [rsp + 0x28], rdx
mov rdi, rax
mov rax, r14
mul r14
mov qword [rsp + 0x168], rdx
mov qword [rsp + 0xd0], rax
mov rax, rsi
mul rsi
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdx
mov rbx, rcx
add rbx, r10
mov qword [rsp + 0x100], rbx
mov r15, qword [rbp + 0x50]
mov rax, r15
mul r15
mov r12, rax
mov rcx, rdx
mov rax, rbx
movabs r10, 0x7ffffffffffff
and rax, r10
mov qword [rsp + 0xe0], rax
add r12, r13
adc rcx, qword [rsp + 0x30]
add r12, qword [rsp + 0x38]
adc rcx, qword [rsp + 0x40]
add r12, r8
adc rcx, r9
add r12, rdi
adc rcx, qword [rsp + 0x28]
mov rbp, r15
shr rbp, 0x3f
lea rbx, [r15 + r15]
mov rax, rbx
mul rsi
mov r13, rax
mov r9, rdx
mov rax, rbp
imul rax, rsi
add r9, rax
shld rcx, r12, 0xd
and r12, r10
add r13, qword [rsp + 0x78]
adc r9, qword [rsp + 0x80]
add r13, qword [rsp + 0x90]
adc r9, qword [rsp + 0x70]
add r13, qword [rsp + 0x48]
adc r9, qword [rsp + 0x50]
add r13, rcx
adc r9, 0
mov rax, rbx
mul r14
mov rdi, rax
mov r8, rdx
imul rbp, r14
add r8, rbp
shld r9, r13, 0xd
and r13, r10
add rdi, qword [rsp + 0x60]
adc r8, qword [rsp + 0x68]
add rdi, qword [rsp + 0xa8]
adc r8, qword [rsp + 0xb0]
add rdi, qword [rsp + 0x88]
adc r8, qword [rsp + 0x98]
add rdi, r9
adc r8, 0
shld r8, rdi, 0xd
mov rax, r14
mul rsi
mov r9, rdx
mov r14, rax
mov rbp, qword [rsp + 0xa0]
mov rax, rbp
mul r15
mov rbx, rdx
mov rcx, rax
add rcx, r14
adc rbx, r9
shld rbx, rcx, 1
add rcx, rcx
add rcx, qword [rsp + 0x1c0]
adc rbx, qword [rsp + 0x108]
add rcx, r8
adc rbx, 0
shld rbx, rcx, 0xd
mov rax, rbp
mul rsi
mov rbp, rdx
mov rsi, rax
mov rax, qword [rsp + 0xb8]
mul r15
add rax, rsi
adc rdx, rbp
shld rdx, rax, 1
add rax, rax
add rax, qword [rsp + 0xd0]
adc rdx, qword [rsp + 0x168]
add rax, rbx
adc rdx, 0
shld rdx, rax, 0xd
lea rbp, [rdx + rdx*8]
lea r14, [rdx + rbp*2]
add r14, r12
mov rbp, r14
shr rbp, 0x33
add rbp, r13
mov r8, r10
mov rdx, qword [rsp + 0x170]
and rdx, r10
mov r15, qword [rsp + 0x1a0]
shr r15, 0x33
add r15, rdx
mov rdx, qword [rsp + 0x198]
and rdx, r10
mov r12, qword [rsp + 0x1a8]
shr r12, 0x33
add r12, rdx
mov rdx, qword [rsp + 0x1b8]
and rdx, r10
mov rbx, qword [rsp + 0x100]
shr rbx, 0x33
add rbx, rdx
mov qword [rsp + 0x100], rbx
mov rdx, rbp
shr rdx, 0x33
mov r10, rdi
and r10, r8
add r10, rdx
mov r9, qword [rsp + 0x130]
and r9, r8
mov rbx, qword [rsp + 0x180]
and rbx, r8
movabs rdx, 0xffffffffffffe
add rdx, r9
add rdx, 0xffffffffffffffdc
sub rdx, rbx
mov qword [rsp + 0x1a0], rdx
add rbx, r9
mov qword [rsp + 0x180], rbx
movabs rdx, 0xffffffffffffe
mov rsi, qword [rsp + 0x110]
lea rbx, [rsi + rdx]
mov rdx, qword [rsp + 0x178]
sub rbx, rdx
mov qword [rsp + 0x198], rbx
add rdx, rsi
mov qword [rsp + 0x178], rdx
movabs rdx, 0xffffffffffffe
lea r9, [r15 + rdx]
mov rdx, r12
sub r9, r12
add rdx, r15
mov qword [rsp + 0x1a8], rdx
mov rsi, qword [rsp + 0x118]
and rsi, r8
mov rdi, qword [rsp + 0x138]
and rdi, r8
movabs rdx, 0xffffffffffffe
lea r13, [rdi + rdx]
sub r13, rsi
add rdi, rsi
mov qword [rsp + 0x138], rdi
mov r12, qword [rsp + 0x120]
and r12, r8
mov rsi, qword [rsp + 0x140]
and rsi, r8
movabs rdx, 0xffffffffffffe
lea r15, [r12 + rdx]
sub r15, rsi
add rsi, r12
mov qword [rsp + 0x140], rsi
add rcx, rcx
movabs rdx, 0xffffffffffffe
and rcx, rdx
lea rbx, [r10 + r10]
shr r10, 0x32
add r10, rcx
add rax, rax
movabs rcx, 0xffffffffffffe
and rax, rcx
mov rcx, r10
shr rcx, 0x33
add rcx, rax
mov rax, rcx
mov rdi, rcx
shr rax, 0x33
lea rcx, [rax + rax*8]
lea rsi, [rax + rcx*2]
lea rax, [r14 + r14]
lea rdx, [r8 - 1]
mov qword [rsp + 0x168], rdx
and rax, rdx
add rsi, rax
shr r14, 0x32
and r14d, 1
mov rax, rbp
add rax, rbp
and rax, rdx
or rax, r14
mov rcx, rsi
mov r14, rsi
shr rcx, 0x33
add rax, rcx
shr rbp, 0x32
and ebp, 1
and rbx, rdx
or rbx, rbp
mov rcx, rax
shr rax, 0x33
add rax, rbx
and rcx, r8
movabs rsi, 0xffffffffffffe
mov rdx, qword [rsp + 0xe0]
sub rsi, rdx
add rdx, rcx
mov qword [rsp + 0xe0], rdx
add rsi, rcx
movabs rbx, 0xffffffffffffe
mov rcx, qword [rsp + 0x100]
sub rbx, rcx
add rcx, rax
mov qword [rsp + 0x100], rcx
add rbx, rax
mov rax, r8
mov rdx, qword [rsp + 0xd8]
and rdx, r8
mov qword [rsp + 0xd8], rdx
mov rbp, qword [rsp + 0xf8]
and rbp, r8
mov qword [rsp + 0xf8], rbp
mov rcx, qword [rsp + 0xc8]
and rcx, r8
mov qword [rsp + 0xc8], rcx
and r10, r8
mov qword [rsp + 0x1d8], r10
and r14, r8
mov qword [rsp + 0x130], r14
and rdi, r8
mov qword [rsp + 0x120], rdi
movabs rax, 0xffffffffffffe
add rax, r14
add rax, 0xffffffffffffffdc
sub rax, rbp
mov qword [rsp + 0x1c0], rax
movabs rbp, 0xffffffffffffe
sub rbp, rcx
add rbp, r10
movabs rcx, 0xffffffffffffe
sub rcx, rdx
add rcx, rdi
mov qword [rsp + 0x118], rcx
lea rax, [rcx + rcx*8]
lea r14, [rcx + rax*2]
mov rax, r14
mov r12, r15
mul r15
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x108], rdx
lea rax, [rbp*8]
add rax, rbp
lea r8, [rax*2]
add r8, rbp
mov rdi, rbp
mov rax, r8
mul r15
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x110], rbx
lea rax, [rbx + rbx*8]
lea rcx, [rbx + rax*2]
mov rax, rcx
mov qword [rsp + 0x78], rcx
mul r15
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], rdx
lea rax, [rsi + rsi*8]
lea rax, [rsi + rax*2]
mov qword [rsp + 0x80], rax
mul r15
mov qword [rsp + 0x98], r15
mov qword [rsp + 0x1e0], rdx
mov qword [rsp + 0x210], rax
mov qword [rsp + 0x60], r14
mov rax, r14
mul r13
mov rbp, rdx
mov r15, rax
mov qword [rsp + 0x68], r8
mov rax, r8
mul r13
mov qword [rsp + 0x1c8], rdx
mov qword [rsp + 0x1e8], rax
mov rax, rcx
mul r13
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0x240], rdx
mov qword [rsp + 0x258], rax
mov rax, r14
mov rcx, r9
mul r9
mov r9, rdx
mov rbx, rax
mov rax, r8
mul rcx
mov r8, rcx
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x280], rdx
mov qword [rsp + 0x278], rax
mov rax, r14
mov rcx, qword [rsp + 0x198]
mul rcx
mov r10, rdx
mov qword [rsp + 0x268], rax
mov r14, qword [rsp + 0x1c0]
mov rax, r14
mul r12
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0x88], rax
mov r12, rsi
mov rax, rsi
mul r13
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0x50], rax
mov rax, r14
mov rsi, r14
mul r13
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xf0], rax
mov r14, qword [rsp + 0x110]
mov rax, r14
mul r8
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rax
mov rax, r12
mov r13, r12
mul r8
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0x150], rax
mov r12, rsi
mov rax, rsi
mul r8
mov qword [rsp + 0x260], rdx
mov qword [rsp + 0x250], rax
mov rsi, rdi
mov qword [rsp + 0x70], rdi
mov rax, rdi
mul rcx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x58], rax
mov rax, r14
mov rdi, r14
mul rcx
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x1d0], rax
mov rax, r13
mov qword [rsp + 0x90], r13
mul rcx
mov qword [rsp + 0x248], rdx
mov qword [rsp + 0x288], rax
mov rax, r12
mul rcx
mov qword [rsp + 0x2b0], rdx
mov qword [rsp + 0x2a8], rax
mov rax, qword [rsp + 0x118]
mov r14, qword [rsp + 0x1a0]
mul r14
mov rcx, rdx
mov qword [rsp + 0x170], rax
mov rax, rsi
mul r14
mov r8, rdx
mov qword [rsp + 0x1b8], rax
mov rax, rdi
mul r14
mov rdi, rdx
mov qword [rsp + 0x270], rax
mov rax, r13
mul r14
mov qword [rsp + 0x2a0], rdx
mov r13, rax
mov rax, r12
mul r14
mov rsi, qword [rsp + 0xc8]
add rsi, qword [rsp + 0x1d8]
mov r14, qword [rsp + 0x268]
add r14, qword [rsp + 0x278]
adc r10, qword [rsp + 0x280]
add r14, rax
adc r10, rdx
add r14, qword [rsp + 0x210]
adc r10, qword [rsp + 0x1e0]
add r14, qword [rsp + 0x258]
adc r10, qword [rsp + 0x240]
shld r10, r14, 0xd
movabs rax, 0x7ffffffffffff
and r14, rax
add r15, qword [rsp + 0x158]
adc rbp, qword [rsp + 0x160]
add rbx, qword [rsp + 0x1e8]
adc r9, qword [rsp + 0x1c8]
add rbx, qword [rsp + 0x2a8]
adc r9, qword [rsp + 0x2b0]
add rbx, r13
adc r9, qword [rsp + 0x2a0]
add rbx, qword [rsp + 0x28]
adc r9, qword [rsp + 0x38]
add rbx, r10
adc r9, 0
shld r9, rbx, 0xd
and rbx, rax
add r15, qword [rsp + 0x250]
adc rbp, qword [rsp + 0x260]
add r15, qword [rsp + 0x288]
adc rbp, qword [rsp + 0x248]
add r15, qword [rsp + 0x270]
adc rbp, rdi
add r15, r9
adc rbp, 0
shld rbp, r15, 0xd
and r15, rax
mov r9, rax
mov rax, qword [rsp + 0x1b8]
add rax, qword [rsp + 0xb8]
adc r8, qword [rsp + 0x108]
add rax, qword [rsp + 0xf0]
adc r8, qword [rsp + 0xc0]
add rax, qword [rsp + 0x150]
adc r8, qword [rsp + 0xe8]
add rax, qword [rsp + 0x1d0]
adc r8, qword [rsp + 0x148]
add rax, rbp
adc r8, 0
shld r8, rax, 0xd
and rax, r9
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0x170]
add rax, qword [rsp + 0x58]
adc rcx, qword [rsp + 0x30]
add rax, qword [rsp + 0x88]
adc rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x130]
mov rbp, qword [rsp + 0xf8]
add rdx, rbp
mov qword [rsp + 0xb8], rdx
add rax, qword [rsp + 0x50]
adc rcx, qword [rsp + 0xb0]
add rax, qword [rsp + 0x40]
adc rcx, qword [rsp + 0x48]
add rax, r8
adc rcx, 0
shld rcx, rax, 0xd
mov rdx, rax
mov rax, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0x120]
lea rdi, [rax + rbp]
lea rax, [rcx + rcx*8]
lea rcx, [rcx + rax*2]
add rcx, r14
mov rax, rcx
mov rbp, rcx
shr rax, 0x33
add rax, rbx
mov qword [rsp + 0x108], rax
mov rcx, rax
shr rcx, 0x33
add rcx, r15
mov qword [rsp + 0xd0], rcx
mov rax, r9
and rdx, r9
mov qword [rsp + 0x170], rdx
and rbp, r9
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0xf8], rdi
lea rax, [rdi + rdi*8]
lea rcx, [rdi + rax*2]
mov rax, rcx
mov rbp, qword [rsp + 0x140]
mul rbp
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x130], rdx
mov rdx, rsi
lea rax, [rsi + rsi*8]
lea rbx, [rsi + rax*2]
mov r8, rsi
mov rax, rbx
mul rbp
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x100]
lea rax, [rdx + rdx*8]
lea rdi, [rdx + rax*2]
mov rax, rdi
mul rbp
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x58], rdx
mov r13, qword [rsp + 0xe0]
lea rax, [r13*8]
add rax, r13
lea rax, [rax*2]
add rax, r13
mul rbp
mov r15, rbp
mov qword [rsp + 0x240], rdx
mov qword [rsp + 0x260], rax
mov rax, rcx
mov rsi, qword [rsp + 0x138]
mul rsi
mov rbp, rdx
mov r14, rax
mov rax, rbx
mul rsi
mov qword [rsp + 0x1e0], rdx
mov qword [rsp + 0x210], rax
mov rax, rdi
mul rsi
mov r12, rsi
mov qword [rsp + 0x258], rdx
mov qword [rsp + 0x248], rax
mov rax, rcx
mov rdi, qword [rsp + 0x1a8]
mul rdi
mov r10, rdx
mov rsi, rax
mov rax, rbx
mul rdi
mov rbx, rdi
mov qword [rsp + 0x270], rdx
mov qword [rsp + 0x268], rax
mov rax, rcx
mov rdi, qword [rsp + 0x178]
mul rdi
mov r9, rdx
mov qword [rsp + 0x2a8], rax
mov rcx, qword [rsp + 0xb8]
mov rax, rcx
mul r15
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x40], rax
mov rax, r13
mul r12
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x38], rax
mov rax, rcx
mul r12
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x158], rax
mov r15, qword [rsp + 0x100]
mov rax, r15
mul rbx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov rax, r13
mov r12, r13
mul rbx
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x1d0], rax
mov r13, rcx
mov rax, rcx
mul rbx
mov qword [rsp + 0x250], rdx
mov qword [rsp + 0x288], rax
mov rcx, r8
mov qword [rsp + 0xc8], r8
mov rax, r8
mul rdi
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xe8], rax
mov rax, r15
mov r8, r15
mul rdi
mov qword [rsp + 0x1c8], rdx
mov qword [rsp + 0x1e8], rax
mov rax, r12
mul rdi
mov qword [rsp + 0x280], rdx
mov qword [rsp + 0x278], rax
mov rax, r13
mul rdi
mov qword [rsp + 0x2a0], rdx
mov qword [rsp + 0x2c8], rax
mov rax, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0x180]
mul rdi
mov rbx, rdx
mov qword [rsp + 0xd8], rax
mov rax, rcx
mul rdi
mov r15, rdx
mov qword [rsp + 0x120], rax
mov rax, r8
mul rdi
mov r8, rdx
mov qword [rsp + 0x2b0], rax
mov rax, r12
mul rdi
mov qword [rsp + 0x2c0], rdx
mov r12, rax
mov rax, r13
mul rdi
movabs rdi, 0x7ffffffffffff
and qword [rsp + 0x108], rdi
mov rcx, qword [rsp + 0x2a8]
add rcx, qword [rsp + 0x268]
adc r9, qword [rsp + 0x270]
add rcx, rax
adc r9, rdx
add rcx, qword [rsp + 0x260]
adc r9, qword [rsp + 0x240]
add rcx, qword [rsp + 0x248]
adc r9, qword [rsp + 0x258]
shld r9, rcx, 0xd
and rcx, rdi
add r14, qword [rsp + 0x1d8]
adc rbp, qword [rsp + 0x148]
add rsi, qword [rsp + 0x210]
adc r10, qword [rsp + 0x1e0]
add rsi, qword [rsp + 0x2c8]
adc r10, qword [rsp + 0x2a0]
add rsi, r12
adc r10, qword [rsp + 0x2c0]
add rsi, qword [rsp + 0xf0]
adc r10, qword [rsp + 0x58]
add rsi, r9
adc r10, 0
shld r10, rsi, 0xd
and rsi, rdi
add r14, qword [rsp + 0x288]
adc rbp, qword [rsp + 0x250]
add r14, qword [rsp + 0x278]
adc rbp, qword [rsp + 0x280]
add r14, qword [rsp + 0x2b0]
adc rbp, r8
add r14, r10
adc rbp, 0
shld rbp, r14, 0xd
and r14, rdi
mov rax, qword [rsp + 0x120]
add rax, qword [rsp + 0x88]
adc r15, qword [rsp + 0x130]
add rax, qword [rsp + 0x158]
adc r15, qword [rsp + 0x160]
add rax, qword [rsp + 0x1d0]
adc r15, qword [rsp + 0x150]
add rax, qword [rsp + 0x1e8]
adc r15, qword [rsp + 0x1c8]
add rax, rbp
adc r15, 0
shld r15, rax, 0xd
and rax, rdi
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0xd8]
add rax, qword [rsp + 0xe8]
adc rbx, qword [rsp + 0xc0]
add rax, qword [rsp + 0x40]
adc rbx, qword [rsp + 0x50]
add rax, qword [rsp + 0x38]
adc rbx, qword [rsp + 0x48]
add rax, qword [rsp + 0x28]
adc rbx, qword [rsp + 0x30]
add rax, r15
adc rbx, 0
shld rbx, rax, 0xd
mov rdx, rax
lea rax, [rbx + rbx*8]
lea rax, [rbx + rax*2]
add rax, rcx
mov r15, rax
mov rbp, rax
shr r15, 0x33
add r15, rsi
mov rax, r15
shr rax, 0x33
add rax, r14
mov qword [rsp + 0x130], rax
mov rax, rdi
and rdx, rdi
mov qword [rsp + 0xd8], rdx
and rbp, rdi
mov qword [rsp + 0x88], rbp
mov rbp, qword [rsp + 0x60]
mov rax, rbp
mov rbx, qword [rsp + 0xf8]
mul rbx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x48], rax
mov rax, rbx
mov rdi, qword [rsp + 0x68]
mul rdi
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0x160], rax
mov rcx, qword [rsp + 0x78]
mov rax, rcx
mul rbx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x80]
mul rbx
mov r8, rbx
mov qword [rsp + 0x1e8], rdx
mov qword [rsp + 0x1e0], rax
mov rax, rbp
mov r9, rbp
mov rbx, qword [rsp + 0xc8]
mul rbx
mov rbp, rdx
mov rsi, rax
mov rax, rdi
mul rbx
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x1d8], rax
mov rax, rcx
mul rbx
mov qword [rsp + 0x260], rdx
mov qword [rsp + 0x258], rax
mov rcx, qword [rsp + 0x100]
mov rax, rcx
mul r9
mov qword [rsp + 0x1d0], rdx
mov qword [rsp + 0x1c8], rax
mov rax, rcx
mov r10, rcx
mul rdi
mov qword [rsp + 0x288], rdx
mov qword [rsp + 0x280], rax
mov r14, qword [rsp + 0xe0]
mov rax, r14
mul r9
mov qword [rsp + 0x270], rdx
mov qword [rsp + 0x268], rax
mov rdi, qword [rsp + 0x1c0]
mov rax, rdi
mul r8
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x90]
mov rax, rcx
mul rbx
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0x80], rax
mov rax, rdi
mov r8, rdi
mul rbx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x58], rax
mov r13, qword [rsp + 0x110]
mov rax, r13
mov rdi, r10
mul r10
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0x60], rax
mov rax, r10
mul rcx
mov r10, rcx
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xf0], rax
mov rax, rdi
mul r8
mov qword [rsp + 0x210], rdx
mov qword [rsp + 0x240], rax
mov rax, r14
mov r12, qword [rsp + 0x70]
mul r12
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x38], rax
mov rax, r13
mul r14
mov qword [rsp + 0x158], rdx
mov qword [rsp + 0x150], rax
mov rax, rcx
mul r14
mov qword [rsp + 0x250], rdx
mov qword [rsp + 0x248], rax
mov rax, r14
mul r8
mov r9, rdx
mov rbx, rax
mov rdi, qword [rsp + 0xb8]
mov rax, rdi
mul qword [rsp + 0x118]
mov rcx, rdx
mov qword [rsp + 0x118], rax
mov rax, rdi
mul r12
mov r12, rdx
mov qword [rsp + 0xe0], rax
mov rax, r13
mul rdi
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x278], rax
mov rax, r10
mul rdi
mov r13, rdx
mov r14, rax
mov rax, r8
mul rdi
movabs rdi, 0x7ffffffffffff
and r15, rdi
mov qword [rsp + 0x110], r15
add rax, qword [rsp + 0x268]
adc rdx, qword [rsp + 0x270]
add rax, qword [rsp + 0x280]
adc rdx, qword [rsp + 0x288]
add rax, qword [rsp + 0x1e0]
adc rdx, qword [rsp + 0x1e8]
add rax, qword [rsp + 0x258]
adc rdx, qword [rsp + 0x260]
shld rdx, rax, 0xd
and rax, rdi
add rsi, qword [rsp + 0x160]
adc rbp, qword [rsp + 0xe8]
add rbx, qword [rsp + 0x1d8]
adc r9, qword [rsp + 0x148]
add rbx, qword [rsp + 0x1c8]
adc r9, qword [rsp + 0x1d0]
add rbx, r14
adc r9, r13
add rbx, qword [rsp + 0x30]
adc r9, qword [rsp + 0x40]
add rbx, rdx
adc r9, 0
shld r9, rbx, 0xd
and rbx, rdi
add rsi, qword [rsp + 0x248]
adc rbp, qword [rsp + 0x250]
add rsi, qword [rsp + 0x240]
adc rbp, qword [rsp + 0x210]
add rsi, qword [rsp + 0x278]
adc rbp, qword [rsp + 0x70]
add rsi, r9
adc rbp, 0
shld rbp, rsi, 0xd
and rsi, rdi
mov rdx, qword [rsp + 0xe0]
add rdx, qword [rsp + 0x48]
adc r12, qword [rsp + 0x50]
add rdx, qword [rsp + 0x58]
adc r12, qword [rsp + 0x28]
add rdx, qword [rsp + 0xf0]
adc r12, qword [rsp + 0xc0]
add rdx, qword [rsp + 0x150]
adc r12, qword [rsp + 0x158]
add rdx, rbp
mov qword [rsp + 0xe0], rdx
adc r12, 0
shld r12, rdx, 0xd
mov rdx, qword [rsp + 0x118]
add rdx, qword [rsp + 0x68]
adc rcx, qword [rsp + 0x78]
add rdx, qword [rsp + 0x38]
adc rcx, qword [rsp + 0x100]
add rdx, qword [rsp + 0x80]
adc rcx, qword [rsp + 0xf8]
add rdx, qword [rsp + 0x60]
adc rcx, qword [rsp + 0xc8]
add rdx, r12
mov qword [rsp + 0x118], rdx
adc rcx, 0
shld rcx, rdx, 0xd
lea rdx, [rcx + rcx*8]
lea r14, [rcx + rdx*2]
add r14, rax
mov rax, r14
shr rax, 0x33
add rax, rbx
mov qword [rsp + 0x1c0], rax
shr rax, 0x33
add rax, rsi
mov qword [rsp + 0xf8], rax
mov rcx, qword [rsp + 0x140]
lea rax, [rcx + rcx*8]
lea rcx, [rcx + rax*2]
mov rax, rcx
mov rbx, qword [rsp + 0x98]
mul rbx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0xb8], rdx
mov r15, qword [rsp + 0x138]
lea rax, [r15 + r15*8]
lea rbp, [r15 + rax*2]
mov rax, rbp
mul rbx
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x60], rdx
mov r8, qword [rsp + 0x1a8]
lea rax, [r8 + r8*8]
lea rdi, [r8 + rax*2]
mov rax, rdi
mul rbx
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rdx
mov r9, qword [rsp + 0x178]
lea rax, [r9 + r9*8]
lea rax, [r9 + rax*2]
mul rbx
mov qword [rsp + 0x1c8], rdx
mov qword [rsp + 0x1e8], rax
mov rsi, qword [rsp + 0xa8]
mov rax, rsi
mul rcx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rax
mov rax, rsi
mul rbp
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x158], rax
mov rax, rsi
mul rdi
mov qword [rsp + 0x1e0], rdx
mov qword [rsp + 0x210], rax
mov rdi, qword [rsp + 0xa0]
mov rax, rdi
mul rcx
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x148], rax
mov rax, rbp
mul rdi
mov qword [rsp + 0x240], rdx
mov qword [rsp + 0x260], rax
mov rbp, qword [rsp + 0x198]
mov rax, rbp
mul rcx
mov qword [rsp + 0x248], rdx
mov r13, rax
mov rcx, qword [rsp + 0x180]
mov rax, rcx
mul rbx
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], rax
mov rax, rsi
mul r9
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x78], rax
mov rax, rsi
mul rcx
mov rbx, rcx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov rax, rdi
mul r8
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x50], rax
mov rax, rdi
mul r9
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0xc0], rax
mov rax, rdi
mul rcx
mov qword [rsp + 0x1d8], rdx
mov qword [rsp + 0x1d0], rax
mov rax, r15
mul rbp
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x38], rax
mov rax, r8
mul rbp
mov r10, rdx
mov qword [rsp + 0xc8], rax
mov rax, rbp
mul r9
mov qword [rsp + 0x258], rdx
mov qword [rsp + 0x250], rax
mov rax, rbp
mul rcx
mov rbp, rdx
mov r12, rax
mov rdi, qword [rsp + 0x1a0]
mov rax, rdi
mul qword [rsp + 0x140]
mov rcx, rdx
mov qword [rsp + 0x100], rax
mov rax, r15
mul rdi
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x138], rax
mov rax, r8
mul rdi
mov r8, rdx
mov r15, rax
mov rax, r9
mul rdi
mov r9, rdx
mov rsi, rax
mov rax, rdi
mul rbx
movabs rbx, 0x7ffffffffffff
and r14, rbx
mov qword [rsp + 0x1a0], r14
add rax, qword [rsp + 0x1e8]
adc rdx, qword [rsp + 0x1c8]
add rax, r13
adc rdx, qword [rsp + 0x248]
add rax, qword [rsp + 0x210]
adc rdx, qword [rsp + 0x1e0]
add rax, qword [rsp + 0x260]
adc rdx, qword [rsp + 0x240]
mov rdi, rdx
shr rdi, 0x33
shld rdx, rax, 0xd
and rax, rbx
mov r13, rbx
add rsi, r12
adc r9, rbp
add rsi, qword [rsp + 0xe8]
adc r9, qword [rsp + 0xf0]
add rsi, qword [rsp + 0x148]
adc r9, qword [rsp + 0x150]
add rsi, qword [rsp + 0x158]
adc r9, qword [rsp + 0x160]
add rsi, rdx
adc r9, rdi
mov rdx, r9
shr rdx, 0x33
shld r9, rsi, 0xd
and rsi, rbx
add r15, qword [rsp + 0x250]
adc r8, qword [rsp + 0x258]
add r15, qword [rsp + 0x1d0]
adc r8, qword [rsp + 0x1d8]
add r15, qword [rsp + 0x90]
adc r8, qword [rsp + 0x60]
add r15, qword [rsp + 0x40]
adc r8, qword [rsp + 0x48]
add r15, r9
adc r8, rdx
mov rdx, r8
shr rdx, 0x33
shld r8, r15, 0xd
and r15, rbx
mov rbp, qword [rsp + 0xc8]
add rbp, qword [rsp + 0x80]
adc r10, qword [rsp + 0xb8]
add rbp, qword [rsp + 0xc0]
adc r10, qword [rsp + 0x58]
add rbp, qword [rsp + 0x138]
adc r10, qword [rsp + 0x140]
add rbp, qword [rsp + 0x28]
adc r10, qword [rsp + 0x30]
add rbp, r8
adc r10, rdx
mov rdx, r10
shr rdx, 0x33
shld r10, rbp, 0xd
and rbp, rbx
mov qword [rsp + 0xc8], rbp
mov rbp, qword [rsp + 0x100]
add rbp, qword [rsp + 0x68]
adc rcx, qword [rsp + 0x70]
add rbp, qword [rsp + 0x50]
adc rcx, qword [rsp + 0xa8]
add rbp, qword [rsp + 0x38]
adc rcx, qword [rsp + 0xa0]
add rbp, qword [rsp + 0x78]
adc rcx, qword [rsp + 0x98]
add rbp, r10
adc rcx, rdx
shld rcx, rbp, 0xd
mov rdi, rbp
lea rdx, [rcx + rcx*8]
lea rcx, [rcx + rdx*2]
add rcx, rax
mov rax, rcx
mov rbx, rcx
shr rax, 0x33
add rax, rsi
mov qword [rsp + 0x1a8], rax
shr rax, 0x33
add rax, r15
mov qword [rsp + 0x180], rax
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x88]
lea rax, [rcx + rdx]
mov qword [rsp + 0x90], rax
movabs rax, 0xffffffffffffe
add rax, rdx
add rax, 0xffffffffffffffdc
sub rax, rcx
mov qword [rsp + 0x198], rax
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x108]
lea rax, [rdx + rcx]
mov qword [rsp + 0x178], rax
movabs rax, 0xffffffffffffe
add rcx, rax
sub rcx, rdx
mov qword [rsp + 0x110], rcx
mov rcx, qword [rsp + 0x130]
mov rdx, qword [rsp + 0xd0]
lea r14, [rdx + rcx]
movabs rax, 0xffffffffffffe
add rcx, rax
sub rcx, rdx
mov qword [rsp + 0x130], rcx
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x1b8]
lea r15, [rdx + rcx]
movabs rax, 0xffffffffffffe
add rcx, rax
sub rcx, rdx
mov qword [rsp + 0x120], rcx
mov rdx, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0x170]
lea rcx, [rdx + rbp]
movabs rax, 0xffffffffffffe
add rdx, rax
sub rdx, rbp
mov qword [rsp + 0xd8], rdx
mov rax, r13
and rdi, r13
mov qword [rsp + 0x100], rdi
and rbx, r13
mov qword [rsp + 0x1b8], rbx
mov rdx, qword [rsp + 0x1b0]
lea rax, [rdx + rdx*8]
lea rsi, [rdx + rax*2]
mov rax, rcx
mul rsi
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x170], rdx
mov rdx, qword [rsp + 0x128]
lea rax, [rdx + rdx*8]
lea r10, [rdx + rax*2]
mov rax, rcx
mul r10
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdx
mov r9, qword [rsp + 0x208]
lea rax, [r9 + r9*8]
lea r8, [r9 + rax*2]
mov rax, rcx
mul r8
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdx
lea rax, [r11 + r11*8]
lea rdx, [r11 + rax*2]
mov rax, rcx
mul rdx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0xc0], rax
mov rax, r15
mul rsi
mov rbx, rdx
mov rbp, rax
mov rax, r15
mul r10
mov r12, rdx
mov rdi, rax
mov rax, r15
mul r8
mov r8, rdx
mov r13, rax
mov rax, r14
mul rsi
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x40], rax
mov rax, r14
mul r10
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x178]
mul rsi
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x1d8], rax
mov rax, rcx
mov r10, qword [rsp + 0x230]
mul r10
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xb0], rax
mov rax, r15
mul r11
mov rcx, rdx
mov qword [rsp + 0x140], rax
mov rax, r15
mul r10
mov r15, rdx
mov qword [rsp + 0x138], rax
mov rax, r14
mul r9
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xa8], rax
mov rax, r14
mul r11
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x80], rax
mov rax, r14
mul r10
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov rsi, qword [rsp + 0x178]
mov rax, rsi
mov r14, qword [rsp + 0x128]
mul r14
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x98], rax
mov rax, rsi
mul r9
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x38], rax
mov rax, rsi
mul r11
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x150], rax
mov rax, rsi
mul r10
mov qword [rsp + 0x1d0], rdx
mov qword [rsp + 0x1c8], rax
mov rsi, qword [rsp + 0x90]
mov rax, rsi
mul qword [rsp + 0x1b0]
mov qword [rsp + 0x1b0], rdx
mov qword [rsp + 0x178], rax
mov rax, rsi
mul r14
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0xf0], rax
mov rax, rsi
mul r9
mov r14, rdx
mov qword [rsp + 0x208], rax
mov rax, rsi
mul r11
mov r11, rdx
mov r9, rax
mov rax, rsi
mul r10
movabs rsi, 0x7ffffffffffff
and qword [rsp + 0x1a8], rsi
add r13, qword [rsp + 0xc0]
adc r8, qword [rsp + 0x58]
add r13, rax
adc r8, rdx
add r13, qword [rsp + 0x1d8]
adc r8, qword [rsp + 0x148]
add r13, qword [rsp + 0x158]
adc r8, qword [rsp + 0xe8]
shld r8, r13, 0xd
and r13, rsi
add rbp, qword [rsp + 0x70]
adc rbx, qword [rsp + 0x78]
add rdi, qword [rsp + 0x60]
adc r12, qword [rsp + 0x68]
add rdi, r9
adc r12, r11
add rdi, qword [rsp + 0x1c8]
adc r12, qword [rsp + 0x1d0]
add rdi, qword [rsp + 0x40]
adc r12, qword [rsp + 0x50]
add rdi, r8
adc r12, 0
shld r12, rdi, 0xd
and rdi, rsi
add rbp, qword [rsp + 0x208]
adc rbx, r14
add rbp, qword [rsp + 0x150]
adc rbx, qword [rsp + 0x160]
add rbp, qword [rsp + 0x28]
adc rbx, qword [rsp + 0x30]
add rbp, r12
adc rbx, 0
shld rbx, rbp, 0xd
and rbp, rsi
mov rax, qword [rsp + 0x138]
add rax, qword [rsp + 0x108]
adc r15, qword [rsp + 0x170]
add rax, qword [rsp + 0xf0]
adc r15, qword [rsp + 0x128]
add rax, qword [rsp + 0x38]
adc r15, qword [rsp + 0x48]
add rax, qword [rsp + 0x80]
adc r15, qword [rsp + 0x88]
add rax, rbx
adc r15, 0
shld r15, rax, 0xd
and rax, rsi
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x140]
add rax, qword [rsp + 0xb0]
adc rcx, qword [rsp + 0xb8]
add rax, qword [rsp + 0x178]
adc rcx, qword [rsp + 0x1b0]
add rax, qword [rsp + 0x98]
adc rcx, qword [rsp + 0xa0]
add rax, qword [rsp + 0xa8]
adc rcx, qword [rsp + 0xd0]
add rax, r15
adc rcx, 0
shld rcx, rax, 0xd
mov rdx, rax
lea rax, [rcx + rcx*8]
lea rax, [rcx + rax*2]
add rax, r13
mov rcx, rax
mov rbx, rax
shr rcx, 0x33
add rcx, rdi
mov qword [rsp + 0x208], rcx
mov rax, rcx
shr rax, 0x33
add rax, rbp
mov qword [rsp + 0x230], rax
mov rax, rsi
and rdx, rsi
mov qword [rsp + 0x140], rdx
and rbx, rsi
mov qword [rsp + 0x178], rbx
mov rcx, qword [rsp + 0x190]
lea rax, [rcx + rcx*8]
lea rbx, [rcx + rax*2]
mov rbp, qword [rsp + 0xd8]
mov rax, rbp
mul rbx
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x170], rdx
mov rcx, qword [rsp + 0x20]
lea rax, [rcx + rcx*8]
lea rsi, [rcx + rax*2]
mov rax, rbp
mul rsi
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rdx
mov r14, qword [rsp + 0x220]
lea rax, [r14 + r14*8]
lea r9, [r14 + rax*2]
mov rax, rbp
mul r9
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rdx
mov r15, qword [rsp + 0x228]
lea rax, [r15 + r15*8]
lea rcx, [r15 + rax*2]
mov rax, rbp
mul rcx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rax
mov r11, qword [rsp + 0x120]
mov rax, r11
mul rbx
mov r8, rdx
mov r12, rax
mov rax, r11
mul rsi
mov rbp, rdx
mov rdi, rax
mov rax, r11
mul r9
mov r10, rdx
mov qword [rsp + 0xf0], rax
mov r13, qword [rsp + 0x130]
mov rax, r13
mul rbx
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rax
mov rax, r13
mul rsi
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x110]
mov rax, rcx
mul rbx
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0xd8]
mov r9, qword [rsp + 0x188]
mul r9
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xb8], rax
mov rax, r11
mul r15
mov rbx, rdx
mov qword [rsp + 0x128], rax
mov rax, r11
mul r9
mov rsi, rdx
mov qword [rsp + 0x1b0], rax
mov rax, r13
mul r14
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0xd0], rax
mov rax, r13
mul r15
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x98], rax
mov rax, r13
mul r9
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x50], rax
mov rax, rcx
mov r11, qword [rsp + 0x20]
mul r11
mov r13, rdx
mov qword [rsp + 0x130], rax
mov rax, rcx
mul r14
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rax
mov rax, rcx
mul r15
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0xc0], rax
mov rax, rcx
mul r9
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x148], rax
mov rcx, qword [rsp + 0x198]
mov rax, rcx
mul qword [rsp + 0x190]
mov qword [rsp + 0x190], rdx
mov qword [rsp + 0x110], rax
mov rax, rcx
mul r11
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x38], rax
mov rax, rcx
mul r14
mov qword [rsp + 0x220], rdx
mov qword [rsp + 0x158], rax
mov rax, rcx
mul r15
mov r11, rdx
mov r14, rax
mov rax, rcx
mul r9
movabs r9, 0x7ffffffffffff
and qword [rsp + 0x208], r9
mov r15, qword [rsp + 0xf0]
add r15, qword [rsp + 0x40]
adc r10, qword [rsp + 0x48]
add r15, rax
adc r10, rdx
add r15, qword [rsp + 0x160]
adc r10, qword [rsp + 0xe8]
add r15, qword [rsp + 0x58]
adc r10, qword [rsp + 0x30]
shld r10, r15, 0xd
and r15, r9
add rdi, qword [rsp + 0x80]
adc rbp, qword [rsp + 0x88]
add rdi, r14
adc rbp, r11
add rdi, qword [rsp + 0x148]
adc rbp, qword [rsp + 0x150]
add rdi, qword [rsp + 0x60]
adc rbp, qword [rsp + 0x68]
add rdi, r10
adc rbp, 0
shld rbp, rdi, 0xd
and rdi, r9
add r12, qword [rsp + 0xa8]
adc r8, qword [rsp + 0xb0]
add r12, qword [rsp + 0x158]
adc r8, qword [rsp + 0x220]
add r12, qword [rsp + 0xc0]
adc r8, qword [rsp + 0x28]
add r12, qword [rsp + 0x50]
adc r8, qword [rsp + 0x90]
add r12, rbp
adc r8, 0
shld r8, r12, 0xd
and r12, r9
mov rax, qword [rsp + 0x1b0]
add rax, qword [rsp + 0x108]
adc rsi, qword [rsp + 0x170]
add rax, qword [rsp + 0x38]
adc rsi, qword [rsp + 0x20]
add rax, qword [rsp + 0x70]
adc rsi, qword [rsp + 0x78]
add rax, qword [rsp + 0x98]
adc rsi, qword [rsp + 0xa0]
add rax, r8
adc rsi, 0
shld rsi, rax, 0xd
and rax, r9
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x128]
add rax, qword [rsp + 0xb8]
adc rbx, qword [rsp + 0xd8]
add rax, qword [rsp + 0x110]
adc rbx, qword [rsp + 0x190]
add rax, qword [rsp + 0x130]
adc rbx, r13
add rax, qword [rsp + 0xd0]
adc rbx, qword [rsp + 0x120]
add rax, rsi
adc rbx, 0
shld rbx, rax, 0xd
mov rcx, rax
lea rax, [rbx + rbx*8]
lea rdx, [rbx + rax*2]
add rdx, r15
mov rax, rdx
mov rbp, rdx
shr rax, 0x33
add rax, rdi
mov qword [rsp + 0x20], rax
mov rdx, rax
shr rdx, 0x33
add rdx, r12
mov qword [rsp + 0x228], rdx
mov rax, r9
and rcx, r9
mov qword [rsp + 0x128], rcx
and rbp, r9
mov qword [rsp + 0x220], rbp
mov rcx, qword [rsp + 0x100]
lea rax, [rcx + rcx*8]
lea rbp, [rcx + rax*2]
mov rax, rbp
mov r12, qword [rsp + 0x1f0]
mul r12
mov qword [rsp + 0x120], rax
mov qword [rsp + 0xd8], rdx
mov rdx, qword [rsp + 0xc8]
lea rax, [rdx + rdx*8]
lea r8, [rdx + rax*2]
mov rax, r8
mul r12
mov qword [rsp + 0x88], rax
mov qword [rsp + 0xa0], rdx
mov rdx, qword [rsp + 0x180]
lea rax, [rdx + rdx*8]
lea rsi, [rdx + rax*2]
mov rax, rsi
mul r12
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xd0], rdx
mov r10, qword [rsp + 0x1a8]
lea rax, [r10 + r10*8]
lea rax, [r10 + rax*2]
mul r12
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x50], rax
mov rax, rbp
mov rdi, qword [rsp + 0x1f8]
mul rdi
mov rbx, rdx
mov rcx, rax
mov rax, r8
mul rdi
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rax
mov rax, rsi
mul rdi
mov r9, rdi
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x38], rax
mov rax, rbp
mov rdi, qword [rsp + 0x218]
mul rdi
mov r14, rdx
mov rsi, rax
mov rax, r8
mul rdi
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xf0], rax
mov rax, rbp
mov rbp, qword [rsp + 0x200]
mul rbp
mov r13, rdx
mov r11, rax
mov r15, qword [rsp + 0x1b8]
mov rax, r15
mul r12
mov qword [rsp + 0x170], rdx
mov qword [rsp + 0x110], rax
mov rax, r10
mul r9
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x108], rax
mov rax, r15
mul r9
mov qword [rsp + 0x1f8], rdx
mov qword [rsp + 0xa8], rax
mov r9, qword [rsp + 0x180]
mov rax, r9
mul rdi
mov qword [rsp + 0x198], rdx
mov qword [rsp + 0xb8], rax
mov rax, r10
mul rdi
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x80], rax
mov rax, r15
mul rdi
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x30], rax
mov r8, qword [rsp + 0xc8]
mov rax, r8
mul rbp
mov qword [rsp + 0x218], rdx
mov qword [rsp + 0x1f0], rax
mov rax, r9
mul rbp
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rax
mov rax, r10
mul rbp
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x58], rax
mov rax, r15
mul rbp
mov qword [rsp + 0x200], rdx
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x238]
mul rdi
mov rbp, rdx
mov qword [rsp + 0x190], rax
mov rax, r8
mul rdi
mov r12, rdx
mov qword [rsp + 0x188], rax
mov rax, r9
mul rdi
mov r9, rdx
mov qword [rsp + 0xc8], rax
mov rax, r10
mul rdi
mov r10, rdx
mov r8, rax
mov rax, r15
mul rdi
movabs r15, 0x7ffffffffffff
and qword [rsp + 0x20], r15
add r11, qword [rsp + 0xf0]
adc r13, qword [rsp + 0xc0]
add r11, rax
adc r13, rdx
add r11, qword [rsp + 0x50]
adc r13, qword [rsp + 0x90]
add r11, qword [rsp + 0x38]
adc r13, qword [rsp + 0x48]
shld r13, r11, 0xd
and r11, r15
add rcx, qword [rsp + 0x88]
adc rbx, qword [rsp + 0xa0]
add rsi, qword [rsp + 0x60]
adc r14, qword [rsp + 0x68]
add rsi, qword [rsp + 0xe8]
adc r14, qword [rsp + 0x200]
add rsi, r8
adc r14, r10
add rsi, qword [rsp + 0xb0]
adc r14, qword [rsp + 0xd0]
add rsi, r13
adc r14, 0
shld r14, rsi, 0xd
and rsi, r15
add rcx, qword [rsp + 0x30]
adc rbx, qword [rsp + 0x40]
add rcx, qword [rsp + 0x58]
adc rbx, qword [rsp + 0x28]
add rcx, qword [rsp + 0xc8]
adc rbx, r9
add rcx, r14
adc rbx, 0
shld rbx, rcx, 0xd
mov rax, qword [rsp + 0x188]
add rax, qword [rsp + 0x120]
adc r12, qword [rsp + 0xd8]
add rax, qword [rsp + 0xa8]
adc r12, qword [rsp + 0x1f8]
add rax, qword [rsp + 0x80]
adc r12, qword [rsp + 0x98]
add rax, qword [rsp + 0x70]
adc r12, qword [rsp + 0x78]
add rax, rbx
mov qword [rsp + 0x188], rax
adc r12, 0
shld r12, rax, 0xd
mov rax, qword [rsp + 0x190]
add rax, qword [rsp + 0x1f0]
adc rbp, qword [rsp + 0x218]
add rax, qword [rsp + 0x110]
adc rbp, qword [rsp + 0x170]
add rax, qword [rsp + 0x108]
adc rbp, qword [rsp + 0x130]
add rax, qword [rsp + 0xb8]
adc rbp, qword [rsp + 0x198]
add rax, r12
mov qword [rsp + 0x190], rax
adc rbp, 0
shld rbp, rax, 0xd
lea rax, [rbp*8]
add rax, rbp
lea r10, [rax*2]
add r10, rbp
add r10, r11
mov rax, r10
shr rax, 0x33
add rax, rsi
and rcx, r15
mov r15, rax
mov rsi, rax
shr r15, 0x33
add r15, rcx
mov qword [rsp + 0x130], r15
movabs rax, 0xffffffffffffe
mov rcx, qword [rsp + 0x178]
lea rdx, [rcx + rax]
add rdx, 0xffffffffffffffdc
mov rax, qword [rsp + 0x220]
sub rdx, rax
mov qword [rsp + 0x100], rdx
add rax, rcx
mov qword [rsp + 0x220], rax
movabs rax, 0xffffffffffffe
mov rdx, qword [rsp + 0x208]
lea rcx, [rdx + rax]
mov rax, qword [rsp + 0x20]
sub rcx, rax
mov qword [rsp + 0x120], rcx
add rax, rdx
mov qword [rsp + 0x20], rax
movabs rax, 0xffffffffffffe
mov rcx, qword [rsp + 0x230]
lea rdx, [rcx + rax]
mov rax, qword [rsp + 0x228]
sub rdx, rax
mov qword [rsp + 0xd8], rdx
add rax, rcx
mov qword [rsp + 0x228], rax
movabs rax, 0xffffffffffffe
mov rcx, qword [rsp + 0x138]
lea r13, [rcx + rax]
mov rax, qword [rsp + 0x1b0]
sub r13, rax
add rax, rcx
mov qword [rsp + 0x1b0], rax
mov rcx, qword [rsp + 0xe0]
add rcx, rcx
movabs rax, 0xffffffffffffe
and rcx, rax
mov rdx, qword [rsp + 0xf8]
lea r11, [rdx + rdx]
shr rdx, 0x32
add rdx, rcx
mov rbp, qword [rsp + 0x118]
add rbp, rbp
movabs rcx, 0xffffffffffffe
and rbp, rcx
mov rbx, rdx
mov r12, rdx
shr rbx, 0x33
add rbx, rbp
mov rcx, rbx
mov r14, rbx
shr rcx, 0x33
lea rdx, [rcx + rcx*8]
lea r9, [rcx + rdx*2]
mov rbp, qword [rsp + 0x1a0]
mov rcx, rbp
add rcx, rbp
mov rdx, qword [rsp + 0x168]
and rcx, rdx
add r9, rcx
shr rbp, 0x32
mov rbx, qword [rsp + 0x1c0]
lea rdi, [rbx + rbx]
and rdi, rdx
or rdi, rbp
mov rcx, r9
shr rcx, 0x33
add rdi, rcx
and r11, rdx
mov rcx, rbx
shr rcx, 0x32
and ecx, 1
or r11, rcx
mov r8, rdi
shr rdi, 0x33
add rdi, r11
mov r11, rdi
mov qword [rsp + 0xe0], rdi
movabs rcx, 0x7ffffffffffff
mov rbx, rsi
and rbx, rcx
mov qword [rsp + 0x110], rbx
movabs rax, 0xffffffffffffe
mov rdx, qword [rsp + 0x140]
add rdx, rax
sub rdx, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x190]
and rsi, rcx
mov qword [rsp + 0x190], rsi
and r10, rcx
mov qword [rsp + 0x118], r10
mov rbp, qword [rsp + 0x188]
and rbp, rcx
mov qword [rsp + 0x188], rbp
and r8, rcx
mov qword [rsp + 0x218], r8
and r12, rcx
mov qword [rsp + 0xf8], r12
and r9, rcx
mov qword [rsp + 0x238], r9
and r14, rcx
mov qword [rsp + 0x180], r14
movabs rax, 0xffffffffffffe
add rax, 0xffffffffffffffdc
sub rax, r10
add rax, r9
mov qword [rsp + 0x178], rax
movabs r10, 0xffffffffffffe
sub r10, rbx
add r10, r8
movabs rbx, 0xffffffffffffe
sub rbx, r15
add rbx, rdi
movabs rdi, 0xffffffffffffe
sub rdi, rbp
add rdi, r12
mov qword [rsp + 0x1a8], rdi
movabs rcx, 0xffffffffffffe
sub rcx, rsi
add rcx, r14
mov qword [rsp + 0x138], rcx
lea rax, [rcx + rcx*8]
lea rsi, [rcx + rax*2]
mov r11, rdx
mov rax, rdx
mul rsi
mov qword [rsp + 0x1f8], rax
mov qword [rsp + 0x200], rdx
lea rax, [rdi + rdi*8]
lea r12, [rdi + rax*2]
mov rax, r11
mul r12
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rdx
mov r15, rbx
lea rax, [rbx + rbx*8]
lea rbp, [rbx + rax*2]
mov rax, r11
mul rbp
mov rdi, rbp
mov qword [rsp + 0x1a0], rbp
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0xc8], r10
lea rax, [r10 + r10*8]
lea rdx, [r10 + rax*2]
mov qword [rsp + 0x108], rdx
mov rax, r11
mov qword [rsp + 0x170], r11
mul rdx
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xe8], rax
mov r8, r13
mov rax, r13
mov rbx, rsi
mul rsi
mov r10, rdx
mov r14, rax
mov rax, r13
mul r12
mov qword [rsp + 0x198], r12
mov r9, rdx
mov r13, rax
mov rax, r8
mov qword [rsp + 0x1b8], r8
mul rbp
mov rbp, rdx
mov qword [rsp + 0x1e0], rax
mov rcx, qword [rsp + 0xd8]
mov rax, rcx
mul rsi
mov rdi, rsi
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rax
mov rax, rcx
mov rbx, rcx
mul r12
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x148], rax
mov rcx, qword [rsp + 0x120]
mov rax, rcx
mul rsi
mov qword [rsp + 0x1d8], rdx
mov qword [rsp + 0x1d0], rax
mov rax, r11
mov rdi, qword [rsp + 0x178]
mul rdi
mov qword [rsp + 0x1f0], rdx
mov qword [rsp + 0xd0], rax
mov rax, r8
mov rsi, qword [rsp + 0xc8]
mul rsi
mov r11, rdx
mov qword [rsp + 0x230], rax
mov rax, r8
mul rdi
mov r8, rdx
mov qword [rsp + 0x208], rax
mov rax, rbx
mul r15
mov qword [rsp + 0x168], rdx
mov qword [rsp + 0xb0], rax
mov rax, rbx
mul rsi
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x88], rax
mov rax, rbx
mul rdi
mov r12, rdi
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov rax, rcx
mov rsi, qword [rsp + 0x1a8]
mul rsi
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xa0], rax
mov rax, rcx
mov qword [rsp + 0x1c0], r15
mul r15
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x48], rax
mov rax, rcx
mov rbx, qword [rsp + 0xc8]
mul rbx
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x158], rax
mov rax, rcx
mul rdi
mov rdi, rdx
mov qword [rsp + 0x210], rax
mov rcx, qword [rsp + 0x100]
mov rax, rcx
mul qword [rsp + 0x138]
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x78], rax
mov rax, rcx
mul rsi
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0xc0], rax
mov rax, rcx
mul r15
mov qword [rsp + 0x1c8], rdx
mov qword [rsp + 0x1e8], rax
mov rax, rcx
mul rbx
mov rbx, rdx
mov rsi, rax
mov rax, rcx
mul r12
mov rcx, qword [rsp + 0x128]
add rcx, qword [rsp + 0x140]
mov qword [rsp + 0x128], rcx
mov r12, qword [rsp + 0x1e0]
add r12, qword [rsp + 0xe8]
adc rbp, qword [rsp + 0xf0]
add r12, rax
adc rbp, rdx
add r12, qword [rsp + 0x1d0]
adc rbp, qword [rsp + 0x1d8]
add r12, qword [rsp + 0x148]
adc rbp, qword [rsp + 0x150]
mov rax, rbp
shr rax, 0x33
shld rbp, r12, 0xd
movabs r15, 0x7ffffffffffff
and r12, r15
add r14, qword [rsp + 0x68]
adc r10, qword [rsp + 0x70]
add r13, qword [rsp + 0x90]
adc r9, qword [rsp + 0x60]
add r13, rsi
adc r9, rbx
add r13, qword [rsp + 0x210]
adc r9, rdi
add r13, qword [rsp + 0x38]
adc r9, qword [rsp + 0x40]
add r13, rbp
adc r9, rax
mov rax, r9
shr rax, 0x33
shld r9, r13, 0xd
and r13, r15
add r14, qword [rsp + 0x1e8]
adc r10, qword [rsp + 0x1c8]
add r14, qword [rsp + 0x158]
adc r10, qword [rsp + 0x160]
add r14, qword [rsp + 0x28]
adc r10, qword [rsp + 0x30]
add r14, r9
adc r10, rax
mov rax, r10
shr rax, 0x33
shld r10, r14, 0xd
and r14, r15
mov rdx, qword [rsp + 0x208]
add rdx, qword [rsp + 0x1f8]
adc r8, qword [rsp + 0x200]
add rdx, qword [rsp + 0xc0]
adc r8, qword [rsp + 0x58]
add rdx, qword [rsp + 0x48]
adc r8, qword [rsp + 0x50]
add rdx, qword [rsp + 0x88]
adc r8, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x238]
add rcx, rbp
mov qword [rsp + 0x118], rcx
add rdx, r10
adc r8, rax
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x218]
add rcx, rax
mov rax, r8
shr rax, 0x33
shld r8, rdx, 0xd
and rdx, r15
mov qword [rsp + 0x208], rdx
mov rdx, qword [rsp + 0x230]
add rdx, qword [rsp + 0xd0]
adc r11, qword [rsp + 0x1f0]
mov rbp, qword [rsp + 0x130]
mov rbx, qword [rsp + 0xe0]
lea rsi, [rbx + rbp]
add rdx, qword [rsp + 0x78]
adc r11, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x188]
mov rbx, qword [rsp + 0xf8]
lea r9, [rbx + rbp]
add rdx, qword [rsp + 0xa0]
adc r11, qword [rsp + 0xa8]
add rdx, qword [rsp + 0xb0]
adc r11, qword [rsp + 0x168]
add rdx, r8
adc r11, rax
shld r11, rdx, 0xd
mov rax, qword [rsp + 0x190]
mov rbp, qword [rsp + 0x180]
lea rdi, [rax + rbp]
lea rax, [r11 + r11*8]
lea rbp, [r11 + rax*2]
add rbp, r12
mov rax, rbp
mov rbx, rbp
shr rax, 0x33
add rax, r13
mov qword [rsp + 0x140], rax
mov rbp, rax
shr rbp, 0x33
add rbp, r14
mov qword [rsp + 0x130], rbp
mov rax, r15
and rdx, r15
mov qword [rsp + 0x230], rdx
and rbx, r15
mov qword [rsp + 0x110], rbx
mov qword [rsp + 0xe0], rdi
lea rax, [rdi + rdi*8]
lea rbx, [rdi + rax*2]
mov r14, qword [rsp + 0x128]
mov rax, r14
mul rbx
mov qword [rsp + 0x238], rax
mov qword [rsp + 0x180], rdx
mov qword [rsp + 0xf8], r9
lea rax, [r9 + r9*8]
lea r15, [r9 + rax*2]
mov rax, r14
mul r15
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rdx
lea rax, [rsi + rsi*8]
lea r9, [rsi + rax*2]
mov rax, r14
mul r9
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rdx
lea rax, [rcx + rcx*8]
lea rdx, [rcx + rax*2]
mov rax, r14
mul rdx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0xc0], rax
mov rdi, qword [rsp + 0x1b0]
mov rax, rdi
mul rbx
mov r8, rdx
mov rbp, rax
mov rax, rdi
mul r15
mov r11, rdx
mov r12, rax
mov rax, rdi
mov r13, rdi
mul r9
mov r10, rdx
mov qword [rsp + 0x150], rax
mov r9, qword [rsp + 0x228]
mov rax, r9
mul rbx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x48], rax
mov rax, r9
mul r15
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x158], rax
mov r15, qword [rsp + 0x20]
mov rax, r15
mul rbx
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x1d8], rax
mov rax, r14
mov rdi, qword [rsp + 0x118]
mul rdi
mov qword [rsp + 0x218], rdx
mov qword [rsp + 0x1f0], rax
mov rbx, r13
mov rax, r13
mul rcx
mov r13, rdx
mov qword [rsp + 0x188], rax
mov rax, rbx
mul rdi
mov r14, rdx
mov qword [rsp + 0x190], rax
mov rax, r9
mov rbx, rsi
mul rsi
mov qword [rsp + 0x1f8], rdx
mov qword [rsp + 0x168], rax
mov rax, r9
mul rcx
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xa0], rax
mov rax, r9
mul rdi
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rax
mov rax, r15
mov rsi, qword [rsp + 0xf8]
mul rsi
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xb0], rax
mov rax, r15
mul rbx
mov r9, rbx
mov qword [rsp + 0x200], rbx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x90], rax
mov rax, r15
mul rcx
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xe8], rax
mov rax, r15
mul rdi
mov rbx, rdi
mov qword [rsp + 0x1e8], rdx
mov qword [rsp + 0x1e0], rax
mov rdi, qword [rsp + 0x220]
mov rax, rdi
mul qword [rsp + 0xe0]
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x88], rax
mov rax, rdi
mul rsi
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov rax, rdi
mul r9
mov qword [rsp + 0x1d0], rdx
mov qword [rsp + 0x1c8], rax
mov rax, rdi
mul rcx
mov r15, rdx
mov r9, rax
mov rax, rdi
mul rbx
movabs rdi, 0x7ffffffffffff
and qword [rsp + 0x140], rdi
mov rsi, qword [rsp + 0x150]
add rsi, qword [rsp + 0xc0]
adc r10, qword [rsp + 0x58]
add rsi, rax
adc r10, rdx
add rsi, qword [rsp + 0x1d8]
adc r10, qword [rsp + 0x148]
add rsi, qword [rsp + 0x158]
adc r10, qword [rsp + 0x160]
mov rax, r10
shr rax, 0x33
shld r10, rsi, 0xd
and rsi, rdi
add rbp, qword [rsp + 0x78]
adc r8, qword [rsp + 0x80]
add r12, qword [rsp + 0x68]
adc r11, qword [rsp + 0x70]
add r12, r9
adc r11, r15
add r12, qword [rsp + 0x1e0]
adc r11, qword [rsp + 0x1e8]
add r12, qword [rsp + 0x48]
adc r11, qword [rsp + 0x50]
add r12, r10
adc r11, rax
mov rax, r11
shr rax, 0x33
shld r11, r12, 0xd
and r12, rdi
add rbp, qword [rsp + 0x1c8]
adc r8, qword [rsp + 0x1d0]
add rbp, qword [rsp + 0xe8]
adc r8, qword [rsp + 0xf0]
add rbp, qword [rsp + 0x38]
adc r8, qword [rsp + 0x40]
add rbp, r11
adc r8, rax
mov rax, r8
shr rax, 0x33
shld r8, rbp, 0xd
and rbp, rdi
mov r9, rdi
mov rdx, qword [rsp + 0x190]
add rdx, qword [rsp + 0x238]
adc r14, qword [rsp + 0x180]
add rdx, qword [rsp + 0x28]
adc r14, qword [rsp + 0x30]
add rdx, qword [rsp + 0x90]
adc r14, qword [rsp + 0x60]
add rdx, qword [rsp + 0xa0]
adc r14, qword [rsp + 0xa8]
add rdx, r8
adc r14, rax
mov rax, r14
shr rax, 0x33
shld r14, rdx, 0xd
and rdx, rdi
mov qword [rsp + 0x190], rdx
mov rdx, qword [rsp + 0x188]
add rdx, qword [rsp + 0x1f0]
adc r13, qword [rsp + 0x218]
add rdx, qword [rsp + 0x88]
adc r13, qword [rsp + 0x98]
add rdx, qword [rsp + 0xb0]
adc r13, qword [rsp + 0xd0]
add rdx, qword [rsp + 0x168]
adc r13, qword [rsp + 0x1f8]
add rdx, r14
adc r13, rax
shld r13, rdx, 0xd
lea rax, [r13*8]
add rax, r13
lea rbx, [rax*2]
add rbx, r13
add rbx, rsi
mov rax, rbx
mov rdi, rbx
shr rax, 0x33
add rax, r12
mov qword [rsp + 0x180], rax
mov rbx, rax
shr rbx, 0x33
add rbx, rbp
mov qword [rsp + 0x238], rbx
mov rax, r9
and rdx, r9
mov qword [rsp + 0x188], rdx
and rdi, r9
mov qword [rsp + 0x218], rdi
mov rbp, qword [rsp + 0xb8]
mov rax, rbp
mov rdi, qword [rsp + 0xe0]
mul rdi
mov qword [rsp + 0x1f8], rdx
mov qword [rsp + 0x1f0], rax
mov rax, rdi
mov rbx, qword [rsp + 0x198]
mul rbx
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x70], rax
mov r9, qword [rsp + 0x1a0]
mov rax, r9
mul rdi
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x108]
mul rdi
mov r11, rdi
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x30], rax
mov rax, rbp
mov r8, rbp
mov rsi, qword [rsp + 0xf8]
mul rsi
mov rdi, rdx
mov rbp, rax
mov rax, rbx
mul rsi
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x50], rax
mov rax, r9
mul rsi
mov r10, rsi
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0xc0], rax
mov rsi, qword [rsp + 0x200]
mov rax, rsi
mul r8
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x48], rax
mov rax, rsi
mul rbx
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x158], rax
mov rax, rcx
mul r8
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x148], rax
mov r9, qword [rsp + 0x178]
mov rax, r9
mul r11
mov qword [rsp + 0x1a0], rdx
mov qword [rsp + 0x198], rax
mov r11, qword [rsp + 0xc8]
mov rax, r11
mul r10
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0x108], rax
mov rax, r9
mul r10
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xa0], rax
mov r10, qword [rsp + 0x1c0]
mov rax, r10
mul rsi
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0xb8], rax
mov rax, rsi
mul r11
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x88], rax
mov rax, rsi
mul r9
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x28], rax
mov rax, rcx
mov r8, qword [rsp + 0x1a8]
mul r8
mov qword [rsp + 0x200], rdx
mov qword [rsp + 0x168], rax
mov rax, r10
mul rcx
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x68], rax
mov rax, r11
mul rcx
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xe8], rax
mov rax, rcx
mul r9
mov r13, rdx
mov rcx, rax
mov rbx, qword [rsp + 0x118]
mov rax, rbx
mul qword [rsp + 0x138]
mov rsi, rdx
mov r14, rax
mov rax, rbx
mul r8
mov r8, rdx
mov r12, rax
mov rax, r10
mul rbx
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0x1a8], rax
mov rax, r11
mul rbx
mov r15, rdx
mov r11, rax
mov rax, r9
mul rbx
movabs rbx, 0x7ffffffffffff
and qword [rsp + 0x180], rbx
add rax, qword [rsp + 0x148]
adc rdx, qword [rsp + 0x150]
add rax, qword [rsp + 0x158]
adc rdx, qword [rsp + 0x160]
add rax, qword [rsp + 0x30]
adc rdx, qword [rsp + 0x40]
add rax, qword [rsp + 0xc0]
adc rdx, qword [rsp + 0x58]
mov r10, rdx
shr r10, 0x33
shld rdx, rax, 0xd
and rax, rbx
add rbp, qword [rsp + 0x70]
adc rdi, qword [rsp + 0x80]
add rcx, qword [rsp + 0x50]
adc r13, qword [rsp + 0x60]
add rcx, r11
adc r13, r15
add rcx, qword [rsp + 0x48]
adc r13, qword [rsp + 0x90]
add rcx, qword [rsp + 0xa8]
adc r13, qword [rsp + 0xd0]
add rcx, rdx
adc r13, r10
mov rdx, r13
shr rdx, 0x33
shld r13, rcx, 0xd
and rcx, rbx
add rbp, qword [rsp + 0xe8]
adc rdi, qword [rsp + 0xf0]
add rbp, qword [rsp + 0x28]
adc rdi, qword [rsp + 0x38]
add rbp, qword [rsp + 0x1a8]
adc rdi, qword [rsp + 0x138]
add rbp, r13
adc rdi, rdx
mov rdx, rdi
shr rdx, 0x33
shld rdi, rbp, 0xd
and rbp, rbx
add r12, qword [rsp + 0x1f0]
adc r8, qword [rsp + 0x1f8]
add r12, qword [rsp + 0xa0]
adc r8, qword [rsp + 0xb0]
add r12, qword [rsp + 0x88]
adc r8, qword [rsp + 0x98]
add r12, qword [rsp + 0x68]
adc r8, qword [rsp + 0x78]
add r12, rdi
adc r8, rdx
mov rdx, r8
shr rdx, 0x33
shld r8, r12, 0xd
and r12, rbx
add r14, qword [rsp + 0x198]
adc rsi, qword [rsp + 0x1a0]
add r14, qword [rsp + 0x168]
adc rsi, qword [rsp + 0x200]
add r14, qword [rsp + 0x108]
adc rsi, qword [rsp + 0xe0]
add r14, qword [rsp + 0xb8]
adc rsi, qword [rsp + 0xf8]
add r14, r8
adc rsi, rdx
shld rsi, r14, 0xd
lea rdx, [rsi + rsi*8]
lea rdx, [rsi + rdx*2]
add rdx, rax
mov rax, rdx
shr rax, 0x33
add rax, rcx
mov rcx, rax
mov r13, rax
shr rcx, 0x33
add rcx, rbp
mov qword [rsp + 0xc8], rcx
mov rax, rbx
and r14, rbx
mov qword [rsp + 0x60], r14
and rdx, rbx
mov qword [rsp + 0x138], rdx
mov rcx, qword [rsp + 0x128]
lea rax, [rcx + rcx*8]
lea rcx, [rcx + rax*2]
mov rax, rcx
mov rdi, qword [rsp + 0x170]
mul rdi
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x1a8], rdx
mov rdx, qword [rsp + 0x1b0]
lea rax, [rdx + rdx*8]
lea r10, [rdx + rax*2]
mov rax, rdi
mul r10
mov qword [rsp + 0x1f0], rax
mov qword [rsp + 0x1f8], rdx
mov r14, qword [rsp + 0x228]
lea rax, [r14 + r14*8]
lea rbp, [r14 + rax*2]
mov rax, rbp
mul rdi
mov qword [rsp + 0x200], rax
mov qword [rsp + 0xb8], rdx
mov r9, qword [rsp + 0x20]
lea rax, [r9 + r9*8]
lea rax, [r9 + rax*2]
mul rdi
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rax
mov rax, rcx
mov rbx, qword [rsp + 0x1b8]
mul rbx
mov rsi, rdx
mov r15, rax
mov rax, rbx
mul r10
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x98], rax
mov rax, rbp
mul rbx
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x90], rax
mov rbp, qword [rsp + 0xd8]
mov rax, rbp
mul rcx
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xa8], rax
mov rax, rbp
mul r10
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x40], rax
mov r10, qword [rsp + 0x120]
mov rax, r10
mul rcx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x220]
mov rax, rcx
mul rdi
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0x170], rax
mov rax, r9
mul rbx
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x108], rax
mov rax, rcx
mov rdi, rcx
mul rbx
mov rbx, rdx
mov r11, rax
mov rax, rbp
mul r14
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0x1b8], rax
mov rax, rbp
mul r9
mov qword [rsp + 0x198], rdx
mov qword [rsp + 0x1c0], rax
mov rax, rbp
mul rcx
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x80], rax
mov rax, r10
mov r8, qword [rsp + 0x1b0]
mul r8
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0x1a0], rax
mov rax, r10
mul r14
mov qword [rsp + 0x168], rdx
mov qword [rsp + 0xd0], rax
mov rax, r10
mul r9
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x38], rax
mov rax, r10
mul rcx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0xc0], rax
mov r10, qword [rsp + 0x100]
mov rax, r10
mul qword [rsp + 0x128]
mov rbp, rdx
mov rcx, rax
mov rax, r10
mul r8
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x1b0], rax
mov rax, r14
mul r10
mov qword [rsp + 0x228], rdx
mov qword [rsp + 0x120], rax
mov rax, r9
mul r10
mov r8, rdx
mov r9, rax
mov rax, r10
mul rdi
movabs rdi, 0x7ffffffffffff
and r13, rdi
mov qword [rsp + 0x20], r13
add rax, qword [rsp + 0x70]
adc rdx, qword [rsp + 0x78]
add rax, qword [rsp + 0x28]
adc rdx, qword [rsp + 0x30]
add rax, qword [rsp + 0x90]
adc rdx, qword [rsp + 0x68]
add rax, qword [rsp + 0x40]
adc rdx, qword [rsp + 0x50]
mov r10, rdx
shr r10, 0x33
shld rdx, rax, 0xd
and rax, rdi
mov r14, rdi
add r15, qword [rsp + 0x1f0]
adc rsi, qword [rsp + 0x1f8]
add r9, qword [rsp + 0x98]
adc r8, qword [rsp + 0xa0]
add r9, qword [rsp + 0xc0]
adc r8, qword [rsp + 0x58]
add r9, qword [rsp + 0x200]
adc r8, qword [rsp + 0xb8]
add r9, qword [rsp + 0xa8]
adc r8, qword [rsp + 0xb0]
add r9, rdx
adc r8, r10
mov rdx, qword [rsp + 0x298]
mov rdi, qword [rsp + 0x110]
mov qword [rdx], rdi
mov r10, r8
shr r10, 0x33
shld r8, r9, 0xd
and r9, r14
add r15, qword [rsp + 0x38]
adc rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x140]
mov qword [rdx + 8], rdi
add r15, qword [rsp + 0x120]
adc rsi, qword [rsp + 0x228]
mov rdi, qword [rsp + 0x130]
mov qword [rdx + 0x10], rdi
add r15, qword [rsp + 0x80]
adc rsi, qword [rsp + 0x88]
mov r13, qword [rsp + 0x208]
mov qword [rdx + 0x18], r13
add r15, r8
adc rsi, r10
mov rdi, qword [rsp + 0x230]
mov qword [rdx + 0x20], rdi
mov r8, rsi
shr r8, 0x33
shld rsi, r15, 0xd
and r15, r14
add r11, qword [rsp + 0x178]
adc rbx, qword [rsp + 0x1a8]
mov rdi, qword [rsp + 0x218]
mov qword [rdx + 0x28], rdi
add r11, qword [rsp + 0x1b0]
adc rbx, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x180]
mov qword [rdx + 0x30], rdi
add r11, qword [rsp + 0xd0]
adc rbx, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x238]
mov qword [rdx + 0x38], rdi
add r11, qword [rsp + 0x1c0]
adc rbx, qword [rsp + 0x198]
mov rdi, qword [rsp + 0x190]
mov qword [rdx + 0x40], rdi
add r11, rsi
adc rbx, r8
mov rdi, qword [rsp + 0x188]
mov qword [rdx + 0x48], rdi
mov rsi, rbx
shr rsi, 0x33
shld rbx, r11, 0xd
mov r8, r14
and r11, r14
add rcx, qword [rsp + 0x170]
adc rbp, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0x138]
mov qword [rdx + 0x50], rdi
add rcx, qword [rsp + 0x108]
adc rbp, qword [rsp + 0x118]
mov rdi, qword [rsp + 0x20]
mov qword [rdx + 0x58], rdi
add rcx, qword [rsp + 0x1a0]
adc rbp, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xc8]
mov qword [rdx + 0x60], rdi
add rcx, qword [rsp + 0x1b8]
adc rbp, qword [rsp + 0xf8]
mov qword [rdx + 0x68], r12
add rcx, rbx
adc rbp, rsi
mov rbx, qword [rsp + 0x60]
mov qword [rdx + 0x70], rbx
mov rbx, rdx
shld rbp, rcx, 0xd
lea rdx, [rbp*8]
add rdx, rbp
lea rdx, [rdx*2]
add rdx, rbp
add rdx, rax
mov rax, rdx
shr rax, 0x33
add rax, r9
mov rbp, rax
shr rbp, 0x33
add rbp, r15
and rdx, r14
mov qword [rbx + 0x78], rdx
and rax, r14
mov qword [rbx + 0x80], rax
mov qword [rbx + 0x88], rbp
mov qword [rbx + 0x90], r11
and rcx, r14
mov qword [rbx + 0x98], rcx
mov ecx, dword [rsp + 0x290]
add ecx, 0xffffffff
cmp ecx, 0x40
jb 0x140077290
mov rcx, qword [rsp + 0x9e0]
xor rcx, rsp
call fcn.14008fec0
nop
add rsp, 0x9e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret