Function at 0x14012a5f0
Capabilities:
Encrypt data using curve25519

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x488
movaps xmmword [rsp + 0x470], xmm6
mov r14, r9
mov rdi, r8
mov rbx, rdx
mov qword [rsp + 0x128], rcx
mov rax, qword [0x1401ea088]
xor rax, rsp
mov qword [rsp + 0x468], rax
movaps xmm6, xmmword [section..rdata]
movaps xmmword [rsp + 0x3d0], xmm6
movaps xmmword [rsp + 0x3c0], xmm6
movaps xmmword [rsp + 0x3b0], xmm6
movaps xmmword [rsp + 0x3a0], xmm6
lea r12, [rsp + 0x3c0]
lea r8, [rsp + 0x3a0]
mov edx, 0x20
mov rcx, r9
call fcn.140077b00
and byte [rsp + 0x3a0], 0xf8
movzx eax, byte [rsp + 0x3bf]
and al, 0x3f
or al, 0x40
mov byte [rsp + 0x3bf], al
movabs rsi, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x390], rsi
movaps xmmword [rsp + 0x380], xmm6
movaps xmmword [rsp + 0x370], xmm6
movaps xmmword [rsp + 0x360], xmm6
movaps xmmword [rsp + 0x350], xmm6
movaps xmmword [rsp + 0x340], xmm6
movaps xmmword [rsp + 0x330], xmm6
movaps xmmword [rsp + 0x320], xmm6
movaps xmmword [rsp + 0x310], xmm6
movaps xmmword [rsp + 0x300], xmm6
movaps xmmword [rsp + 0x2f0], xmm6
movaps xmmword [rsp + 0x2e0], xmm6
movaps xmmword [rsp + 0x2d0], xmm6
movaps xmmword [rsp + 0x2c0], xmm6
lea r15, [rsp + 0x2c0]
mov rcx, r15
call fcn.140079600
mov r8d, 0x20
mov rcx, r15
mov rdx, r12
call fcn.140079690
mov rcx, r15
mov rdx, rbx
mov r8, rdi
call fcn.140079690
movaps xmmword [rsp + 0x2b0], xmm6
movaps xmmword [rsp + 0x2a0], xmm6
movaps xmmword [rsp + 0x290], xmm6
movaps xmmword [rsp + 0x280], xmm6
lea r13, [rsp + 0x280]
mov rcx, r13
mov rdx, r15
call fcn.140079780
mov rcx, r13
call fcn.140129580
movaps xmmword [rsp + 0x270], xmm6
movaps xmmword [rsp + 0x260], xmm6
movaps xmmword [rsp + 0x250], xmm6
movaps xmmword [rsp + 0x240], xmm6
movaps xmmword [rsp + 0x230], xmm6
movaps xmmword [rsp + 0x220], xmm6
movaps xmmword [rsp + 0x210], xmm6
movaps xmmword [rsp + 0x200], xmm6
movaps xmmword [rsp + 0x1f0], xmm6
movaps xmmword [rsp + 0x1e0], xmm6
lea r8, [0x1401cdab0]
lea r12, [rsp + 0x1e0]
mov rcx, r12
mov rdx, r13
call fcn.140128560
mov qword [rsp + 0x460], rsi
movaps xmmword [rsp + 0x450], xmm6
movaps xmmword [rsp + 0x440], xmm6
mov qword [rsp + 0x430], rsi
movaps xmmword [rsp + 0x420], xmm6
movaps xmmword [rsp + 0x410], xmm6
mov qword [rsp + 0x400], rsi
movaps xmmword [rsp + 0x3f0], xmm6
movaps xmmword [rsp + 0x3e0], xmm6
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x1c0], rax
movaps xmm0, xmmword [rsp + 0x230]
movaps xmm1, xmmword [rsp + 0x240]
movaps xmmword [rsp + 0x1b0], xmm1
movaps xmmword [rsp + 0x1a0], xmm0
lea r13, [rsp + 0x440]
lea rdx, [rsp + 0x1a0]
mov rcx, r13
call fcn.14012fd90
lea rbp, [rsp + 0x410]
mov rcx, rbp
mov rdx, r12
mov r8, r13
call fcn.140132800
lea rdx, [rsp + 0x208]
lea r12, [rsp + 0x3e0]
mov rcx, r12
mov r8, r13
call fcn.140132800
mov rsi, qword [rsp + 0x128]
mov rcx, rsi
mov rdx, r12
call fcn.140124590
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1a0], xmm6
lea rcx, [rsp + 0x1a0]
mov rdx, rbp
call fcn.140124590
movzx eax, byte [rsp + 0x1a0]
shl al, 7
xor byte [rsi + 0x1f], al
mov rcx, r15
call fcn.140079600
mov r8d, 0x20
mov rcx, r15
mov rdx, rsi
call fcn.140079690
add r14, 0x20
mov r8d, 0x20
mov rcx, r15
mov rdx, r14
call fcn.140079690
mov rcx, r15
mov rdx, rbx
mov r8, rdi
call fcn.140079690
movaps xmmword [rsp + 0x1d0], xmm6
movaps xmmword [rsp + 0x1c0], xmm6
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1a0], xmm6
lea rdi, [rsp + 0x1a0]
mov rcx, rdi
mov rdx, r15
call fcn.140079780
mov rcx, rdi
call fcn.140129580
movzx eax, word [rsp + 0x1a0]
movzx ecx, byte [rsp + 0x1a2]
movzx r8d, byte [rsp + 0x1a3]
shl r8d, 8
movzx edx, byte [rsp + 0x1a4]
shl edx, 0x10
or edx, r8d
movzx r8d, byte [rsp + 0x1a5]
movzx r9d, byte [rsp + 0x1a6]
shl r9d, 8
movzx r10d, byte [rsp + 0x1a7]
movzx esi, byte [rsp + 0x1a8]
shl esi, 8
movzx r11d, byte [rsp + 0x1a9]
shl r11d, 0x10
or r11d, esi
movzx esi, byte [rsp + 0x1aa]
movzx ebx, byte [rsp + 0x1ab]
shl ebx, 8
movzx edi, byte [rsp + 0x1ac]
shl edi, 0x10
or edi, ebx
movzx ebx, byte [rsp + 0x1ad]
movzx ebp, byte [rsp + 0x1ae]
shl ebp, 8
movzx r14d, byte [rsp + 0x1b0]
shl r14d, 8
movzx r15d, byte [rsp + 0x1b1]
shl r15d, 0x10
or r15d, r14d
movzx r12d, byte [rsp + 0x1b2]
movzx r14d, r12b
shl r12d, 0x18
or r12d, r15d
movzx r15d, byte [rsp + 0x1af]
or r12d, r15d
mov qword [rsp + 0xb8], r12
shl r15d, 0x10
or r15d, ebp
or r15d, ebx
mov qword [rsp + 0x40], r15
shl ebx, 0x18
or ebx, edi
or ebx, esi
mov qword [rsp + 0x50], rbx
shl esi, 0x18
or esi, r11d
or esi, r10d
mov qword [rsp + 0x88], rsi
shl r10d, 0x10
or r10d, r9d
or r10d, r8d
mov qword [rsp + 0x68], r10
mov r13d, r8d
shl r13d, 0x18
or r13d, edx
or r13d, ecx
mov r15d, ecx
and r15d, 0x1f
shl r15, 0x10
or r15, rax
movzx eax, byte [rsp + 0x1b3]
shl rax, 8
movzx ecx, byte [rsp + 0x1b4]
shl rcx, 0x10
or rcx, rax
or rcx, r14
mov qword [rsp + 0x28], rcx
movzx eax, word [rsp + 0x1b5]
movzx ecx, byte [rsp + 0x1b7]
movzx r8d, byte [rsp + 0x1b8]
shl r8d, 8
movzx edx, byte [rsp + 0x1b9]
shl edx, 0x10
or edx, r8d
movzx r8d, byte [rsp + 0x1bb]
shl r8d, 8
movzx r9d, byte [rsp + 0x1bd]
shl r9, 8
movzx r10d, byte [rsp + 0x1be]
shl r10, 0x10
or r10, r9
movzx r11d, byte [rsp + 0x1bf]
shl r11, 0x18
or r11, r10
movzx r9d, byte [rsp + 0x1bc]
or r11, r9
mov qword [rsp + 0xd8], r11
shl r9d, 0x10
or r9d, r8d
movzx r8d, byte [rsp + 0x1ba]
or r9d, r8d
mov qword [rsp + 0xd0], r9
shl r8d, 0x18
or r8d, edx
or r8d, ecx
mov qword [rsp + 0xa0], r8
and ecx, 0x1f
shl rcx, 0x10
or rcx, rax
mov qword [rsp + 0xc8], rcx
movzx eax, byte [rsp + 0x3a3]
shl eax, 8
movzx r8d, byte [rsp + 0x3a4]
shl r8d, 0x10
or r8d, eax
movzx ecx, byte [rsp + 0x3a8]
shl ecx, 8
movzx eax, byte [rsp + 0x3a9]
shl eax, 0x10
or eax, ecx
movzx edx, byte [rsp + 0x3ab]
shl edx, 8
movzx ecx, byte [rsp + 0x3ac]
shl ecx, 0x10
or ecx, edx
movzx edx, byte [rsp + 0x3b0]
shl edx, 8
movzx r9d, byte [rsp + 0x3b1]
shl r9d, 0x10
or r9d, edx
movzx r11d, byte [rsp + 0x3b2]
movzx edx, r11b
shl r11d, 0x18
or r11d, r9d
movzx r10d, byte [rsp + 0x3ae]
shl r10d, 8
movzx r9d, byte [rsp + 0x3af]
or r11d, r9d
mov qword [rsp + 0x38], r11
shl r9d, 0x10
or r9d, r10d
movzx r10d, byte [rsp + 0x3ad]
or r9d, r10d
mov qword [rsp + 0x30], r9
mov r9d, r10d
shl r9d, 0x18
or r9d, ecx
movzx ecx, byte [rsp + 0x3aa]
or r9d, ecx
mov qword [rsp + 0x48], r9
mov r10d, ecx
shl r10d, 0x18
or r10d, eax
movzx eax, byte [rsp + 0x3a6]
shl eax, 8
movzx ecx, byte [rsp + 0x3a7]
or r10d, ecx
mov rdi, r10
mov r11d, ecx
shl r11d, 0x10
or r11d, eax
movzx eax, byte [rsp + 0x3a5]
or r11d, eax
mov r12d, eax
shl r12d, 0x18
or r12d, r8d
movzx r14d, byte [rsp + 0x3a2]
or r12d, r14d
mov r9d, r14d
and r9d, 0x1f
shl r9, 0x10
movzx eax, word [rsp + 0x3a0]
or r9, rax
movzx eax, byte [rsp + 0x3b3]
shl rax, 8
movzx ecx, byte [rsp + 0x3b4]
shl rcx, 0x10
or rcx, rax
or rcx, rdx
mov qword [rsp + 0x80], rcx
movzx ecx, byte [rsp + 0x3b8]
shl ecx, 8
movzx eax, byte [rsp + 0x3b9]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [rsp + 0x3bd]
shl rcx, 8
movzx edx, byte [rsp + 0x3be]
shl rdx, 0x10
or rdx, rcx
movzx r8d, byte [rsp + 0x3bf]
shl r8, 0x18
or r8, rdx
movzx ecx, byte [rsp + 0x3bb]
shl ecx, 8
movzx edx, byte [rsp + 0x3bc]
or r8, rdx
mov qword [rsp + 0xb0], r8
shl edx, 0x10
or edx, ecx
movzx ecx, byte [rsp + 0x3ba]
or edx, ecx
mov qword [rsp + 0x58], rdx
shl ecx, 0x18
or ecx, eax
movzx eax, byte [rsp + 0x3b7]
or ecx, eax
mov qword [rsp + 0x70], rcx
mov ecx, eax
and ecx, 0x1f
shl rcx, 0x10
movzx eax, word [rsp + 0x3b5]
or rcx, rax
mov qword [rsp + 0x60], rcx
movzx eax, byte [rsp + 0x283]
shl eax, 8
movzx r8d, byte [rsp + 0x284]
shl r8d, 0x10
or r8d, eax
movzx ecx, byte [rsp + 0x288]
shl ecx, 8
movzx eax, byte [rsp + 0x289]
shl eax, 0x10
or eax, ecx
movzx edx, byte [rsp + 0x28b]
shl edx, 8
movzx ecx, byte [rsp + 0x28c]
shl ecx, 0x10
or ecx, edx
movzx edx, byte [rsp + 0x290]
shl edx, 8
movzx r10d, byte [rsp + 0x291]
shl r10d, 0x10
or r10d, edx
movzx r14d, byte [rsp + 0x292]
movzx edx, r14b
shl r14d, 0x18
or r14d, r10d
movzx r10d, byte [rsp + 0x28e]
shl r10d, 8
movzx esi, byte [rsp + 0x28f]
or r14d, esi
mov qword [rsp + 0x120], r14
shl esi, 0x10
or esi, r10d
movzx r10d, byte [rsp + 0x28d]
or esi, r10d
shl r10d, 0x18
or r10d, ecx
movzx ecx, byte [rsp + 0x28a]
or r10d, ecx
mov qword [rsp + 0x118], r10
mov r10d, ecx
shl r10d, 0x18
or r10d, eax
movzx eax, byte [rsp + 0x286]
shl eax, 8
movzx ecx, byte [rsp + 0x287]
or r10d, ecx
mov qword [rsp + 0x110], r10
shl ecx, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x285]
or ecx, eax
mov qword [rsp + 0x188], rcx
mov ecx, eax
shl ecx, 0x18
or ecx, r8d
movzx eax, byte [rsp + 0x282]
or ecx, eax
mov qword [rsp + 0x198], rcx
mov ecx, eax
and ecx, 0x1f
shl rcx, 0x10
movzx eax, word [rsp + 0x280]
or rcx, rax
mov qword [rsp + 0x180], rcx
movzx eax, byte [rsp + 0x293]
shl rax, 8
movzx ecx, byte [rsp + 0x294]
shl rcx, 0x10
or rcx, rax
or rcx, rdx
mov qword [rsp + 0x190], rcx
movzx ecx, byte [rsp + 0x298]
shl ecx, 8
movzx eax, byte [rsp + 0x299]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [rsp + 0x29d]
shl rcx, 8
movzx edx, byte [rsp + 0x29e]
shl rdx, 0x10
or rdx, rcx
movzx r8d, byte [rsp + 0x29f]
shl r8, 0x18
or r8, rdx
movzx ecx, byte [rsp + 0x29b]
shl ecx, 8
movzx edx, byte [rsp + 0x29c]
or r8, rdx
mov qword [rsp + 0x108], r8
shl edx, 0x10
or edx, ecx
movzx ecx, byte [rsp + 0x29a]
or edx, ecx
mov qword [rsp + 0x178], rdx
shl ecx, 0x18
or ecx, eax
mov qword [rsp + 0xe8], rcx
shr r13d, 5
and r13d, 0x1fffff
shr r12d, 5
and r12d, 0x1fffff
mov rax, r12
mov r8, r15
imul rax, r15
mov rcx, r9
imul rcx, r13
add rcx, rax
mov qword [rsp + 0x170], rcx
mov r15, qword [rsp + 0x68]
shr r15d, 2
and r15d, 0x1fffff
shr r11d, 2
and r11d, 0x1fffff
mov rax, r11
imul rax, r8
mov rcx, r9
mov r14, r9
imul rcx, r15
add rcx, rax
mov rax, r12
imul rax, r13
add rcx, rax
mov qword [rsp + 0x168], rcx
shr edi, 7
and edi, 0x1fffff
mov rax, rdi
imul rax, r8
mov rcx, r11
imul rcx, r13
mov r10, r13
add rcx, rax
mov r13, qword [rsp + 0x88]
shr r13d, 7
and r13d, 0x1fffff
mov rax, r12
imul rax, r15
mov rdx, r9
imul rdx, r13
mov r9, r13
add rdx, rax
add rdx, rcx
mov qword [rsp + 0x100], rdx
mov rax, rdi
imul rax, r10
mov rcx, r11
imul rcx, r15
mov rbp, r15
add rcx, rax
mov r13, qword [rsp + 0x50]
shr r13d, 4
and r13d, 0x1fffff
mov rax, r12
imul rax, r9
mov r15, r9
mov r9, r14
imul r9, r13
mov rdx, r13
add r9, rax
add r9, rcx
mov rbx, qword [rsp + 0x48]
shr ebx, 4
and ebx, 0x1fffff
mov rax, rbx
mov qword [rsp + 0xc0], r8
imul rax, r8
add r9, rax
mov qword [rsp + 0x160], r9
mov rax, qword [rsp + 0x30]
shr eax, 1
and eax, 0x1fffff
mov qword [rsp + 0x30], rax
imul rax, r8
mov r9, rbx
mov qword [rsp + 0x48], rbx
imul r9, r10
add r9, rax
shr esi, 1
and esi, 0x1fffff
add r9, rsi
mov qword [rsp + 0x158], r9
mov r8, rdi
mov qword [rsp + 0x90], rdi
mov rax, rdi
imul rax, rbp
mov rdi, rbp
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x78], r11
mov rcx, r11
imul rcx, r15
add rcx, rax
mov r13, qword [rsp + 0x40]
shr r13d, 1
and r13d, 0x1fffff
mov qword [rsp + 0x40], r13
mov rsi, r12
mov qword [rsp + 0xa8], r12
mov rax, r12
mov r9, rdx
imul rax, rdx
mov rdx, r14
mov rbp, r14
imul rdx, r13
add rdx, rax
add rdx, rcx
mov qword [rsp + 0xf8], rdx
mov r12, qword [rsp + 0x30]
mov rax, r12
mov qword [rsp + 0xe0], r10
imul rax, r10
mov rcx, rbx
imul rcx, rdi
add rcx, rax
mov r14, qword [rsp + 0x38]
shr r14d, 6
and r14d, 0x1fffff
mov rax, r14
mov r13, r14
mov qword [rsp + 0x38], r14
mov r14, qword [rsp + 0xc0]
imul rax, r14
add rcx, rax
mov rax, r8
imul rax, r15
mov rdi, r15
mov qword [rsp + 0x88], r15
mov rdx, r11
imul rdx, r9
mov r11, r9
add rdx, rax
mov r8, qword [rsp + 0xb8]
shr r8d, 6
and r8d, 0x1fffff
mov qword [rsp + 0xb8], r8
mov rax, rsi
imul rax, qword [rsp + 0x40]
mov rsi, rbp
mov rbx, rbp
imul rsi, r8
add rsi, rax
add rsi, rdx
add rsi, rcx
mov qword [rsp + 0x150], rsi
mov rax, r13
imul rax, r10
mov rcx, r12
imul rcx, qword [rsp + 0x68]
add rcx, rax
mov r15, qword [rsp + 0x80]
shr r15, 3
mov rax, r15
mov qword [rsp + 0x80], r15
mov r12, r14
imul rax, r14
add rcx, rax
mov r8, qword [rsp + 0x48]
mov rax, r8
imul rax, rdi
mov rsi, qword [rsp + 0x90]
mov rdx, rsi
mov qword [rsp + 0x50], r9
imul rdx, r9
add rdx, rax
mov r10, qword [rsp + 0x28]
shr r10, 3
mov qword [rsp + 0x28], r10
mov r13, qword [rsp + 0x78]
mov rax, r13
mov rbp, qword [rsp + 0x40]
imul rax, rbp
mov r9, rbx
mov qword [rsp + 0x98], rbx
imul r9, r10
add r9, rax
mov rdi, qword [rsp + 0xa8]
mov rax, rdi
mov r14, qword [rsp + 0xb8]
imul rax, r14
add r9, rax
add r9, rdx
add r9, rcx
mov qword [rsp + 0xf0], r9
mov r9, qword [rsp + 0x60]
mov rcx, r9
imul rcx, r12
mov rax, r15
mov r12, qword [rsp + 0xe0]
imul rax, r12
add rax, rcx
movzx ecx, word [rsp + 0x295]
add rax, rcx
mov rcx, qword [rsp + 0x30]
imul rcx, qword [rsp + 0x88]
mov rdx, r8
imul rdx, r11
add rdx, rcx
mov r11, qword [rsp + 0x38]
mov rcx, r11
mov r8, qword [rsp + 0x68]
imul rcx, r8
add rdx, rcx
imul rsi, rbp
mov r10, r13
imul r10, r14
add r10, rsi
mov r15, qword [rsp + 0x28]
imul rdi, r15
mov r13, rbx
mov rcx, qword [rsp + 0xc8]
imul r13, rcx
add r13, rdi
add r13, r10
add r13, rdx
add r13, rax
mov qword [rsp + 0x148], r13
mov rdx, r9
imul rdx, r12
mov rax, qword [rsp + 0x80]
imul rax, r8
add rax, rdx
mov r13, qword [rsp + 0x70]
shr r13d, 5
and r13d, 0x1fffff
mov rdx, r13
mov qword [rsp + 0x70], r13
mov r8, qword [rsp + 0xc0]
imul rdx, r8
add rax, rdx
mov rbx, qword [rsp + 0x30]
mov rdx, rbx
imul rdx, qword [rsp + 0x50]
mov r10, qword [rsp + 0x48]
imul r10, rbp
add r10, rdx
mov rbp, r11
mov rdx, r11
mov r9, qword [rsp + 0x88]
imul rdx, r9
add r10, rdx
mov rdi, qword [rsp + 0x90]
mov rdx, rdi
mov rsi, r14
imul rdx, r14
mov r12, qword [rsp + 0x78]
imul r12, r15
add r12, rdx
mov r11, qword [rsp + 0xa0]
shr r11d, 5
and r11d, 0x1fffff
mov qword [rsp + 0xa0], r11
mov r14, qword [rsp + 0xa8]
mov rdx, r14
imul rdx, rcx
mov rcx, qword [rsp + 0x98]
imul rcx, r11
add rcx, rdx
add rcx, r12
add rcx, r10
add rcx, rax
mov qword [rsp + 0x140], rcx
imul r13, qword [rsp + 0xe0]
mov rax, qword [rsp + 0x60]
imul rax, qword [rsp + 0x68]
add rax, r13
mov rdx, qword [rsp + 0x58]
shr edx, 2
and edx, 0x1fffff
mov qword [rsp + 0x58], rdx
imul rdx, r8
add rax, rdx
mov rdx, rbp
mov r11, qword [rsp + 0x50]
imul rdx, r11
mov r10, rbx
mov r8, rbx
imul r10, qword [rsp + 0x40]
add r10, rdx
mov r15, qword [rsp + 0x80]
mov rdx, r15
imul rdx, r9
mov rbp, r9
add r10, rdx
mov r13, qword [rsp + 0x48]
mov rdx, r13
imul rdx, rsi
mov r12, rdi
imul r12, qword [rsp + 0x28]
add r12, rdx
mov r9, qword [rsp + 0xd0]
shr r9d, 2
and r9d, 0x1fffff
mov qword [rsp + 0xd0], r9
mov rdi, qword [rsp + 0x78]
mov rdx, rdi
imul rdx, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x98]
mov rcx, rbx
imul rcx, r9
add rcx, rdx
imul r14, qword [rsp + 0xa0]
add rcx, r14
add rcx, r12
add rcx, r10
add rcx, rax
mov qword [rsp + 0x130], rcx
mov rcx, qword [rsp + 0xb0]
shr rcx, 7
mov qword [rsp + 0xb0], rcx
mov r10, qword [rsp + 0x108]
shr r10, 7
mov rdx, rbx
mov rax, qword [rsp + 0xc0]
imul rdx, rax
mov qword [rsp + 0x108], rdx
imul rax, rcx
add rax, r10
mov qword [rsp + 0xc0], rax
mov rsi, qword [rsp + 0x60]
mov rdx, rsi
mov r14, rbp
imul rdx, rbp
mov rax, r15
imul rax, r11
add rax, rdx
mov r11, qword [rsp + 0x70]
mov rdx, r11
mov r12, qword [rsp + 0x68]
imul rdx, r12
add rax, rdx
mov rbp, qword [rsp + 0x58]
mov rdx, rbp
imul rdx, qword [rsp + 0xe0]
add rax, rdx
mov rdx, r8
imul rdx, qword [rsp + 0xb8]
mov r8, r13
imul r8, qword [rsp + 0x28]
add r8, rdx
mov r9, qword [rsp + 0x38]
mov rdx, r9
mov r15, qword [rsp + 0x40]
imul rdx, r15
add r8, rdx
mov r13, qword [rsp + 0x90]
mov rdx, r13
imul rdx, qword [rsp + 0xc8]
mov r10, rdi
mov rdi, qword [rsp + 0xa0]
imul r10, rdi
add r10, rdx
mov rcx, qword [rsp + 0xd8]
shr rcx, 7
mov qword [rsp + 0xd8], rcx
mov rdx, qword [rsp + 0xa8]
imul rdx, qword [rsp + 0xd0]
imul rbx, rcx
mov rcx, rbx
add rcx, rdx
add rcx, r10
mov rdx, rcx
add rdx, r8
add rdx, rax
mov qword [rsp + 0x98], rdx
mov rdx, r11
imul rdx, r14
mov rax, rsi
mov rbx, qword [rsp + 0x50]
imul rax, rbx
add rax, rdx
mov rdx, rbp
imul rdx, r12
add rax, rdx
mov rdx, r9
imul rdx, qword [rsp + 0xb8]
mov r9, qword [rsp + 0x30]
mov r8, r9
mov r12, qword [rsp + 0x28]
imul r8, r12
add r8, rdx
mov rsi, qword [rsp + 0x80]
mov rdx, rsi
imul rdx, r15
add r8, rdx
mov r11, qword [rsp + 0x48]
mov rdx, r11
mov rcx, qword [rsp + 0xc8]
imul rdx, rcx
mov r10, r13
imul r10, rdi
mov r13, rdi
add r10, rdx
mov r15, qword [rsp + 0x78]
mov rdx, r15
mov r14, qword [rsp + 0xd0]
imul rdx, r14
mov rdi, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xd8]
imul rdi, rbp
add rdi, rdx
add rdi, r10
add rdi, r8
add rdi, rax
mov qword [rsp + 0xa8], rdi
mov rax, qword [rsp + 0x58]
imul rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x70]
imul rdx, rbx
add rdx, rax
mov rax, qword [rsp + 0x68]
imul rax, qword [rsp + 0xb0]
add rdx, rax
mov qword [rsp + 0x138], rdx
mov rax, rsi
mov rsi, qword [rsp + 0xb8]
imul rax, rsi
mov rdx, qword [rsp + 0x38]
mov rbx, r12
imul rdx, r12
add rdx, rax
mov r12, qword [rsp + 0x60]
mov rax, r12
mov r10, qword [rsp + 0x40]
imul rax, r10
add rdx, rax
mov rax, r9
imul rax, rcx
mov r8, r11
mov r9, r13
imul r8, r13
add r8, rax
mov rax, qword [rsp + 0x90]
imul rax, r14
mov r11, r14
imul r15, rbp
add r15, rax
add r15, r8
add r15, rdx
mov qword [rsp + 0x78], r15
mov rax, r12
imul rax, rsi
mov r15, qword [rsp + 0x80]
mov rdx, r15
imul rdx, rbx
add rdx, rax
mov rcx, qword [rsp + 0x70]
mov rax, rcx
imul rax, r10
mov r13, r10
add rdx, rax
mov r14, qword [rsp + 0x38]
mov rax, r14
mov r10, qword [rsp + 0xc8]
imul rax, r10
mov rdi, qword [rsp + 0x30]
mov r8, rdi
imul r8, r9
add r8, rax
mov rax, qword [rsp + 0x48]
imul rax, r11
mov rbx, qword [rsp + 0x90]
imul rbx, rbp
add rbx, rax
add rbx, r8
add rbx, rdx
mov r11, qword [rsp + 0x58]
mov rax, r11
imul rax, qword [rsp + 0x50]
add rbx, rax
mov qword [rsp + 0x90], rbx
mov rax, rcx
mov rbx, rsi
imul rax, rsi
mov rbp, qword [rsp + 0x60]
mov rdx, rbp
mov rcx, qword [rsp + 0x28]
imul rdx, rcx
add rdx, rax
mov rax, r11
imul rax, r13
add rdx, rax
mov rax, r15
imul rax, r10
mov r12, r10
mov r8, r14
mov r10, r14
imul r8, r9
add r8, rax
mov rax, rdi
mov rsi, qword [rsp + 0xd0]
imul rax, rsi
mov rdi, qword [rsp + 0x48]
mov r13, qword [rsp + 0xd8]
imul rdi, r13
add rdi, rax
add rdi, r8
add rdi, rdx
mov qword [rsp + 0x48], rdi
mov rdi, r11
mov rax, r11
imul rax, rbx
mov r14, rbx
mov rbx, qword [rsp + 0x70]
mov rdx, rbx
imul rdx, rcx
add rdx, rax
mov rax, rbp
imul rax, r12
mov rbp, r12
mov r8, r15
mov r11, r9
imul r8, r9
add r8, rax
mov rax, r10
imul rax, rsi
mov r12, rsi
mov r9, qword [rsp + 0x30]
imul r9, r13
add r9, rax
add r9, r8
add r9, rdx
mov qword [rsp + 0x30], r9
mov r13, qword [rsp + 0xb0]
imul r14, r13
imul rdi, rcx
add rdi, r14
mov rax, rbx
mov rsi, rbp
imul rax, rbp
mov r8, qword [rsp + 0x60]
mov rdx, r8
imul rdx, r11
mov rbp, r11
add rdx, rax
mov rax, r15
imul rax, r12
mov r11, qword [rsp + 0xd8]
imul r10, r11
add r10, rax
add r10, rdx
mov qword [rsp + 0x38], r10
mov rax, r8
mov r14, r8
imul rax, r12
mov rcx, r12
imul r15, r11
mov r9, r11
add r15, rax
mov rax, rbx
imul rax, rbp
add r15, rax
mov r8, qword [rsp + 0x58]
mov rax, r8
imul rax, rsi
add r15, rax
imul rsi, r13
mov r12, r8
imul r12, rbp
add r12, rsi
mov rax, rbx
imul rax, rcx
mov rdx, r14
imul rdx, r11
add rdx, rax
mov qword [rsp + 0x60], rdx
mov rax, r8
imul rax, rcx
imul rbx, r11
add rbx, rax
mov qword [rsp + 0x70], rbx
imul rcx, r13
imul r8, r11
add r8, rcx
mov qword [rsp + 0x58], r8
mov r11, qword [rsp + 0xe0]
imul r11, r13
mov rsi, qword [rsp + 0x88]
imul rsi, r13
mov rbx, qword [rsp + 0x50]
imul rbx, r13
mov rcx, qword [rsp + 0x40]
imul rcx, r13
mov qword [rsp + 0x40], rcx
mov rcx, qword [rsp + 0x28]
imul rcx, r13
mov qword [rsp + 0x28], rcx
imul rbp, r13
imul r13, r9
mov qword [rsp + 0xb0], r13
mov rax, qword [rsp + 0x180]
mov rdx, qword [rsp + 0x108]
lea rcx, [rax + rdx]
add rdx, rax
add rdx, 0x100000
mov rax, rdx
shr rax, 0x15
add rax, qword [rsp + 0x170]
and rdx, 0xffffffffffe00000
sub rcx, rdx
mov qword [rsp + 0xb8], rcx
mov rcx, qword [rsp + 0x188]
shr ecx, 2
and ecx, 0x1fffff
mov rdx, qword [rsp + 0x168]
lea r8, [rdx + rcx]
mov qword [rsp + 0x80], r8
add rdx, rcx
add rdx, 0x100000
mov rcx, qword [rsp + 0x110]
shr ecx, 7
and ecx, 0x1fffff
add qword [rsp + 0x100], rcx
mov rcx, qword [rsp + 0x118]
shr ecx, 4
and ecx, 0x1fffff
mov r8, qword [rsp + 0x160]
lea r9, [r8 + rcx]
mov qword [rsp + 0x88], r9
add r8, rcx
add r8, 0x100000
mov rcx, qword [rsp + 0x158]
add qword [rsp + 0xf8], rcx
mov rcx, qword [rsp + 0x120]
shr ecx, 6
and ecx, 0x1fffff
mov r9, qword [rsp + 0x150]
lea r10, [r9 + rcx]
mov qword [rsp + 0xa0], r10
add rcx, r9
add rcx, 0x100000
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsp + 0x190]
shr rcx, 3
add qword [rsp + 0xf0], rcx
movzx r10d, byte [rsp + 0x297]
mov rcx, qword [rsp + 0xe8]
or ecx, r10d
mov qword [rsp + 0xe8], rcx
and r10d, 0x1f
shl r10, 0x10
mov rcx, qword [rsp + 0x148]
lea r9, [rcx + r10]
mov qword [rsp + 0xd0], r9
add rcx, r10
add rcx, 0x100000
mov qword [rsp + 0xc8], rcx
shr rcx, 0x15
add rcx, qword [rsp + 0x140]
mov r9, qword [rsp + 0x178]
shr r9d, 2
and r9d, 0x1fffff
mov r14, qword [rsp + 0x130]
lea r10, [r14 + r9]
mov qword [rsp + 0xd8], r10
add r9, r14
add r9, 0x100000
mov qword [rsp + 0x50], r9
mov r14, qword [rsp + 0x98]
add r14, qword [rsp + 0xc0]
mov r9, r11
mov r10, qword [rsp + 0xa8]
add r11, r10
mov qword [rsp + 0x98], r11
add r9, r10
add r9, 0x100000
mov qword [rsp + 0x110], r9
mov r9, qword [rsp + 0x138]
add qword [rsp + 0x78], r9
mov r10, qword [rsp + 0x90]
lea r11, [r10 + rsi]
mov qword [rsp + 0x118], r11
lea r13, [rsi + r10]
add r13, 0x100000
add qword [rsp + 0x48], rbx
mov r9, qword [rsp + 0x40]
mov r11, qword [rsp + 0x30]
lea r10, [r11 + r9]
mov qword [rsp + 0x120], r10
lea rbx, [r9 + r11]
add rbx, 0x100000
add qword [rsp + 0x38], rdi
mov r9, qword [rsp + 0x28]
lea rdi, [r15 + r9]
add r9, r15
add r9, 0x100000
add qword [rsp + 0x60], r12
mov r12, r9
and r9, 0xffffffffffe00000
sub rdi, r9
mov r11, qword [rsp + 0x70]
lea r10, [r11 + rbp]
add r11, rbp
add r11, 0x100000
mov r9, r11
and r11, 0xffffffffffe00000
sub r10, r11
mov rbp, qword [rsp + 0xb0]
lea r11, [rbp + 0x100000]
mov qword [rsp + 0x28], r11
and r11, 0xffffffffffe00000
sub rbp, r11
mov r11, qword [rsp + 0x198]
shr r11d, 5
and r11d, 0x1fffff
lea rsi, [rax + r11]
add rax, r11
add rax, 0x100000
mov r15, rax
shr r15, 0x15
add r15, qword [rsp + 0x80]
mov r11, rdx
and rdx, 0xffffffffffe00000
sub r15, rdx
mov qword [rsp + 0x90], r15
and rax, 0xffffffffffe00000
sub rsi, rax
mov qword [rsp + 0x70], rsi
shr r11, 0x15
mov rax, qword [rsp + 0x100]
lea rsi, [rax + r11]
add rax, r11
add rax, 0x100000
mov r11, rax
shr r11, 0x15
add r11, qword [rsp + 0x88]
mov rdx, r8
and r8, 0xffffffffffe00000
sub r11, r8
mov qword [rsp + 0x80], r11
and rax, 0xffffffffffe00000
sub rsi, rax
mov qword [rsp + 0xb0], rsi
shr rdx, 0x15
mov rax, qword [rsp + 0xf8]
lea r8, [rax + rdx]
mov qword [rsp + 0x40], r8
lea r15, [rdx + rax]
add r15, 0x100000
mov qword [rsp + 0x88], r15
shr r15, 0x15
add r15, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x68]
shr rax, 0x15
mov rdx, qword [rsp + 0xf0]
lea r8, [rdx + rax]
mov qword [rsp + 0x30], r8
add rax, rdx
add rax, 0x100000
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0xe8]
shr eax, 5
and eax, 0x1fffff
lea rdx, [rcx + rax]
mov qword [rsp + 0xe0], rdx
add rax, rcx
add rax, 0x100000
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x50]
shr rax, 0x15
lea rdx, [r14 + rax]
mov qword [rsp + 0xa8], rdx
add rax, r14
add rax, 0x100000
mov qword [rsp + 0xc0], rax
mov rax, rbx
shr rax, 0x15
mov rcx, qword [rsp + 0x38]
lea rdx, [rcx + rax]
add rax, rcx
add rax, 0x100000
mov rsi, rax
shr rsi, 0x15
add rsi, rdi
and rax, 0xffffffffffe00000
sub rdx, rax
mov qword [rsp + 0x38], rdx
shr r12, 0x15
mov rax, qword [rsp + 0x60]
lea r8, [rax + r12]
lea rcx, [r12 + rax]
add rcx, 0x100000
mov rdi, rcx
shr rdi, 0x15
add rdi, r10
and rcx, 0xffffffffffe00000
sub r8, rcx
shr r9, 0x15
mov rax, qword [rsp + 0x58]
lea r12, [rax + r9]
lea rcx, [r9 + rax]
add rcx, 0x100000
mov r14, rcx
shr r14, 0x15
add r14, rbp
and rcx, 0xffffffffffe00000
sub r12, rcx
mov r10, qword [rsp + 0x28]
shr r10, 0x15
mov qword [rsp + 0x28], r10
imul rcx, r10, 0x72d18
add rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x110]
mov r9, rax
and rax, 0xffffffffffe00000
sub rcx, rax
imul rdx, r10, 0xfffffffffff0c653
add rdx, qword [rsp + 0x118]
mov qword [rsp + 0x98], r13
and r13, 0xffffffffffe00000
sub rdx, r13
shr r9, 0x15
mov qword [rsp + 0xe8], r9
mov rax, qword [rsp + 0x78]
add r9, rax
add r9, 0x100000
mov qword [rsp + 0xf8], r9
shr r9, 0x15
add rdx, r9
imul rax, r10, 0xfffffffffff59083
add rax, qword [rsp + 0x120]
and rbx, 0xffffffffffe00000
sub rax, rbx
mov qword [rsp + 0x58], rax
imul r9, r10, 0xa2c13
imul r10, r14, 0x72d18
add r10, r9
imul rbx, r14, 0x9fb67
add rbx, rcx
imul rcx, r14, 0xa2c13
imul rbp, r12, 0x72d18
add rbp, rcx
imul r13, r12, 0x9fb67
add r13, r10
imul r11, r12, 0xfffffffffff0c653
add r11, rbx
imul rax, r14, 0x215d1
add rax, rdx
mov qword [rsp + 0xf0], rax
imul rcx, r12, 0xa2c13
imul rdx, rdi, 0x72d18
add rdx, rcx
imul rax, rdi, 0x9fb67
add rax, rbp
imul rcx, r8, 0xa2c13
add rcx, qword [rsp + 0x30]
imul r10, rdi, 0xa2c13
imul r9, r8, 0x72d18
add r9, r10
imul r10, r8, 0x9fb67
add r10, rdx
imul rbx, r8, 0xfffffffffff0c653
add rbx, rax
imul rax, rdi, 0xfffffffffff0c653
imul rbp, r8, 0x215d1
add rbp, rax
add rbp, r13
imul rdx, r8, 0xfffffffffff59083
imul rax, rdi, 0x215d1
add rdx, rax
add rdx, r11
imul r8, rsi, 0xa2c13
add r8, r15
mov rax, qword [rsp + 0x68]
and rax, 0xffffffffffe00000
sub r8, rax
mov qword [rsp + 0x30], r8
imul r13, rsi, 0x72d18
add r13, rcx
mov rax, qword [rsp + 0x100]
mov r11, rax
and rax, 0xffffffffffe00000
sub r13, rax
imul r15, rsi, 0x9fb67
add r15, r9
add r15, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xc8]
and rax, 0xffffffffffe00000
sub r15, rax
imul rax, rsi, 0xfffffffffff0c653
add rax, qword [rsp + 0xe0]
add rax, r10
imul r9, rsi, 0x215d1
add r9, qword [rsp + 0xd8]
add r9, rbx
mov rbx, qword [rsp + 0xa0]
mov rcx, rbx
shr rcx, 0x15
add r9, rcx
mov rcx, qword [rsp + 0x50]
and rcx, 0xffffffffffe00000
sub r9, rcx
imul rcx, rsi, 0xfffffffffff59083
add rcx, qword [rsp + 0xa8]
add rcx, rbp
mov r10, qword [rsp + 0xc0]
mov r8, r10
and r10, 0xffffffffffe00000
sub rcx, r10
shr r11, 0x15
lea r10, [r15 + r11]
mov qword [rsp + 0x60], r10
lea r10, [r15 + r11]
add r10, 0x100000
mov qword [rsp + 0x50], r10
sar r10, 0x15
add r10, rax
mov rax, rbx
and rax, 0xffffffffffe00000
sub r10, rax
mov rbp, r10
mov qword [rsp + 0x68], r10
shr r8, 0x15
lea r15, [rdx + r8]
add rdx, r8
add rdx, 0x100000
mov r10, qword [rsp + 0x28]
imul rax, r10, 0x9fb67
add rax, qword [rsp + 0x78]
add rax, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf8]
and r8, 0xffffffffffe00000
sub rax, r8
imul r8, r14, 0xfffffffffff0c653
add rax, r8
imul r8, r12, 0x215d1
add rax, r8
imul r8, rdi, 0xfffffffffff59083
add rax, r8
mov rdi, rdx
and rdx, 0xffffffffffe00000
sub r15, rdx
imul rdx, r12, 0xfffffffffff59083
mov r8, qword [rsp + 0xf0]
lea rbx, [r8 + rdx]
add rdx, r8
add rdx, 0x100000
mov r11, qword [rsp + 0x98]
shr r11, 0x15
imul r8, r10, 0x215d1
mov r10, qword [rsp + 0x48]
add r8, r10
add r10, r11
add r10, 0x100000
add r8, r11
mov rsi, r10
and r10, 0xffffffffffe00000
sub r8, r10
imul r10, r14, 0xfffffffffff59083
add r8, r10
mov r11, rdx
and rdx, 0xffffffffffe00000
sub rbx, rdx
shr rsi, 0x15
mov r10, qword [rsp + 0x58]
lea rdx, [r10 + rsi]
add r10, rsi
add r10, 0x100000
mov r14, r10
sar r14, 0x15
add r14, qword [rsp + 0x38]
and r10, 0xffffffffffe00000
sub rdx, r10
mov r10, qword [rsp + 0x30]
add r10, 0x100000
mov qword [rsp + 0x78], r10
sar r10, 0x15
lea rsi, [r10 + r13]
mov qword [rsp + 0x58], rsi
lea r12, [r10 + r13]
add r12, 0x100000
lea rsi, [r9 + 0x100000]
mov r10, rsi
sar r10, 0x15
lea r13, [rcx + r10]
add rcx, r10
add rcx, 0x100000
mov r10, rcx
sar r10, 0x15
add r10, r15
and rcx, 0xffffffffffe00000
sub r13, rcx
mov qword [rsp + 0x38], r13
sar rdi, 0x15
lea r13, [rax + rdi]
lea rcx, [rdi + rax]
add rcx, 0x100000
mov r15, rcx
sar r15, 0x15
add r15, rbx
and rcx, 0xffffffffffe00000
sub r13, rcx
sar r11, 0x15
lea rdi, [r8 + r11]
add r8, r11
add r8, 0x100000
mov rcx, r8
sar rcx, 0x15
add rcx, rdx
and r8, 0xffffffffffe00000
sub rdi, r8
imul rdx, r14, 0xa2c13
add rdx, qword [rsp + 0x40]
imul rax, r14, 0xfffffffffff59083
add rax, r9
lea r8, [rbp + 0x100000]
mov qword [rsp + 0x28], r8
sar r8, 0x15
add rax, r8
and rsi, 0xffffffffffe00000
sub rax, rsi
mov qword [rsp + 0x40], rax
imul r9, rcx, 0xa2c13
add r9, qword [rsp + 0x80]
imul rsi, rcx, 0x72d18
add rsi, rdx
imul rdx, r14, 0x72d18
imul rbp, rcx, 0x9fb67
add rbp, rdx
imul rdx, r14, 0x9fb67
imul rbx, rcx, 0xfffffffffff0c653
add rbx, rdx
imul rdx, r14, 0xfffffffffff0c653
imul rax, rcx, 0x215d1
add rax, rdx
imul rdx, r14, 0x215d1
imul rcx, rcx, 0xfffffffffff59083
add rcx, rdx
mov qword [rsp + 0x48], rcx
imul rdx, rdi, 0xa2c13
add rdx, qword [rsp + 0xb0]
imul r8, rdi, 0x72d18
add r8, r9
imul r11, rdi, 0x9fb67
add r11, rsi
mov rcx, qword [rsp + 0x88]
and rcx, 0xffffffffffe00000
sub r11, rcx
imul r14, rdi, 0x215d1
add r14, qword [rsp + 0x58]
add r14, rbx
mov rcx, r12
and r12, 0xffffffffffe00000
sub r14, r12
imul rbx, rdi, 0xfffffffffff59083
add rbx, qword [rsp + 0x60]
add rbx, rax
sar rcx, 0x15
add rbx, rcx
mov rax, qword [rsp + 0x50]
and rax, 0xffffffffffe00000
sub rbx, rax
imul rcx, r15, 0xa2c13
add rcx, qword [rsp + 0x90]
imul rax, r15, 0x72d18
add rax, rdx
imul r9, r15, 0x9fb67
add r9, r8
imul rsi, r15, 0xfffffffffff0c653
add rsi, r11
imul r12, r13, 0xa2c13
add r12, qword [rsp + 0x70]
imul rdx, r13, 0x9fb67
add rdx, rax
imul r8, r13, 0x215d1
add r8, rsi
imul rsi, rdi, 0xfffffffffff0c653
add rsi, qword [rsp + 0x30]
add rsi, rbp
mov rax, qword [rsp + 0x78]
and rax, 0xffffffffffe00000
sub rsi, rax
imul rax, r15, 0x215d1
add rsi, rax
imul rax, r10, 0x9fb67
add rax, rcx
imul rcx, r10, 0x215d1
add rcx, r9
imul r9, r10, 0xa2c13
mov r11, qword [rsp + 0xb8]
lea rbp, [r9 + r11]
lea rdi, [r9 + r11]
add rdi, 0x100000
imul r11, r10, 0x72d18
add r11, r12
mov r9, rdi
and rdi, 0xffffffffffe00000
sub rbp, rdi
mov qword [rsp + 0x58], rbp
imul rdi, r13, 0x72d18
lea r12, [rax + rdi]
mov qword [rsp + 0x78], r12
lea rbp, [rdi + rax]
add rbp, 0x100000
imul rdi, r10, 0xfffffffffff0c653
add rdi, rdx
imul rax, r13, 0xfffffffffff0c653
lea rdx, [rcx + rax]
mov qword [rsp + 0x60], rdx
lea r12, [rax + rcx]
add r12, 0x100000
imul r10, r10, 0xfffffffffff59083
add r10, r8
imul rax, r13, 0xfffffffffff59083
lea r13, [rsi + rax]
lea rdx, [rax + rsi]
add rdx, 0x100000
imul rcx, r15, 0xfffffffffff59083
add rcx, r14
mov rax, rdx
and rdx, 0xffffffffffe00000
sub r13, rdx
mov rsi, qword [rsp + 0x48]
add rsi, qword [rsp + 0x68]
lea rdx, [rbx + 0x100000]
mov r8, rdx
sar r8, 0x15
add rsi, r8
mov r8, qword [rsp + 0x28]
and r8, 0xffffffffffe00000
sub rsi, r8
mov r15, rsi
and rdx, 0xffffffffffe00000
sub rbx, rdx
sar r9, 0x15
lea rsi, [r11 + r9]
lea r8, [r9 + r11]
add r8, 0x100000
mov rdx, rbp
sar rdx, 0x15
lea r9, [rdi + rdx]
mov qword [rsp + 0x50], r9
add rdx, rdi
add rdx, 0x100000
mov r9, r12
sar r9, 0x15
lea r11, [r10 + r9]
mov qword [rsp + 0x70], r11
add r10, r9
add r10, 0x100000
mov r14, r10
sar r14, 0x15
add r14, r13
sar rax, 0x15
lea rdi, [rcx + rax]
add rax, rcx
add rax, 0x100000
mov r11, rax
sar r11, 0x15
add r11, rbx
and rax, 0xffffffffffe00000
sub rdi, rax
lea rax, [r15 + 0x100000]
mov qword [rsp + 0x28], rax
and rax, 0xffffffffffe00000
sub r15, rax
mov qword [rsp + 0x48], r15
mov rax, qword [rsp + 0x40]
add rax, 0x100000
mov rcx, rax
sar rcx, 0x15
mov r9, qword [rsp + 0x38]
lea rbx, [r9 + rcx]
add r9, rcx
add r9, 0x100000
mov rcx, r9
and r9, 0xffffffffffe00000
sub rbx, r9
mov qword [rsp + 0x30], rbx
sar rcx, 0x15
imul r9, rcx, 0xa2c13
add r9, qword [rsp + 0x58]
imul r13, rcx, 0x72d18
add r13, rsi
mov rsi, r8
and r8, 0xffffffffffe00000
sub r13, r8
imul r15, rcx, 0x9fb67
add r15, qword [rsp + 0x78]
and rbp, 0xffffffffffe00000
sub r15, rbp
sar rsi, 0x15
add r15, rsi
imul rbx, rcx, 0xfffffffffff0c653
add rbx, qword [rsp + 0x50]
mov rsi, rdx
and rdx, 0xffffffffffe00000
sub rbx, rdx
imul r8, rcx, 0x215d1
add r8, qword [rsp + 0x60]
and r12, 0xffffffffffe00000
sub r8, r12
sar rsi, 0x15
add r8, rsi
imul rdx, rcx, 0xfffffffffff59083
add rdx, qword [rsp + 0x70]
and r10, 0xffffffffffe00000
sub rdx, r10
mov rcx, r9
sar rcx, 0x15
add rcx, r13
mov rsi, rcx
sar rsi, 0x15
add rsi, r15
mov r15, rsi
sar r15, 0x15
add r15, rbx
mov r12, r15
sar r12, 0x15
add r12, r8
mov r13, r12
sar r13, 0x15
add r13, rdx
mov rbx, r13
sar rbx, 0x15
add rbx, r14
mov qword [rsp + 0x38], rbx
sar rbx, 0x15
add rbx, rdi
mov r14, rbx
sar r14, 0x15
add r14, r11
mov rbp, r14
sar rbp, 0x15
add rbp, qword [rsp + 0x48]
and rax, 0xffffffffffe00000
mov r10, qword [rsp + 0x28]
sar r10, 0x15
and r9d, 0x1fffff
and ecx, 0x1fffff
and esi, 0x1fffff
and r15d, 0x1fffff
and r12d, 0x1fffff
add r10, qword [rsp + 0x40]
mov rdx, rbp
sar rdx, 0x15
sub r10, rax
add r10, rdx
mov r8, r10
mov r11, r10
sar r8, 0x15
add r8, qword [rsp + 0x30]
mov rdx, r8
sar rdx, 0x15
imul rax, rdx, 0xa2c13
add rax, r9
imul r9, rdx, 0x72d18
add r9, rcx
imul rcx, rdx, 0x9fb67
add rcx, rsi
imul r10, rdx, 0xfffffffffff0c653
add r10, r15
imul rdi, rdx, 0x215d1
add rdi, r12
and r13d, 0x1fffff
mov r12, qword [rsp + 0x38]
and r12d, 0x1fffff
and ebx, 0x1fffff
and r14d, 0x1fffff
and ebp, 0x1fffff
and r11d, 0x1fffff
mov qword [rsp + 0x28], r11
and r8d, 0x1fffff
imul rdx, rdx, 0xfffffffffff59083
add rdx, r13
mov r13, rax
sar r13, 0x15
add r13, r9
mov r15, r13
sar r15, 0x15
add r15, rcx
mov rsi, r15
sar rsi, 0x15
add rsi, r10
mov r11, rsi
sar r11, 0x15
add r11, rdi
mov r10, r11
sar r10, 0x15
add r10, rdx
mov r9, r10
sar r9, 0x15
add r9, r12
mov r12, r9
sar r12, 0x15
add r12, rbx
mov rbx, r12
sar rbx, 0x15
add rbx, r14
mov rdx, rbx
sar rdx, 0x15
add rdx, rbp
mov rcx, rdx
sar rcx, 0x15
add rcx, qword [rsp + 0x28]
mov rdi, rcx
sar rdi, 0x15
add rdi, r8
mov rbp, qword [rsp + 0x128]
mov byte [rbp + 0x20], al
mov byte [rbp + 0x21], ah
shr eax, 0x10
and eax, 0x1f
mov r8d, r13d
shl r8d, 5
or r8d, eax
mov byte [rbp + 0x22], r8b
mov rax, r13
shr rax, 3
mov byte [rbp + 0x23], al
mov rax, r13
shr rax, 0xb
mov byte [rbp + 0x24], al
shr r13d, 0x13
and r13d, 3
lea eax, [r13 + r15*4]
mov byte [rbp + 0x25], al
mov rax, r15
shr rax, 6
mov byte [rbp + 0x26], al
mov eax, esi
shl eax, 7
shr r15d, 0xe
and r15d, 0x7f
or r15d, eax
mov byte [rbp + 0x27], r15b
mov rax, rsi
shr rax, 1
mov byte [rbp + 0x28], al
mov rax, rsi
shr rax, 9
mov byte [rbp + 0x29], al
mov eax, r11d
shl eax, 4
shr esi, 0x11
and esi, 0xf
or esi, eax
mov byte [rbp + 0x2a], sil
mov rax, r11
shr rax, 4
mov byte [rbp + 0x2b], al
mov rax, r11
shr rax, 0xc
mov byte [rbp + 0x2c], al
shr r11d, 0x14
and r11d, 1
lea eax, [r11 + r10*2]
mov byte [rbp + 0x2d], al
mov rax, r10
shr rax, 7
mov byte [rbp + 0x2e], al
mov eax, r9d
shl eax, 6
shr r10d, 0xf
and r10d, 0x3f
or r10d, eax
mov byte [rbp + 0x2f], r10b
mov rax, r9
shr rax, 2
mov byte [rbp + 0x30], al
mov rax, r9
shr rax, 0xa
mov byte [rbp + 0x31], al
shr r9d, 0x12
and r9d, 7
lea eax, [r9 + r12*8]
mov byte [rbp + 0x32], al
mov rax, r12
shr rax, 5
mov byte [rbp + 0x33], al
shr r12, 0xd
mov byte [rbp + 0x34], r12b
mov byte [rbp + 0x35], bl
mov byte [rbp + 0x36], bh
shr ebx, 0x10
and ebx, 0x1f
mov eax, edx
shl eax, 5
or eax, ebx
mov byte [rbp + 0x37], al
mov rax, rdx
shr rax, 3
mov byte [rbp + 0x38], al
mov rax, rdx
shr rax, 0xb
mov byte [rbp + 0x39], al
shr edx, 0x13
and edx, 3
lea eax, [rdx + rcx*4]
mov byte [rbp + 0x3a], al
mov rax, rcx
shr rax, 6
mov byte [rbp + 0x3b], al
mov eax, edi
shl eax, 7
shr ecx, 0xe
and ecx, 0x7f
or ecx, eax
mov byte [rbp + 0x3c], cl
mov rax, rdi
shr rax, 1
mov byte [rbp + 0x3d], al
mov rax, rdi
shr rax, 9
mov byte [rbp + 0x3e], al
shr rdi, 0x11
mov byte [rbp + 0x3f], dil
mov rcx, qword [rsp + 0x468]
xor rcx, rsp
call fcn.14015c2e0
mov eax, 1
movaps xmm6, xmmword [rsp + 0x470]
add rsp, 0x488
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret