Function at 0x1400924b0
Capabilities:
Encode data using xor
Encrypt data using chaskey
Encrypt data using curve25519

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2f8
mov qword [rsp + 0x218], rcx
mov rax, qword [0x14015e028]
xor rax, rsp
mov qword [rsp + 0x2f0], rax
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movaps xmmword [rsp + 0x250], xmm0
and byte [rsp + 0x250], 0xf8
movaps xmmword [rsp + 0x260], xmm1
mov al, byte [rsp + 0x26f]
and al, 0x3f
or al, 0x40
mov byte [rsp + 0x26f], al
movzx r12d, byte [r8]
movzx r11d, byte [r8 + 1]
movzx r13d, byte [r8 + 2]
movzx esi, byte [r8 + 3]
movzx edi, byte [r8 + 4]
movzx eax, byte [r8 + 5]
movzx edx, byte [r8 + 6]
movzx r10d, byte [r8 + 7]
movzx ecx, byte [r8 + 0x14]
movzx ebp, byte [r8 + 0x1a]
movzx ebx, byte [r8 + 0x1b]
shl rbx, 0xc
shl rbp, 4
or rbp, rbx
movzx ebx, byte [r8 + 0x1c]
shl rbx, 0x14
or rbp, rbx
movzx ebx, byte [r8 + 0x1d]
shl rbx, 0x1c
or rbp, rbx
movzx ebx, byte [r8 + 0x1e]
shl rbx, 0x24
or rbp, rbx
movzx ebx, byte [r8 + 0x1f]
and ebx, 0x7f
shl rbx, 0x2c
or rbp, rbx
movzx ebx, byte [r8 + 0x15]
shl rbx, 0xf
shl rcx, 7
or rcx, rbx
movzx ebx, byte [r8 + 0x16]
shl rbx, 0x17
or rcx, rbx
movzx ebx, byte [r8 + 0x17]
shl rbx, 0x1f
or rcx, rbx
movzx ebx, byte [r8 + 0x18]
shl rbx, 0x27
or rcx, rbx
movzx ebx, byte [r8 + 0x19]
shl rbx, 0x2f
or rcx, rbx
shl rax, 0x28
mov r14, rdx
and edx, 7
shl rdx, 0x30
or rdx, rax
movzx r15d, byte [r8 + 8]
shl rdi, 0x20
or rdx, rdi
movzx r9d, byte [r8 + 9]
shl rsi, 0x18
or rdx, rsi
movzx esi, byte [r8 + 0xa]
shl r13, 0x10
or rdx, r13
movzx edi, byte [r8 + 0xb]
shl r11, 8
or rdx, r11
movzx ebx, byte [r8 + 0xd]
or rdx, r12
movzx eax, byte [r8 + 0xe]
shl rax, 0xa
lea rax, [rax + rbx*4]
movzx ebx, byte [r8 + 0xf]
shl rbx, 0x12
or rax, rbx
movzx ebx, byte [r8 + 0x10]
shl rbx, 0x1a
or rax, rbx
movzx ebx, byte [r8 + 0x11]
shl rbx, 0x22
or rax, rbx
movzx ebx, byte [r8 + 0x12]
shl rbx, 0x2a
or rax, rbx
movzx r13d, byte [r8 + 0xc]
movzx ebx, byte [r8 + 0x13]
shl rbx, 0x32
shl rdi, 0x25
shl rsi, 0x1d
shl r9, 0x15
shl r15, 0xd
shl r10, 5
shr r14, 3
or rax, rbx
mov r8, r13
shr r8, 6
add r8, rax
and r13d, 0x3f
shl r13, 0x2d
or r13, rdi
or r13, rsi
or r13, r9
or r13, r15
or r13, r10
or r13, r14
mov r15, r8
shr r15, 0x33
movabs rbx, 0x7ffffffffffff
and r8, rbx
mov eax, 0xff
and r15, rax
add r15, rcx
mov rcx, r15
shr rcx, 0x33
and r15, rbx
and rcx, rax
add rcx, rbp
mov ebp, 0xfe
xor r10d, r10d
mov eax, 1
mov qword [rsp + 0xe0], rax
xor ebx, ebx
xor r14d, r14d
xor edi, edi
xor r11d, r11d
xor eax, eax
mov qword [rsp + 0x128], rax
xor eax, eax
mov qword [rsp + 0xf0], rax
xor eax, eax
mov qword [rsp + 0x108], rax
xor eax, eax
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x240], rdx
mov qword [rsp + 0x168], rdx
mov qword [rsp + 0x238], r13
mov r12, r13
mov qword [rsp + 0x230], r8
mov rsi, r8
mov qword [rsp + 0x228], r15
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0xb0], rcx
mov eax, 1
mov qword [rsp + 0x28], rax
xor eax, eax
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x118], rax
xor r15d, r15d
xor eax, eax
mov qword [rsp + 0xc8], rax
xor eax, eax
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xe8], rbx
mov dword [rsp + 0x210], ebp
mov ecx, ebp
shr rcx, 3
movzx edx, byte [rsp + rcx + 0x250]
mov ecx, ebp
and cl, 7
shr rdx, cl
and edx, 1
mov qword [rsp + 0x208], rdx
xor eax, edx
neg rax
mov rdx, qword [rsp + 0x168]
mov r9, rdx
mov rcx, qword [rsp + 0xe0]
xor r9, rcx
and r9, rax
xor rcx, r9
mov qword [rsp + 0xe0], rcx
xor r9, rdx
mov rdx, r12
mov r13, qword [rsp + 0x160]
xor rdx, r13
and rdx, rax
xor r13, rdx
xor rdx, r12
mov rbp, rsi
mov rbx, qword [rsp + 0x108]
xor rbp, rbx
and rbp, rax
xor rbx, rbp
xor rbp, rsi
mov rsi, qword [rsp + 0xa0]
mov r12, rsi
mov r8, qword [rsp + 0xf0]
xor r12, r8
and r12, rax
xor r8, r12
xor r12, rsi
mov rdi, qword [rsp + 0xb0]
mov rcx, rdi
mov rsi, qword [rsp + 0x128]
xor rcx, rsi
and rcx, rax
xor rsi, rcx
mov qword [rsp + 0x128], rsi
xor rcx, rdi
mov qword [rsp + 0x60], rcx
mov rsi, qword [rsp + 0x28]
mov rcx, rsi
xor rcx, r11
and rcx, rax
xor r11, rcx
xor rcx, rsi
mov qword [rsp + 0xb0], rcx
mov rdi, qword [rsp + 0x58]
mov rsi, r10
mov r10, rdi
mov rcx, qword [rsp + 0xb8]
xor rdi, rcx
and rdi, rax
xor rcx, rdi
mov qword [rsp + 0xb8], rcx
xor rdi, r10
mov r10, rdi
mov rdi, qword [rsp + 0x118]
mov rcx, r15
mov r15, rdi
xor rdi, r14
and rdi, rax
xor r14, rdi
xor rdi, r15
mov qword [rsp + 0xd0], rdi
mov rdi, rcx
mov r15, qword [rsp + 0xe8]
xor rdi, r15
and rdi, rax
xor r15, rdi
xor rdi, rcx
mov qword [rsp + 0x68], rdi
mov rcx, qword [rsp + 0xc8]
mov rdi, rcx
xor rdi, rsi
and rdi, rax
xor rsi, rdi
xor rdi, rcx
mov qword [rsp + 0x50], rdi
movabs rax, 0xffffffffffffe
lea rdi, [rax + r13]
mov rcx, qword [rsp + 0xb8]
sub rdi, rcx
mov qword [rsp + 0x58], rdi
add rcx, r13
mov qword [rsp + 0xb8], rcx
lea rdi, [r8 + rax]
sub rdi, r15
mov qword [rsp + 0xf0], rdi
add r15, r8
lea rdi, [rbx + rax]
sub rdi, r14
mov qword [rsp + 0x108], rdi
add r14, rbx
mov rcx, qword [rsp + 0xe0]
lea rbx, [rcx + rax]
add rbx, 0xffffffffffffffdc
sub rbx, r11
mov qword [rsp + 0x118], rbx
add r11, rcx
mov r13, r11
mov rcx, qword [rsp + 0x128]
lea rdi, [rcx + rax]
sub rdi, rsi
mov qword [rsp + 0xc8], rdi
add rsi, rcx
mov r11, rsi
lea r8, [rdx + rax]
sub r8, r10
add r10, rdx
mov qword [rsp + 0xf8], r10
lea rbx, [r12 + rax]
mov rcx, qword [rsp + 0x68]
sub rbx, rcx
add rcx, r12
mov qword [rsp + 0x68], rcx
lea r10, [r9 + rax]
add r10, 0xffffffffffffffdc
mov rcx, qword [rsp + 0xb0]
sub r10, rcx
add rcx, r9
mov qword [rsp + 0xb0], rcx
lea rdi, [rax + rbp]
mov rcx, qword [rsp + 0xd0]
sub rdi, rcx
add rcx, rbp
mov qword [rsp + 0xd0], rcx
mov rcx, qword [rsp + 0x60]
lea rsi, [rcx + rax]
sub rsi, qword [rsp + 0x50]
mov r9, r11
lea rax, [r11 + r11*8]
lea rcx, [r11 + rax*2]
mov qword [rsp + 0x160], r11
mov rax, rcx
mul rsi
mov qword [rsp + 0x120], rax
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0xe8], r15
lea rax, [r15 + r15*8]
lea rbp, [r15 + rax*2]
mov rax, rbp
mul rsi
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rdx
lea rax, [r14 + r14*8]
lea r12, [r14 + rax*2]
mov rax, r12
mul rsi
mov r15, rax
mov qword [rsp + 0x158], rdx
mov r11, qword [rsp + 0xb8]
lea rax, [r11 + r11*8]
lea rax, [r11 + rax*2]
mul rsi
mov qword [rsp + 0x1b8], rdx
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x168], rcx
mov rax, rcx
mul rbx
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x128], rbp
mov rax, rbp
mul rbx
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x148], rax
mov rax, r12
mul rbx
mov qword [rsp + 0x198], rdx
mov qword [rsp + 0x190], rax
mov rax, rcx
mul rdi
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x130], rax
mov rax, rbp
mul rdi
mov qword [rsp + 0x188], rdx
mov qword [rsp + 0x178], rax
mov rax, rcx
mul r8
mov qword [rsp + 0x180], rdx
mov qword [rsp + 0x170], rax
mov rcx, r13
mov rax, r13
mul rsi
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x98], rax
mov rax, r11
mul rbx
mov rsi, rdx
mov qword [rsp + 0x100], rax
mov rax, r13
mul rbx
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rax
mov rax, r14
mul rdi
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0x90], rax
mov rax, r11
mov rbx, r11
mul rdi
mov r12, rdx
mov qword [rsp + 0x30], rax
mov rax, r13
mul rdi
mov qword [rsp + 0x1a8], rdx
mov qword [rsp + 0x1a0], rax
mov rbp, qword [rsp + 0xe8]
mov rax, rbp
mul r8
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x20], rax
mov rax, r14
mov qword [rsp + 0xc0], r14
mul r8
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0x1d0], rax
mov rax, r11
mul r8
mov r13, rdx
mov rdi, rax
mov rax, rcx
mov qword [rsp + 0x110], rcx
mul r8
mov qword [rsp + 0x1d8], rdx
mov r11, rax
mov rax, r9
mul r10
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rax
mov rax, rbp
mul r10
mov qword [rsp + 0x1c8], rdx
mov qword [rsp + 0x1c0], rax
mov rax, r14
mul r10
mov r14, rdx
mov qword [rsp + 0x1e0], rax
mov rax, rbx
mul r10
mov r9, rdx
mov rbp, rax
mov rax, rcx
mul r10
mov r10, qword [rsp + 0x50]
add r10, qword [rsp + 0x60]
add rax, qword [rsp + 0x1b0]
adc rdx, qword [rsp + 0x1b8]
add rax, qword [rsp + 0x190]
adc rdx, qword [rsp + 0x198]
add rax, qword [rsp + 0x178]
adc rdx, qword [rsp + 0x188]
add rax, qword [rsp + 0x170]
adc rdx, qword [rsp + 0x180]
shld rdx, rax, 0xd
movabs r8, 0x7ffffffffffff
and rax, r8
add rbp, r11
adc r9, qword [rsp + 0x1d8]
add rbp, r15
adc r9, qword [rsp + 0x158]
add rbp, qword [rsp + 0x148]
adc r9, qword [rsp + 0x150]
add rbp, qword [rsp + 0x130]
adc r9, qword [rsp + 0x140]
add rbp, rdx
adc r9, 0
shld r9, rbp, 0xd
and rbp, r8
add rdi, qword [rsp + 0x1a0]
adc r13, qword [rsp + 0x1a8]
add rdi, qword [rsp + 0x1e0]
adc r13, r14
add rdi, qword [rsp + 0xa0]
adc r13, qword [rsp + 0xa8]
add rdi, qword [rsp + 0x80]
adc r13, qword [rsp + 0x88]
add rdi, r9
adc r13, 0
shld r13, rdi, 0xd
and rdi, r8
mov rcx, qword [rsp + 0x30]
add rcx, qword [rsp + 0x70]
adc r12, qword [rsp + 0x78]
add rcx, qword [rsp + 0x1d0]
adc r12, qword [rsp + 0x138]
add rcx, qword [rsp + 0x1c0]
adc r12, qword [rsp + 0x1c8]
add rcx, qword [rsp + 0x120]
adc r12, qword [rsp + 0xe0]
add rcx, r13
adc r12, 0
shld r12, rcx, 0xd
and rcx, r8
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x100]
add rcx, qword [rsp + 0x98]
adc rsi, qword [rsp + 0x28]
add rcx, qword [rsp + 0x90]
adc rsi, qword [rsp + 0xd8]
add rcx, qword [rsp + 0x20]
adc rsi, qword [rsp + 0x48]
add rcx, qword [rsp + 0x38]
adc rsi, qword [rsp + 0x40]
add rcx, r12
adc rsi, 0
shld rsi, rcx, 0xd
mov rdx, rcx
lea rcx, [rsi + rsi*8]
lea rcx, [rsi + rcx*2]
add rcx, rax
mov rax, rcx
shr rax, 0x33
add rax, rbp
mov rbp, rax
mov rbx, rax
shr rbp, 0x33
add rbp, rdi
mov qword [rsp + 0x50], rbp
and rdx, r8
mov qword [rsp + 0x100], rdx
and rcx, r8
mov qword [rsp + 0x120], rcx
mov r13, qword [rsp + 0xc8]
lea rax, [r13*8]
add rax, r13
lea rsi, [rax*2]
add rsi, r13
mov rax, rsi
mov rbp, r10
mul r10
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x28], rdx
mov r11, qword [rsp + 0xf0]
lea rax, [r11 + r11*8]
lea rdi, [r11 + rax*2]
mov rax, rdi
mul r10
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rdx
mov rdx, qword [rsp + 0x108]
lea rax, [rdx + rdx*8]
lea rcx, [rdx + rax*2]
mov r14, rdx
mov rax, rcx
mul r10
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rdx
mov r9, qword [rsp + 0x58]
lea rax, [r9 + r9*8]
lea rax, [r9 + rax*2]
mul r10
mov qword [rsp + 0x1a0], rdx
mov qword [rsp + 0x198], rax
mov qword [rsp + 0xa8], rsi
mov rax, rsi
mov rbp, qword [rsp + 0x68]
mul rbp
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xa0], rdi
mov rax, rdi
mul rbp
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0x130], rax
mov rax, rcx
mul rbp
mov qword [rsp + 0x180], rdx
mov qword [rsp + 0x178], rax
mov rax, rsi
mov rcx, qword [rsp + 0xd0]
mul rcx
mov qword [rsp + 0x1d0], rdx
mov qword [rsp + 0x1c0], rax
mov rax, rdi
mul rcx
mov rdi, rcx
mov qword [rsp + 0x170], rdx
mov qword [rsp + 0x1d8], rax
mov rax, rsi
mov r8, qword [rsp + 0xf8]
mul r8
mov qword [rsp + 0x1e0], rdx
mov qword [rsp + 0x1f0], rax
mov rcx, qword [rsp + 0x118]
mov rax, rcx
mul r10
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0x80], rax
mov rax, r9
mul rbp
mov rsi, rdx
mov qword [rsp + 0x60], rax
mov rax, rcx
mov r10, rcx
mul rbp
mov qword [rsp + 0x158], rdx
mov qword [rsp + 0x150], rax
mov rax, r14
mul rdi
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x48], rax
mov rax, r9
mul rdi
mov r12, rdx
mov qword [rsp + 0xe0], rax
mov rax, rcx
mul rdi
mov qword [rsp + 0x190], rdx
mov qword [rsp + 0x188], rax
mov rax, r11
mov rcx, r8
mul r8
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0x38], rax
mov rax, r14
mov r8, r14
mul rcx
mov qword [rsp + 0x1c8], rdx
mov qword [rsp + 0x1b8], rax
mov rax, r9
mul rcx
mov r14, rdx
mov rdi, rax
mov rax, r10
mul rcx
mov qword [rsp + 0x1f8], rdx
mov r15, rax
mov rax, r13
mov rcx, qword [rsp + 0xb0]
mul rcx
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rax
mov rax, r11
mul rcx
mov qword [rsp + 0x1b0], rdx
mov qword [rsp + 0x1a8], rax
mov rax, r8
mov r11, r8
mul rcx
mov qword [rsp + 0x1e8], rdx
mov qword [rsp + 0x200], rax
mov rax, r9
mul rcx
mov rbp, rdx
mov r13, rax
mov rax, r10
mov r8, r10
mul rcx
movabs r9, 0x7ffffffffffff
and rbx, r9
mov qword [rsp + 0xf8], rbx
add rax, qword [rsp + 0x198]
adc rdx, qword [rsp + 0x1a0]
add rax, qword [rsp + 0x178]
adc rdx, qword [rsp + 0x180]
add rax, qword [rsp + 0x1d8]
adc rdx, qword [rsp + 0x170]
add rax, qword [rsp + 0x1f0]
adc rdx, qword [rsp + 0x1e0]
shld rdx, rax, 0xd
and rax, r9
add r13, r15
adc rbp, qword [rsp + 0x1f8]
add r13, qword [rsp + 0x140]
adc rbp, qword [rsp + 0x148]
add r13, qword [rsp + 0x130]
adc rbp, qword [rsp + 0x138]
add r13, qword [rsp + 0x1c0]
adc rbp, qword [rsp + 0x1d0]
add r13, rdx
adc rbp, 0
shld rbp, r13, 0xd
and r13, r9
add rdi, qword [rsp + 0x188]
adc r14, qword [rsp + 0x190]
add rdi, qword [rsp + 0x200]
adc r14, qword [rsp + 0x1e8]
add rdi, qword [rsp + 0x88]
adc r14, qword [rsp + 0x90]
add rdi, qword [rsp + 0x40]
adc r14, qword [rsp + 0x20]
add rdi, rbp
adc r14, 0
shld r14, rdi, 0xd
and rdi, r9
mov rcx, qword [rsp + 0xe0]
add rcx, qword [rsp + 0x150]
adc r12, qword [rsp + 0x158]
add rcx, qword [rsp + 0x1b8]
adc r12, qword [rsp + 0x1c8]
add rcx, qword [rsp + 0x1a8]
adc r12, qword [rsp + 0x1b0]
add rcx, qword [rsp + 0x98]
adc r12, qword [rsp + 0x28]
add rcx, r14
adc r12, 0
shld r12, rcx, 0xd
and rcx, r9
mov qword [rsp + 0xe0], rcx
mov rbx, qword [rsp + 0x60]
add rbx, qword [rsp + 0x80]
adc rsi, qword [rsp + 0xd8]
add rbx, qword [rsp + 0x48]
adc rsi, qword [rsp + 0x68]
add rbx, qword [rsp + 0x38]
adc rsi, qword [rsp + 0xd0]
add rbx, qword [rsp + 0x70]
adc rsi, qword [rsp + 0x78]
add rbx, r12
adc rsi, 0
shld rsi, rbx, 0xd
lea rcx, [rsi + rsi*8]
lea rcx, [rsi + rcx*2]
add rcx, rax
mov rdx, rcx
shr rdx, 0x33
add rdx, r13
mov rax, rdx
mov rbp, rdx
shr rax, 0x33
add rax, rdi
mov qword [rsp + 0x28], rax
mov r10, r9
and rbx, r9
mov qword [rsp + 0x60], rbx
mov rax, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xc8]
mul rdi
mov qword [rsp + 0xb0], rax
mov r15, rdx
and rcx, r9
mov qword [rsp + 0xa8], rcx
imul rcx, rdi, 0x26
mov rax, rcx
mov rsi, qword [rsp + 0xf0]
mul rsi
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0xa0]
mul rsi
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x90], rax
mov rax, rcx
mov rbx, r11
mul r11
mov qword [rsp + 0x88], rax
mov qword [rsp + 0xd8], rdx
and rbp, r9
mov qword [rsp + 0xd0], rbp
imul rax, rsi, 0x26
mul r11
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x20], rdx
lea rbp, [rsi + rsi]
add r11, r11
mov rax, rbx
mul rbx
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x48], rax
mov rax, rcx
mov rbx, qword [rsp + 0x58]
mul rbx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x78], rax
mov rax, rbp
mul rbx
mov r12, rax
mov rsi, rdx
add rdi, rdi
mov rax, r11
mul rbx
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xf0], rdx
lea rcx, [rbx + rbx]
mov rax, rbx
mul rbx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x108], rax
mov rax, rdi
mov rdi, r8
mul r8
mov qword [rsp + 0x70], rdx
mov r9, rax
mov rax, rbp
mul r8
mov r8, rdx
mov rbx, rax
mov rax, r11
mul rdi
mov rbp, rdx
mov r14, rax
mov rax, rcx
mul rdi
mov r13, rdx
mov rcx, rax
mov rax, rdi
mul rdi
add rax, qword [rsp + 0x40]
adc rdx, qword [rsp + 0x20]
add rax, qword [rsp + 0x78]
adc rdx, qword [rsp + 0x38]
shld rdx, rax, 0xd
and rax, r10
add r12, qword [rsp + 0x48]
adc rsi, qword [rsp + 0x80]
add r12, r9
adc rsi, qword [rsp + 0x70]
add rcx, qword [rsp + 0x90]
adc r13, qword [rsp + 0xa0]
add rcx, qword [rsp + 0x88]
adc r13, qword [rsp + 0xd8]
add rcx, rdx
adc r13, 0
shld r13, rcx, 0xd
and rcx, r10
add r14, qword [rsp + 0x108]
adc rbp, qword [rsp + 0x58]
add r14, qword [rsp + 0x98]
adc rbp, qword [rsp + 0x68]
add r14, r13
adc rbp, 0
shld rbp, r14, 0xd
add rbx, qword [rsp + 0xc8]
adc r8, qword [rsp + 0xf0]
add rbx, qword [rsp + 0xb0]
adc r8, r15
add rbx, rbp
mov qword [rsp + 0xb0], rbx
adc r8, 0
shld r8, rbx, 0xd
add r8, r12
adc rsi, 0
shld rsi, r8, 0xd
lea rdx, [rsi + rsi*8]
lea rdx, [rsi + rdx*2]
add rdx, rax
mov rax, rdx
mov rsi, rdx
shr rax, 0x33
add rax, rcx
mov rcx, rax
mov rbp, rax
mov r11, r10
and rcx, r10
mov qword [rsp + 0xc8], rcx
and r14, r10
and r8, r10
mov qword [rsp + 0x118], r8
mov rax, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x160]
mul rdi
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x68], rdx
shr rbp, 0x33
mov qword [rsp + 0x58], rbp
imul rcx, rdi, 0x26
mov rax, rcx
mov rbp, qword [rsp + 0xe8]
mul rbp
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x128]
mul rbp
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x90], rax
mov rax, rcx
mov rbx, qword [rsp + 0xc0]
mul rbx
mov qword [rsp + 0x88], rax
mov qword [rsp + 0xd8], rdx
and rsi, r10
mov qword [rsp + 0x168], rsi
imul rax, rbp, 0x26
mul rbx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x20], rdx
add rbp, rbp
lea r9, [rbx + rbx]
mov rax, rbx
mul rbx
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x48], rax
mov rax, rcx
mov rcx, qword [rsp + 0xb8]
mul rcx
mov qword [rsp + 0x38], rdx
mov r15, rax
mov rax, rbp
mul rcx
mov rsi, rax
mov r8, rdx
add rdi, rdi
mov rax, r9
mul rcx
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0x128], rdx
lea r12, [rcx + rcx]
mov rax, rcx
mul rcx
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0x160], rax
mov rax, rdi
mov rcx, qword [rsp + 0x110]
mul rcx
mov r10, rdx
mov r13, rax
mov rax, rbp
mul rcx
mov qword [rsp + 0xb8], rdx
mov r11, rax
mov rax, r9
mul rcx
mov rdi, rdx
mov rbx, rax
mov rax, r12
mul rcx
mov r12, rdx
mov rbp, rax
mov rax, rcx
mul rcx
add rax, qword [rsp + 0x40]
adc rdx, qword [rsp + 0x20]
add rax, r15
adc rdx, qword [rsp + 0x38]
shld rdx, rax, 0xd
movabs r15, 0x7ffffffffffff
and rax, r15
add rsi, qword [rsp + 0x48]
adc r8, qword [rsp + 0x80]
add rsi, r13
adc r8, r10
add rbp, qword [rsp + 0x90]
adc r12, qword [rsp + 0x98]
add rbp, qword [rsp + 0x88]
adc r12, qword [rsp + 0xd8]
add rbp, rdx
adc r12, 0
shld r12, rbp, 0xd
and rbp, r15
add rbx, qword [rsp + 0x160]
adc rdi, qword [rsp + 0xc0]
add rbx, qword [rsp + 0xa0]
adc rdi, qword [rsp + 0x108]
add rbx, r12
adc rdi, 0
shld rdi, rbx, 0xd
mov r10, r11
add r10, qword [rsp + 0xe8]
mov r11, qword [rsp + 0xb8]
adc r11, qword [rsp + 0x128]
add r10, qword [rsp + 0xf0]
adc r11, qword [rsp + 0x68]
add r10, rdi
adc r11, 0
shld r11, r10, 0xd
add r11, rsi
adc r8, 0
shld r8, r11, 0xd
mov rsi, r11
lea rdx, [r8 + r8*8]
lea rcx, [r8 + rdx*2]
add rcx, rax
mov rax, rcx
mov r12, rcx
shr rax, 0x33
add rax, rbp
and rbx, r15
mov r11, rax
shr rax, 0x33
add rax, rbx
mov r8, rax
mov rbx, qword [rsp + 0x58]
add rbx, r14
mov rax, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xd0]
lea rcx, [rdx + rax]
mov qword [rsp + 0xa0], rcx
movabs rbp, 0xffffffffffffe
add rax, rbp
sub rax, rdx
mov qword [rsp + 0xf8], rax
mov rax, r15
and r11, r15
mov rdi, qword [rsp + 0xb0]
and rdi, r15
and rsi, r15
and r12, r15
mov qword [rsp + 0x110], r12
and r10, r15
mov rax, qword [rsp + 0x30]
mov r14, qword [rsp + 0xe0]
lea rcx, [r14 + rax]
mov qword [rsp + 0x98], rcx
add rax, rbp
mov qword [rsp + 0x30], rax
mov r9, qword [rsp + 0x118]
lea rax, [r9 + r9*8]
lea rcx, [r9 + rax*2]
mov rax, rcx
mul rsi
mov qword [rsp + 0x160], rax
mov qword [rsp + 0xc0], rdx
mov rdx, rdi
mov qword [rsp + 0xb0], rdi
lea rax, [rdi + rdi*8]
lea rbp, [rdi + rax*2]
mov rax, rsi
mul rbp
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rdx
mov rdx, rbx
lea rax, [rbx + rbx*8]
lea rbx, [rbx + rax*2]
mov r15, rdx
mov rax, rbx
mul rsi
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x70], rdx
mov rdx, qword [rsp + 0xc8]
lea rax, [rdx + rdx*8]
lea rax, [rdx + rax*2]
mov r12, rdx
mul rsi
mov rdi, rsi
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0x190], rdx
mov qword [rsp + 0x180], rax
mov rax, rcx
mul r10
mov rsi, rdx
mov r13, rax
mov rax, rbp
mul r10
mov qword [rsp + 0x1c8], rdx
mov qword [rsp + 0x1b8], rax
mov rax, rbx
mul r10
mov qword [rsp + 0x178], rdx
mov qword [rsp + 0x170], rax
mov rax, r8
mul rcx
mov qword [rsp + 0x1c0], rdx
mov qword [rsp + 0x1b0], rax
mov rax, r8
mul rbp
mov qword [rsp + 0x1f0], rdx
mov qword [rsp + 0x1e8], rax
mov rax, r11
mul rcx
mov qword [rsp + 0x248], rdx
mov qword [rsp + 0x1f8], rax
mov rcx, qword [rsp + 0x168]
mov rax, rcx
mul rdi
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x48], rax
mov rax, r12
mov qword [rsp + 0xd0], r10
mul r10
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0x20], rax
mov rax, rcx
mov rdi, rcx
mul r10
mov rcx, rdx
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x68], r8
mov rax, r8
mul r15
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x40], rax
mov rax, r8
mul r12
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x148], rax
mov rax, r8
mul rdi
mov qword [rsp + 0x1a8], rdx
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0xe8], r11
mov rax, r11
mov rbp, qword [rsp + 0xb0]
mul rbp
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x78], rax
mov rax, r15
mov r8, r15
mov qword [rsp + 0x58], r15
mul r11
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x1d0], rax
mov rax, r11
mul r12
mov qword [rsp + 0x1e0], rdx
mov qword [rsp + 0x1d8], rax
mov rax, r11
mul rdi
mov rbx, rdx
mov r10, rax
mov r15, qword [rsp + 0x110]
mov rax, r15
mul r9
mov r11, rdx
mov qword [rsp + 0x128], rax
mov rax, r15
mul rbp
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x198], rdx
sub qword [rsp + 0x30], r14
mov rax, r8
mul r15
mov r8, r15
mov qword [rsp + 0x200], rax
mov qword [rsp + 0xe0], rdx
mov rax, qword [rsp + 0x120]
movabs r9, 0xffffffffffffe
lea r15, [rax + r9]
add r15, 0xffffffffffffffdc
add rax, qword [rsp + 0xa8]
mov qword [rsp + 0x120], rax
mov rax, r12
mul r8
mov r12, rax
mov rbp, rdx
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x28]
add rdx, rax
mov qword [rsp + 0x90], rdx
add rax, r9
mov qword [rsp + 0x50], rax
mov rax, r8
mul rdi
mov r8, rax
mov rax, qword [rsp + 0x100]
mov r14, qword [rsp + 0x60]
lea rdi, [r14 + rax]
mov qword [rsp + 0x88], rdi
add rax, r9
mov rdi, rax
add r8, qword [rsp + 0x1f8]
adc rdx, qword [rsp + 0x248]
add r8, qword [rsp + 0x180]
adc rdx, qword [rsp + 0x190]
add r8, qword [rsp + 0x1e8]
adc rdx, qword [rsp + 0x1f0]
add r8, qword [rsp + 0x170]
adc rdx, qword [rsp + 0x178]
mov r14, rdx
shr r14, 0x33
shld rdx, r8, 0xd
movabs rax, 0x7ffffffffffff
and r8, rax
add r13, qword [rsp + 0x138]
adc rsi, qword [rsp + 0x140]
add r10, qword [rsp + 0x1b8]
adc rbx, qword [rsp + 0x1c8]
add r10, r12
adc rbx, rbp
add r10, qword [rsp + 0x1b0]
adc rbx, qword [rsp + 0x1c0]
add r10, qword [rsp + 0x158]
adc rbx, qword [rsp + 0x70]
add r10, rdx
adc rbx, r14
mov rdx, rbx
shr rdx, 0x33
shld rbx, r10, 0xd
and r10, rax
add r13, qword [rsp + 0x1d8]
adc rsi, qword [rsp + 0x1e0]
add r13, qword [rsp + 0x1a0]
adc rsi, qword [rsp + 0x1a8]
add r13, qword [rsp + 0x200]
adc rsi, qword [rsp + 0xe0]
add r13, rbx
adc rsi, rdx
mov rdx, rsi
shr rdx, 0x33
shld rsi, r13, 0xd
and r13, rax
mov rbp, qword [rsp + 0xf0]
add rbp, qword [rsp + 0x160]
adc rcx, qword [rsp + 0xc0]
add rbp, qword [rsp + 0x188]
adc rcx, qword [rsp + 0x198]
add rbp, qword [rsp + 0x148]
adc rcx, qword [rsp + 0x150]
add rbp, qword [rsp + 0x1d0]
adc rcx, qword [rsp + 0x130]
add rbp, rsi
adc rcx, rdx
mov rdx, rcx
shr rdx, 0x33
shld rcx, rbp, 0xd
and rbp, rax
mov qword [rsp + 0xf0], rbp
mov rbp, qword [rsp + 0x128]
add rbp, qword [rsp + 0x48]
adc r11, qword [rsp + 0x108]
add rbp, qword [rsp + 0x20]
adc r11, qword [rsp + 0xd8]
add rbp, qword [rsp + 0x78]
adc r11, qword [rsp + 0x38]
add rbp, qword [rsp + 0x40]
adc r11, qword [rsp + 0x80]
add rbp, rcx
adc r11, rdx
shld r11, rbp, 0xd
lea rcx, [r11 + r11*8]
lea rdx, [r11 + rcx*2]
add rdx, r8
mov rcx, rdx
shr rcx, 0x33
add rcx, r10
mov rbx, rcx
shr rbx, 0x33
add rbx, r13
mov qword [rsp + 0x108], rbx
mov r8, qword [rsp + 0x50]
sub r8, qword [rsp + 0x28]
sub r15, qword [rsp + 0xa8]
sub rdi, qword [rsp + 0x60]
and rbp, rax
mov qword [rsp + 0x128], rbp
and rdx, rax
mov qword [rsp + 0xe0], rdx
and rcx, rax
mov qword [rsp + 0x160], rcx
mov rcx, qword [rsp + 0xe8]
add rcx, r9
mov rsi, qword [rsp + 0x68]
add rsi, r9
mov rdx, qword [rsp + 0xd0]
add rdx, r9
add qword [rsp + 0xb8], r9
sub rcx, qword [rsp + 0xc8]
mov qword [rsp + 0xe8], rcx
sub rdx, qword [rsp + 0xb0]
mov qword [rsp + 0xd0], rdx
lea rax, [rdi + rdi*8]
lea rax, [rdi + rax*2]
mul rdi
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x60], rdx
mov rbx, qword [rsp + 0x30]
lea rax, [rbx + rbx*8]
lea rcx, [rbx + rax*2]
imul rbp, rdi, 0x26
mov rax, rbp
mul rbx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x28], rax
mov rax, rcx
mul rbx
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0x80], rax
mov rax, rbp
mov rcx, r8
mul r8
mov qword [rsp + 0x48], rax
mov qword [rsp + 0xd8], rdx
sub rsi, qword [rsp + 0x58]
mov qword [rsp + 0x68], rsi
imul rax, rbx, 0x26
mul r8
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdx
lea r8, [rbx + rbx]
lea r14, [rcx + rcx]
mov rax, rcx
mul rcx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rax
mov rax, rbp
mov rbx, qword [rsp + 0xf8]
mul rbx
mov r12, rdx
mov r10, rax
mov rax, r8
mul rbx
mov rbp, rax
mov rsi, rdx
add rdi, rdi
mov rax, r14
mul rbx
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x30], rdx
lea r13, [rbx + rbx]
mov rax, rbx
mul rbx
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0x20], rax
mov rax, rdi
mul r15
mov r11, rdx
mov r9, rax
mov rax, r8
mul r15
mov r8, rdx
mov rdi, rax
mov rax, r14
mul r15
mov r14, rdx
mov rcx, rax
mov rax, r13
mul r15
mov r13, rdx
mov rbx, rax
mov rax, r15
mul r15
add rax, qword [rsp + 0x70]
adc rdx, qword [rsp + 0x78]
add rax, r10
adc rdx, r12
shld rdx, rax, 0xd
movabs r10, 0x7ffffffffffff
and rax, r10
add rbp, qword [rsp + 0x38]
adc rsi, qword [rsp + 0x40]
add rbp, r9
adc rsi, r11
add rbx, qword [rsp + 0x80]
adc r13, qword [rsp + 0xc0]
add rbx, qword [rsp + 0x48]
adc r13, qword [rsp + 0xd8]
add rbx, rdx
adc r13, 0
shld r13, rbx, 0xd
and rbx, r10
mov rdx, r10
add rcx, qword [rsp + 0x20]
adc r14, qword [rsp + 0xf8]
add rcx, qword [rsp + 0x28]
adc r14, qword [rsp + 0x50]
add rcx, r13
adc r14, 0
shld r14, rcx, 0xd
and rcx, r10
add rdi, qword [rsp + 0xa8]
mov r9, r8
adc r9, qword [rsp + 0x30]
add rdi, qword [rsp + 0x100]
adc r9, qword [rsp + 0x60]
add rdi, r14
adc r9, 0
shld r9, rdi, 0xd
and rdi, r10
mov qword [rsp + 0xa8], rdi
add r9, rbp
adc rsi, 0
shld rsi, r9, 0xd
lea rdx, [rsi + rsi*8]
lea rbp, [rsi + rdx*2]
add rbp, rax
mov rdx, rbp
mov rdi, rbp
shr rdx, 0x33
add rdx, rbx
mov rax, qword [rsp + 0x110]
movabs rbp, 0xffffffffffffe
lea r8, [rax + rbp]
add r8, 0xffffffffffffffdc
mov rbp, rdx
mov rbx, rdx
shr rbp, 0x33
sub r8, qword [rsp + 0x168]
mov qword [rsp + 0xd8], r8
mov rax, qword [rsp + 0xb8]
sub rax, qword [rsp + 0x118]
mov qword [rsp + 0xb8], rax
mov esi, 0x1db42
mul rsi
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xd0]
mul rsi
mov r10, rdx
mov r11, rax
mov rax, qword [rsp + 0x68]
mul rsi
mov r14, rdx
mov r12, rax
mov rax, qword [rsp + 0xe8]
mul rsi
mov r15, rdx
mov r13, rax
mov rax, r8
mul rsi
add rbp, rcx
mov qword [rsp + 0x28], rbp
mov rcx, rdx
shld rdx, rax, 0xd
movabs r8, 0x7ffffffffffff
lea rsi, [r8 - 1]
and rsi, rax
and r9, r8
mov qword [rsp + 0xc0], r9
and rdi, r8
mov qword [rsp + 0x80], rdi
and rbx, r8
mov qword [rsp + 0x110], rbx
shr rcx, 0x33
add rdx, r13
adc rcx, r15
mov rax, rcx
shld rax, rdx, 0xd
shr rcx, 0x33
and rdx, r8
add rax, r12
adc rcx, r14
mov rdi, rcx
shld rdi, rax, 0xd
shr rcx, 0x33
and rax, r8
add rdi, r11
adc rcx, r10
mov rbp, rcx
shld rbp, rdi, 0xd
shr rcx, 0x33
and rdi, r8
mov qword [rsp + 0x100], rdi
add rbp, qword [rsp + 0x60]
adc rcx, qword [rsp + 0x30]
shld rcx, rbp, 0xd
mov rbx, rbp
lea rbp, [rcx + rcx*8]
lea rbp, [rcx + rbp*2]
add rbp, rsi
mov rcx, rbp
shr rcx, 0x33
add rcx, rdx
mov rdx, rcx
mov rsi, rcx
shr rdx, 0x33
add rdx, rax
mov qword [rsp + 0x30], rdx
mov rax, r8
and rbx, r8
mov qword [rsp + 0x50], rbx
and rbp, r8
mov qword [rsp + 0x60], rbp
mov rcx, qword [rsp + 0x88]
lea rax, [rcx + rcx*8]
lea rax, [rcx + rax*2]
mul rcx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x48], rdx
mov rbx, qword [rsp + 0x98]
lea rax, [rbx + rbx*8]
lea rdi, [rbx + rax*2]
imul rbp, rcx, 0x26
mov rax, rbp
mul rbx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rax
mov rax, rdi
mul rbx
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x158], rax
mov rax, rbp
mov rdi, qword [rsp + 0x90]
mul rdi
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x70], rdx
and rsi, r8
mov qword [rsp + 0xf8], rsi
imul rax, rbx, 0x26
mul rdi
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rdx
add rbx, rbx
lea r9, [rdi + rdi]
mov rax, rdi
mul rdi
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x140], rax
mov rax, rbp
mov rbp, qword [rsp + 0xa0]
mul rbp
mov rdi, rdx
mov r10, rax
mov rax, rbx
mul rbp
mov r15, rax
mov rsi, rdx
add rcx, rcx
mov rax, r9
mul rbp
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rdx
mov r13, rbp
add r13, rbp
mov rax, rbp
mul rbp
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x88], rax
mov rax, rcx
mov rcx, qword [rsp + 0x120]
mul rcx
mov r11, rdx
mov r12, rax
mov rax, rbx
mul rcx
mov rbp, rax
mov r8, rdx
mov rax, r9
mul rcx
mov r14, rdx
mov r9, rax
mov rax, r13
mul rcx
mov r13, rdx
mov rbx, rax
mov rax, rcx
mul rcx
add rax, qword [rsp + 0x130]
adc rdx, qword [rsp + 0x138]
add rax, r10
adc rdx, rdi
shld rdx, rax, 0xd
movabs rcx, 0x7ffffffffffff
and rax, rcx
add r15, qword [rsp + 0x140]
adc rsi, qword [rsp + 0x148]
add r15, r12
adc rsi, r11
add rbx, qword [rsp + 0x158]
adc r13, qword [rsp + 0x78]
add rbx, qword [rsp + 0x150]
adc r13, qword [rsp + 0x70]
add rbx, rdx
adc r13, 0
shld r13, rbx, 0xd
and rbx, rcx
add r9, qword [rsp + 0x88]
adc r14, qword [rsp + 0xa0]
add r9, qword [rsp + 0x38]
adc r14, qword [rsp + 0x40]
add r9, r13
adc r14, 0
shld r14, r9, 0xd
and r9, rcx
add rbp, qword [rsp + 0x90]
adc r8, qword [rsp + 0x98]
add rbp, qword [rsp + 0x20]
adc r8, qword [rsp + 0x48]
add rbp, r14
adc r8, 0
shld r8, rbp, 0xd
and rbp, rcx
mov qword [rsp + 0xa0], rbp
add r8, r15
adc rsi, 0
shld rsi, r8, 0xd
lea rdx, [rsi + rsi*8]
lea rdx, [rsi + rdx*2]
add rdx, rax
mov rax, rdx
shr rax, 0x33
add rax, rbx
mov qword [rsp + 0x120], rax
shr rax, 0x33
add rax, r9
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0xf8]
add rax, qword [rsp + 0xc8]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x100]
add rax, qword [rsp + 0xb0]
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x60]
add rax, qword [rsp + 0x168]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x30]
add rax, qword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x50]
add rax, qword [rsp + 0x118]
mov qword [rsp + 0x50], rax
mov rax, rcx
and r8, rcx
mov qword [rsp + 0xb0], r8
and rdx, rcx
mov qword [rsp + 0x168], rdx
mov rcx, qword [rsp + 0xc0]
lea rax, [rcx + rcx*8]
lea rbp, [rcx + rax*2]
mov rax, rbp
mov r12, qword [rsp + 0x220]
mul r12
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x58], rdx
mov rcx, qword [rsp + 0xa8]
lea rax, [rcx + rcx*8]
lea r8, [rcx + rax*2]
mov rax, r8
mul r12
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rdx
mov rcx, qword [rsp + 0x28]
lea rax, [rcx + rcx*8]
lea rcx, [rcx + rax*2]
mov rax, rcx
mul r12
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x38], rdx
mov r15, qword [rsp + 0x110]
lea rax, [r15 + r15*8]
lea rax, [r15 + rax*2]
mul r12
mov qword [rsp + 0x1a8], rdx
mov qword [rsp + 0x1a0], rax
mov rax, rbp
mov r11, qword [rsp + 0x228]
mul r11
mov r10, rdx
mov r14, rax
mov rax, r8
mul r11
mov qword [rsp + 0x1b8], rdx
mov qword [rsp + 0x1b0], rax
mov rax, rcx
mul r11
mov qword [rsp + 0x198], rdx
mov qword [rsp + 0x188], rax
mov rax, rbp
mov r13, qword [rsp + 0x230]
mul r13
mov rcx, rdx
mov rsi, rax
mov rax, r8
mul r13
mov qword [rsp + 0x1e0], rdx
mov qword [rsp + 0x1d8], rax
mov rax, rbp
mov r9, qword [rsp + 0x238]
mul r9
mov rbp, rdx
mov rdi, rax
mov rbx, qword [rsp + 0x80]
mov rax, rbx
mul r12
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x88], rax
mov rax, r15
mul r11
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x48], rax
mov rax, rbx
mov r12, rbx
mul r11
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x148], rax
mov rbx, qword [rsp + 0x28]
mov rax, rbx
mul r13
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x40], rax
mov rax, r15
mul r13
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x1d0], rax
mov rax, r12
mul r13
mov qword [rsp + 0x190], rdx
mov qword [rsp + 0x180], rax
mov r11, qword [rsp + 0xa8]
mov rax, r11
mul r9
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x158], rax
mov rax, rbx
mul r9
mov qword [rsp + 0x1c8], rdx
mov qword [rsp + 0x1c0], rax
mov rax, r15
mul r9
mov qword [rsp + 0x178], rdx
mov qword [rsp + 0x170], rax
mov rax, r12
mul r9
mov qword [rsp + 0x1f0], rdx
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0xc0]
mov r13, qword [rsp + 0x240]
mul r13
mov rbx, rdx
mov r8, rax
mov rax, r11
mul r13
mov r9, rdx
mov r15, rax
mov rax, qword [rsp + 0x28]
mul r13
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x110]
mul r13
mov qword [rsp + 0x110], rdx
mov r11, rax
mov rax, r12
mul r13
movabs r12, 0x7ffffffffffff
and qword [rsp + 0x120], r12
add rdi, qword [rsp + 0x1d8]
adc rbp, qword [rsp + 0x1e0]
add rdi, rax
adc rbp, rdx
add rdi, qword [rsp + 0x1a0]
adc rbp, qword [rsp + 0x1a8]
add rdi, qword [rsp + 0x188]
adc rbp, qword [rsp + 0x198]
shld rbp, rdi, 0xd
and rdi, r12
mov rdx, r12
add r14, qword [rsp + 0x130]
adc r10, qword [rsp + 0x138]
add rsi, qword [rsp + 0x1b0]
adc rcx, qword [rsp + 0x1b8]
add rsi, qword [rsp + 0x1e8]
adc rcx, qword [rsp + 0x1f0]
add rsi, r11
adc rcx, qword [rsp + 0x110]
add rsi, qword [rsp + 0x70]
adc rcx, qword [rsp + 0x38]
add rsi, rbp
adc rcx, 0
shld rcx, rsi, 0xd
and rsi, r12
add r14, qword [rsp + 0x180]
adc r10, qword [rsp + 0x190]
add r14, qword [rsp + 0x170]
adc r10, qword [rsp + 0x178]
add r14, qword [rsp + 0xa8]
adc r10, qword [rsp + 0x28]
add r14, rcx
adc r10, 0
shld r10, r14, 0xd
and r14, r12
add r15, qword [rsp + 0xc8]
adc r9, qword [rsp + 0x58]
add r15, qword [rsp + 0x148]
adc r9, qword [rsp + 0x150]
add r15, qword [rsp + 0x1d0]
adc r9, qword [rsp + 0x140]
add r15, qword [rsp + 0x1c0]
adc r9, qword [rsp + 0x1c8]
add r15, r10
adc r9, 0
shld r9, r15, 0xd
and r15, r12
add r8, qword [rsp + 0x158]
adc rbx, qword [rsp + 0x78]
add r8, qword [rsp + 0x88]
adc rbx, qword [rsp + 0x118]
add r8, qword [rsp + 0x48]
adc rbx, qword [rsp + 0x90]
add r8, qword [rsp + 0x40]
adc rbx, qword [rsp + 0x20]
add r8, r9
adc rbx, 0
shld rbx, r8, 0xd
lea rax, [rbx + rbx*8]
lea rbp, [rbx + rax*2]
add rbp, rdi
mov rax, rbp
shr rax, 0x33
add rax, rsi
mov qword [rsp + 0x58], rax
shr rax, 0x33
add rax, r14
mov qword [rsp + 0x118], rax
mov rax, r12
and r8, r12
mov qword [rsp + 0xc8], r8
and rbp, r12
mov qword [rsp + 0x28], rbp
mov rcx, qword [rsp + 0x50]
lea rax, [rcx + rcx*8]
lea rbp, [rcx + rax*2]
mov rax, rbp
mov r10, qword [rsp + 0xb8]
mul r10
mov qword [rsp + 0x110], rax
mov qword [rsp + 0xa8], rdx
mov rdx, qword [rsp + 0x100]
lea rax, [rdx + rdx*8]
lea rbx, [rdx + rax*2]
mov rax, rbx
mul r10
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rdx
mov rdx, qword [rsp + 0x30]
lea rax, [rdx + rdx*8]
lea rsi, [rdx + rax*2]
mov rax, rsi
mul r10
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], rdx
mov r9, qword [rsp + 0xf8]
lea rax, [r9 + r9*8]
lea rax, [r9 + rax*2]
mul r10
mov qword [rsp + 0x1c8], rdx
mov qword [rsp + 0x1c0], rax
mov rax, rbp
mov rdi, qword [rsp + 0xd0]
mul rdi
mov r11, rdx
mov qword [rsp + 0x170], rax
mov rax, rbx
mul rdi
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x1d0], rax
mov rax, rsi
mul rdi
mov r8, rdi
mov qword [rsp + 0x1a8], rdx
mov qword [rsp + 0x1a0], rax
mov rax, rbp
mov rsi, qword [rsp + 0x68]
mul rsi
mov r14, rdx
mov r13, rax
mov rax, rbx
mul rsi
mov rcx, rsi
mov qword [rsp + 0x188], rdx
mov qword [rsp + 0x180], rax
mov rax, rbp
mov rbp, qword [rsp + 0xe8]
mul rbp
mov r12, rdx
mov rsi, rax
mov rdi, qword [rsp + 0x60]
mov rax, rdi
mul r10
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0x90], rax
mov rax, r9
mul r8
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0x88], rax
mov rax, rdi
mul r8
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x78], rax
mov rbx, qword [rsp + 0x30]
mov rax, rbx
mul rcx
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0x80], rax
mov rax, r9
mul rcx
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x158], rax
mov rax, rdi
mul rcx
mov qword [rsp + 0x1b8], rdx
mov qword [rsp + 0x1b0], rax
mov rcx, qword [rsp + 0x100]
mov rax, rcx
mul rbp
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x48], rax
mov rax, rbx
mul rbp
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x138], rax
mov rax, r9
mul rbp
mov qword [rsp + 0x198], rdx
mov qword [rsp + 0x190], rax
mov rax, rdi
mul rbp
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x50]
mov rdi, qword [rsp + 0xd8]
mul rdi
mov r8, rdx
mov r10, rax
mov rax, rcx
mul rdi
mov r9, rdx
mov rbx, rax
mov rax, qword [rsp + 0x30]
mul rdi
mov rbp, rdx
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xf8]
mul rdi
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x60]
mul rdi
movabs rdi, 0x7ffffffffffff
and qword [rsp + 0x58], rdi
add rsi, qword [rsp + 0x180]
adc r12, qword [rsp + 0x188]
add rsi, rax
adc r12, rdx
add rsi, qword [rsp + 0x1c0]
adc r12, qword [rsp + 0x1c8]
add rsi, qword [rsp + 0x1a0]
adc r12, qword [rsp + 0x1a8]
mov rax, r12
shr rax, 0x33
shld r12, rsi, 0xd
and rsi, rdi
mov rdx, rdi
mov rcx, qword [rsp + 0x170]
add rcx, qword [rsp + 0x148]
adc r11, qword [rsp + 0x150]
add r13, qword [rsp + 0x1d0]
adc r14, qword [rsp + 0x130]
add r13, qword [rsp + 0x178]
adc r14, qword [rsp + 0xe8]
add r13, qword [rsp + 0x50]
adc r14, qword [rsp + 0x100]
add r13, qword [rsp + 0x38]
adc r14, qword [rsp + 0x20]
add r13, r12
mov r12, qword [rsp + 0x120]
adc r14, rax
mov rax, r14
shr rax, 0x33
shld r14, r13, 0xd
and r13, rdi
add rcx, qword [rsp + 0x1b0]
adc r11, qword [rsp + 0x1b8]
add rcx, qword [rsp + 0x190]
adc r11, qword [rsp + 0x198]
add rcx, qword [rsp + 0x30]
adc r11, rbp
add rcx, r14
adc r11, rax
mov rax, r11
shr rax, 0x33
shld r11, rcx, 0xd
and rcx, rdi
add rbx, qword [rsp + 0x110]
adc r9, qword [rsp + 0xa8]
add rbx, qword [rsp + 0x78]
adc r9, qword [rsp + 0x40]
add rbx, qword [rsp + 0x158]
adc r9, qword [rsp + 0x70]
add rbx, qword [rsp + 0x138]
adc r9, qword [rsp + 0x140]
add rbx, r11
adc r9, rax
mov rax, r9
shr rax, 0x33
shld r9, rbx, 0xd
and rbx, rdi
add r10, qword [rsp + 0x48]
adc r8, qword [rsp + 0x68]
add r10, qword [rsp + 0x90]
adc r8, qword [rsp + 0xb8]
add r10, qword [rsp + 0x88]
adc r8, qword [rsp + 0xc0]
add r10, qword [rsp + 0x80]
adc r8, qword [rsp + 0xd0]
add r10, r9
adc r8, rax
shld r8, r10, 0xd
lea rax, [r8 + r8*8]
lea r11, [r8 + rax*2]
add r11, rsi
mov rdi, r11
shr rdi, 0x33
add rdi, r13
mov rsi, qword [rsp + 0x98]
mov r14, rdi
shr r14, 0x33
add r14, rcx
mov rcx, qword [rsp + 0x208]
mov rax, rdx
and r10, rdx
and r11, rdx
and rdi, rdx
mov eax, ecx
mov ebp, dword [rsp + 0x210]
sub ebp, 1
jae 0x14009277b
neg rcx
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0x168]
xor rdx, rax
and rdx, rcx
xor rdx, rax
lea r13, [rsp + 0x298]
mov r8, qword [rsp + 0x160]
mov qword [r13 + 8], r8
mov rax, qword [rsp + 0x108]
mov qword [r13 + 0x10], rax
mov r9, qword [rsp + 0xf0]
mov qword [r13 + 0x18], r9
mov rbp, qword [rsp + 0x128]
mov qword [r13 + 0x20], rbp
mov qword [r13], rdx
xor r12, r8
and r12, rcx
xor r12, r8
mov qword [rsp + 0x120], r12
xor rsi, rax
and rsi, rcx
xor rsi, rax
mov qword [rsp + 0x98], rsi
mov r13, qword [rsp + 0xa0]
xor r13, r9
and r13, rcx
xor r13, r9
mov r12, qword [rsp + 0xb0]
xor r12, rbp
and r12, rcx
xor r12, rbp
mov rax, qword [rsp + 0x28]
xor rax, r11
and rax, rcx
xor rax, r11
lea rsi, [rsp + 0x270]
mov qword [rsi], rax
mov rax, qword [rsp + 0x58]
xor rax, rdi
and rax, rcx
xor rax, rdi
mov qword [rsi + 8], rax
mov rax, qword [rsp + 0x118]
xor rax, r14
and rax, rcx
xor rax, r14
mov qword [rsi + 0x10], rax
xor r15, rbx
and r15, rcx
xor r15, rbx
mov qword [rsi + 0x18], r15
mov rax, qword [rsp + 0xc8]
xor rax, r10
and rax, rcx
xor rax, r10
mov qword [rsi + 0x20], rax
lea rdx, [rsp + 0x2c0]
mov qword [rdx + 0x20], rax
mov rax, qword [rsi + 0x10]
mov qword [rdx + 0x10], rax
mov rax, qword [rsi + 0x18]
mov qword [rdx + 0x18], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rdx], xmm0
mov rcx, rsi
call fcn.140094fe0
mov rcx, qword [rsi + 0x20]
mov qword [rsp + 0x50], rcx
lea rax, [rcx + rcx*8]
lea rcx, [rcx + rax*2]
mov rax, rcx
mul r12
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x30], rdx
mov rdx, qword [rsi + 0x18]
mov qword [rsp + 0xc0], rdx
lea rax, [rdx + rdx*8]
lea rdi, [rdx + rax*2]
mov rax, rdi
mul r12
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xf8], rdx
mov rdx, qword [rsi + 0x10]
mov qword [rsp + 0x20], rdx
lea rax, [rdx + rdx*8]
lea rbp, [rdx + rax*2]
mov rax, rbp
mul r12
mov qword [rsp + 0x168], rax
mov qword [rsp + 0xc8], rdx
mov r11, qword [rsi]
mov rdx, qword [rsi + 8]
lea rax, [rdx + rdx*8]
lea rax, [rdx + rax*2]
mov r10, rdx
mul r12
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x210], rax
mov rax, r13
mul rcx
mov rbx, rdx
mov qword [rsp + 0x70], rax
mov rax, r13
mul rdi
mov r15, rdx
mov r8, rax
mov rax, r13
mul rbp
mov r9, rdx
mov qword [rsp + 0xd8], rax
mov r14, qword [rsp + 0x98]
mov rax, r14
mul rcx
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x110], rax
mov rax, r14
mul rdi
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x120]
mul rcx
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x48], rax
mov rcx, r11
mov rax, r11
mul r12
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0xb0], rax
mov rax, r13
mov r11, r10
mul r10
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xd0], rax
mov rax, rcx
mov r10, rcx
mul r13
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x100], rax
mov rax, r14
mov r12, qword [rsp + 0x20]
mul r12
mov rcx, rdx
mov rdi, rax
mov rax, r14
mul r11
mov rbp, rdx
mov rsi, rax
mov rax, r10
mul r14
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x108], rax
mov r14, qword [rsp + 0x120]
mov rax, r14
mov r13, qword [rsp + 0xc0]
mul r13
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rax
mov rax, r14
mul r12
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x28], rax
mov rax, r14
mul r11
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x208], rax
mov rax, r10
mul r14
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rdx
lea rax, [rsp + 0x298]
mov r14, qword [rax]
mov rax, r14
mul qword [rsp + 0x50]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0xf0], rax
mov rax, r14
mul r13
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0xc0], rax
mov rax, r14
mul r12
mov r12, rdx
mov qword [rsp + 0x20], rax
mov rax, r14
mul r11
mov qword [rsp + 0x78], rdx
mov r13, rax
mov rax, r14
mul r10
mov r10, qword [rsp + 0xd8]
add r10, qword [rsp + 0x210]
adc r9, qword [rsp + 0xa0]
add r10, qword [rsp + 0x80]
adc r9, qword [rsp + 0x90]
add r10, qword [rsp + 0x48]
adc r9, qword [rsp + 0x88]
add r10, rax
adc r9, rdx
shld r9, r10, 0xd
movabs r14, 0x7ffffffffffff
and r10, r14
mov rax, qword [rsp + 0x70]
add rax, qword [rsp + 0xe0]
adc rbx, qword [rsp + 0xf8]
add r8, qword [rsp + 0x168]
adc r15, qword [rsp + 0xc8]
add r8, qword [rsp + 0x110]
adc r15, qword [rsp + 0xa8]
add r8, qword [rsp + 0x38]
adc r15, qword [rsp + 0x40]
add r8, r13
adc r15, qword [rsp + 0x78]
add r8, r9
adc r15, 0
shld r15, r8, 0xd
and r8, r14
mov r9, rax
add r9, qword [rsp + 0x208]
adc rbx, qword [rsp + 0x98]
add r9, qword [rsp + 0x108]
adc rbx, qword [rsp + 0x160]
add r9, qword [rsp + 0x20]
adc rbx, r12
add r9, r15
adc rbx, 0
shld rbx, r9, 0xd
and r9, r14
add rsi, qword [rsp + 0xb8]
adc rbp, qword [rsp + 0x30]
add rsi, qword [rsp + 0x28]
adc rbp, qword [rsp + 0x118]
add rsi, qword [rsp + 0x100]
adc rbp, qword [rsp + 0x58]
add rsi, qword [rsp + 0xc0]
adc rbp, qword [rsp + 0x120]
add rsi, rbx
adc rbp, 0
shld rbp, rsi, 0xd
and rsi, r14
add rdi, qword [rsp + 0xd0]
adc rcx, qword [rsp + 0xe8]
add rdi, qword [rsp + 0x60]
adc rcx, qword [rsp + 0x68]
add rdi, qword [rsp + 0xb0]
adc rcx, qword [rsp + 0x128]
add rdi, qword [rsp + 0xf0]
adc rcx, qword [rsp + 0x50]
add rdi, rbp
adc rcx, 0
shld rcx, rdi, 0xd
lea rax, [rcx + rcx*8]
lea rax, [rcx + rax*2]
add rax, r10
mov rcx, rax
shr rcx, 0x33
add rcx, r8
mov rdx, rcx
shr rdx, 0x33
add rdx, r9
and rdi, r14
and rax, r14
and rcx, r14
lea rbp, [rsp + 0x298]
mov qword [rbp], rax
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x20], rdi
mov rdx, rbp
mov rsi, qword [rsp + 0x218]
mov rcx, rsi
call fcn.14004e4a0
lea rcx, [0x1401503d0]
mov r8d, 0x20
mov rdx, rsi
call fcn.140081ac0
xor esi, esi
test eax, eax
setne sil
mov rcx, qword [rsp + 0x2f0]
xor rcx, rsp
call fcn.14009d180
mov eax, esi
add rsp, 0x2f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret