Function at 0x14003e740
Capabilities:
Encrypt data using curve25519

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x448
mov r14, r9
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x1403acd78]
xor rax, rsp
mov qword [rsp + 0x440], rax
lea r8, [rsp + 0x390]
mov edx, 0x20
mov rcx, r9
call fcn.14006d5d0
and byte [rsp + 0x390], 0xf8
movzx eax, byte [rsp + 0x3af]
and al, 0x3f
or al, 0x40
mov byte [rsp + 0x3af], al
lea r15, [rsp + 0x2b8]
mov rcx, r15
call fcn.14006f080
lea rdx, [rsp + 0x3b0]
mov r8d, 0x20
mov rcx, r15
call fcn.14006f110
mov rcx, r15
mov rdx, rbx
mov r8, rdi
call fcn.14006f110
lea r12, [rsp + 0x270]
mov rcx, r12
mov rdx, r15
call fcn.14006f200
mov rcx, r12
call fcn.14003d7f0
lea r8, [0x1402f1200]
lea r13, [rsp + 0x1d0]
mov rcx, r13
mov rdx, r12
call fcn.14003c960
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x1b0], rax
movups xmm0, xmmword [rsp + 0x220]
movups xmm1, xmmword [rsp + 0x230]
movaps xmmword [rsp + 0x1a0], xmm1
movaps xmmword [rsp + 0x190], xmm0
lea r12, [rsp + 0x3f8]
lea rdx, [rsp + 0x190]
mov rcx, r12
call fcn.140043910
lea rbp, [rsp + 0x190]
mov rcx, rbp
mov rdx, r13
mov r8, r12
call fcn.140046350
lea rdx, [rsp + 0x1f8]
lea r13, [rsp + 0x3d0]
mov rcx, r13
mov r8, r12
call fcn.140046350
mov qword [rsp + 0x188], rsi
mov rcx, rsi
mov rdx, r13
call fcn.140038e80
lea rcx, [rsp + 0x420]
mov rdx, rbp
call fcn.140038e80
movzx eax, byte [rsp + 0x420]
shl al, 7
xor byte [rsi + 0x1f], al
mov rcx, r15
call fcn.14006f080
mov r8d, 0x20
mov rcx, r15
mov rdx, rsi
call fcn.14006f110
add r14, 0x20
mov r8d, 0x20
mov rcx, r15
mov rdx, r14
call fcn.14006f110
mov rcx, r15
mov rdx, rbx
mov r8, rdi
call fcn.14006f110
lea rdi, [rsp + 0x190]
mov rcx, rdi
mov rdx, r15
call fcn.14006f200
mov rcx, rdi
call fcn.14003d7f0
movzx eax, word [rsp + 0x190]
movzx ecx, byte [rsp + 0x192]
movzx r8d, byte [rsp + 0x193]
shl r8d, 8
movzx edx, byte [rsp + 0x194]
shl edx, 0x10
or edx, r8d
movzx r8d, byte [rsp + 0x195]
movzx r9d, byte [rsp + 0x196]
shl r9d, 8
movzx r10d, byte [rsp + 0x197]
movzx esi, byte [rsp + 0x198]
shl esi, 8
movzx r11d, byte [rsp + 0x199]
shl r11d, 0x10
or r11d, esi
movzx esi, byte [rsp + 0x19a]
movzx ebx, byte [rsp + 0x19b]
shl ebx, 8
movzx edi, byte [rsp + 0x19c]
shl edi, 0x10
or edi, ebx
movzx ebx, byte [rsp + 0x19d]
movzx ebp, byte [rsp + 0x19e]
shl ebp, 8
movzx r14d, byte [rsp + 0x1a0]
shl r14d, 8
movzx r15d, byte [rsp + 0x1a1]
shl r15d, 0x10
or r15d, r14d
movzx r12d, byte [rsp + 0x1a2]
movzx r14d, r12b
shl r12d, 0x18
or r12d, r15d
movzx r15d, byte [rsp + 0x19f]
or r12d, r15d
mov qword [rsp + 0x38], r12
shl r15d, 0x10
or r15d, ebp
or r15d, ebx
mov qword [rsp + 0x28], r15
shl ebx, 0x18
or ebx, edi
or ebx, esi
mov qword [rsp + 0x20], rbx
shl esi, 0x18
or esi, r11d
or esi, r10d
mov qword [rsp + 0x50], rsi
shl r10d, 0x10
or r10d, r9d
or r10d, r8d
mov qword [rsp + 0x78], r10
mov edi, r8d
shl edi, 0x18
or edi, edx
or edi, ecx
mov ebp, ecx
and ebp, 0x1f
shl rbp, 0x10
or rbp, rax
movzx eax, byte [rsp + 0x1a3]
shl rax, 8
movzx ecx, byte [rsp + 0x1a4]
shl rcx, 0x10
or rcx, rax
or rcx, r14
mov qword [rsp + 0x70], rcx
movzx eax, word [rsp + 0x1a5]
movzx ecx, byte [rsp + 0x1a7]
movzx r8d, byte [rsp + 0x1a8]
shl r8d, 8
movzx edx, byte [rsp + 0x1a9]
shl edx, 0x10
or edx, r8d
movzx r8d, byte [rsp + 0x1ab]
shl r8d, 8
movzx r9d, byte [rsp + 0x1ad]
shl r9, 8
movzx r10d, byte [rsp + 0x1ae]
shl r10, 0x10
or r10, r9
movzx r11d, byte [rsp + 0x1af]
shl r11, 0x18
or r11, r10
movzx r9d, byte [rsp + 0x1ac]
or r11, r9
mov qword [rsp + 0xd8], r11
shl r9d, 0x10
or r9d, r8d
movzx r8d, byte [rsp + 0x1aa]
or r9d, r8d
mov qword [rsp + 0xd0], r9
shl r8d, 0x18
or r8d, edx
or r8d, ecx
mov qword [rsp + 0x88], r8
and ecx, 0x1f
shl rcx, 0x10
or rcx, rax
mov qword [rsp + 0x80], rcx
movzx eax, byte [rsp + 0x393]
shl eax, 8
movzx r8d, byte [rsp + 0x394]
shl r8d, 0x10
or r8d, eax
movzx ecx, byte [rsp + 0x398]
shl ecx, 8
movzx eax, byte [rsp + 0x399]
shl eax, 0x10
or eax, ecx
movzx edx, byte [rsp + 0x39b]
shl edx, 8
movzx ecx, byte [rsp + 0x39c]
shl ecx, 0x10
or ecx, edx
movzx edx, byte [rsp + 0x3a0]
shl edx, 8
movzx r9d, byte [rsp + 0x3a1]
shl r9d, 0x10
or r9d, edx
movzx r11d, byte [rsp + 0x3a2]
movzx edx, r11b
shl r11d, 0x18
or r11d, r9d
movzx r9d, byte [rsp + 0x39e]
shl r9d, 8
movzx r10d, byte [rsp + 0x39f]
or r11d, r10d
mov qword [rsp + 0x40], r11
shl r10d, 0x10
or r10d, r9d
movzx r9d, byte [rsp + 0x39d]
or r10d, r9d
mov qword [rsp + 0x60], r10
mov r13d, r9d
shl r13d, 0x18
or r13d, ecx
movzx ecx, byte [rsp + 0x39a]
or r13d, ecx
mov r14d, ecx
shl r14d, 0x18
or r14d, eax
movzx eax, byte [rsp + 0x396]
shl eax, 8
movzx ecx, byte [rsp + 0x397]
or r14d, ecx
mov r12d, ecx
shl r12d, 0x10
or r12d, eax
movzx eax, byte [rsp + 0x395]
or r12d, eax
shl eax, 0x18
or eax, r8d
movzx r11d, byte [rsp + 0x392]
or eax, r11d
mov rbx, rax
mov r15d, r11d
and r15d, 0x1f
shl r15, 0x10
movzx ecx, word [rsp + 0x390]
or r15, rcx
movzx ecx, byte [rsp + 0x3a3]
shl rcx, 8
movzx eax, byte [rsp + 0x3a4]
shl rax, 0x10
or rax, rcx
or rax, rdx
mov qword [rsp + 0x30], rax
movzx edx, byte [rsp + 0x3a8]
shl edx, 8
movzx ecx, byte [rsp + 0x3a9]
shl ecx, 0x10
or ecx, edx
movzx edx, byte [rsp + 0x3ad]
shl rdx, 8
movzx r8d, byte [rsp + 0x3ae]
shl r8, 0x10
or r8, rdx
movzx eax, byte [rsp + 0x3af]
shl rax, 0x18
or rax, r8
movzx edx, byte [rsp + 0x3ab]
shl edx, 8
movzx r8d, byte [rsp + 0x3ac]
or rax, r8
mov qword [rsp + 0x68], rax
shl r8d, 0x10
or r8d, edx
movzx edx, byte [rsp + 0x3aa]
or r8d, edx
mov qword [rsp + 0x48], r8
mov eax, edx
shl eax, 0x18
or eax, ecx
movzx ecx, byte [rsp + 0x3a7]
or eax, ecx
mov qword [rsp + 0xa0], rax
mov eax, ecx
and eax, 0x1f
shl rax, 0x10
movzx ecx, word [rsp + 0x3a5]
or rax, rcx
mov qword [rsp + 0x90], rax
movzx ecx, byte [rsp + 0x273]
shl ecx, 8
movzx r8d, byte [rsp + 0x274]
shl r8d, 0x10
or r8d, ecx
movzx edx, byte [rsp + 0x278]
shl edx, 8
movzx ecx, byte [rsp + 0x279]
shl ecx, 0x10
or ecx, edx
movzx r9d, byte [rsp + 0x27b]
shl r9d, 8
movzx edx, byte [rsp + 0x27c]
shl edx, 0x10
or edx, r9d
movzx r9d, byte [rsp + 0x280]
shl r9d, 8
movzx r10d, byte [rsp + 0x281]
shl r10d, 0x10
or r10d, r9d
movzx eax, byte [rsp + 0x282]
movzx r9d, al
shl eax, 0x18
or eax, r10d
movzx r10d, byte [rsp + 0x27e]
shl r10d, 8
movzx esi, byte [rsp + 0x27f]
or eax, esi
mov qword [rsp + 0x118], rax
mov eax, esi
shl eax, 0x10
or eax, r10d
movzx r10d, byte [rsp + 0x27d]
or eax, r10d
mov qword [rsp + 0x110], rax
mov eax, r10d
shl eax, 0x18
or eax, edx
movzx edx, byte [rsp + 0x27a]
or eax, edx
mov qword [rsp + 0x108], rax
mov eax, edx
shl eax, 0x18
or eax, ecx
movzx ecx, byte [rsp + 0x276]
shl ecx, 8
movzx edx, byte [rsp + 0x277]
or eax, edx
mov qword [rsp + 0x100], rax
mov eax, edx
shl eax, 0x10
or eax, ecx
movzx ecx, byte [rsp + 0x275]
or eax, ecx
mov qword [rsp + 0x178], rax
mov eax, ecx
shl eax, 0x18
or eax, r8d
movzx ecx, byte [rsp + 0x272]
or eax, ecx
mov qword [rsp + 0x180], rax
mov eax, ecx
and eax, 0x1f
shl rax, 0x10
movzx ecx, word [rsp + 0x270]
or rax, rcx
mov qword [rsp + 0x170], rax
movzx ecx, byte [rsp + 0x283]
shl rcx, 8
movzx eax, byte [rsp + 0x284]
shl rax, 0x10
or rax, rcx
or rax, r9
mov qword [rsp + 0xf8], rax
movzx edx, byte [rsp + 0x288]
shl edx, 8
movzx ecx, byte [rsp + 0x289]
shl ecx, 0x10
or ecx, edx
movzx edx, byte [rsp + 0x28d]
shl rdx, 8
movzx r8d, byte [rsp + 0x28e]
shl r8, 0x10
or r8, rdx
movzx eax, byte [rsp + 0x28f]
shl rax, 0x18
or rax, r8
movzx edx, byte [rsp + 0x28b]
shl edx, 8
movzx r8d, byte [rsp + 0x28c]
or rax, r8
mov qword [rsp + 0x168], rax
shl r8d, 0x10
or r8d, edx
movzx edx, byte [rsp + 0x28a]
or r8d, edx
mov qword [rsp + 0x160], r8
mov eax, edx
shl eax, 0x18
or eax, ecx
mov qword [rsp + 0xa8], rax
mov rdx, rdi
shr edx, 5
and edx, 0x1fffff
shr ebx, 5
and ebx, 0x1fffff
mov rcx, rbx
mov r11, rbp
imul rcx, rbp
mov rax, r15
imul rax, rdx
add rax, rcx
mov qword [rsp + 0x158], rax
mov rdi, qword [rsp + 0x78]
shr edi, 2
and edi, 0x1fffff
mov rcx, rbx
mov rsi, rbx
imul rcx, rdx
mov r9, rdx
mov rdx, r15
imul rdx, rdi
mov rax, rdi
add rdx, rcx
shr r12d, 2
and r12d, 0x1fffff
mov rcx, r12
imul rcx, rbp
add rdx, rcx
mov qword [rsp + 0x150], rdx
mov rdi, qword [rsp + 0x50]
shr edi, 7
and edi, 0x1fffff
mov rcx, rbx
mov r8, rax
imul rcx, rax
mov rdx, r15
imul rdx, rdi
mov r10, rdi
add rdx, rcx
mov rcx, r12
imul rcx, r9
add rdx, rcx
mov rbx, r14
shr ebx, 7
and ebx, 0x1fffff
mov rcx, rbx
imul rcx, rbp
add rdx, rcx
mov qword [rsp + 0xf0], rdx
mov rdi, qword [rsp + 0x20]
shr edi, 4
and edi, 0x1fffff
mov rcx, rsi
imul rcx, r10
mov rax, r15
imul rax, rdi
add rax, rcx
mov rcx, r12
mov r14, r12
imul rcx, r8
add rax, rcx
mov rcx, rbx
imul rcx, r9
add rax, rcx
shr r13d, 4
and r13d, 0x1fffff
mov rcx, r13
mov r12, r13
imul rcx, rbp
add rax, rcx
mov qword [rsp + 0x148], rax
mov rbp, qword [rsp + 0x28]
shr ebp, 1
and ebp, 0x1fffff
mov rcx, rsi
mov r13, rsi
mov qword [rsp + 0x20], rdi
imul rcx, rdi
mov rax, r15
mov qword [rsp + 0xb8], r15
imul rax, rbp
add rax, rcx
mov rcx, r14
imul rcx, r10
add rax, rcx
mov rcx, rbx
mov qword [rsp + 0x78], r8
imul rcx, r8
add rax, rcx
mov rcx, r12
mov rdx, r12
mov qword [rsp + 0xc0], r9
imul rcx, r9
add rax, rcx
mov rsi, qword [rsp + 0x60]
shr esi, 1
and esi, 0x1fffff
mov rcx, rsi
imul rcx, r11
add rax, rcx
mov qword [rsp + 0xe8], rax
mov r12, qword [rsp + 0x38]
shr r12d, 6
and r12d, 0x1fffff
mov rcx, r13
mov qword [rsp + 0x28], rbp
imul rcx, rbp
mov rax, r15
imul rax, r12
add rax, rcx
mov rcx, r14
mov qword [rsp + 0x58], r14
imul rcx, rdi
add rax, rcx
mov rcx, rbx
mov rdi, rbx
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0x50], r10
imul rcx, r10
add rax, rcx
mov rcx, rdx
imul rcx, r8
add rax, rcx
mov rcx, rsi
imul rcx, r9
add rax, rcx
mov r15, qword [rsp + 0x40]
shr r15d, 6
and r15d, 0x1fffff
mov rcx, r15
imul rcx, r11
add rax, rcx
mov qword [rsp + 0x140], rax
mov r8, qword [rsp + 0x70]
shr r8, 3
mov rcx, r13
mov qword [rsp + 0x38], r12
imul rcx, r12
mov rbx, qword [rsp + 0xb8]
mov rax, rbx
imul rax, r8
mov qword [rsp + 0x70], r8
add rax, rcx
imul r14, rbp
add rax, r14
mov rcx, rdi
mov rdi, qword [rsp + 0x20]
imul rcx, rdi
add rax, rcx
mov rbp, rdx
mov qword [rsp + 0x98], rdx
mov rcx, rdx
imul rcx, r10
add rax, rcx
mov qword [rsp + 0x60], rsi
mov rcx, rsi
mov r9, qword [rsp + 0x78]
imul rcx, r9
add rax, rcx
mov r10, r15
mov qword [rsp + 0x40], r15
mov rcx, r15
mov rdx, qword [rsp + 0xc0]
imul rcx, rdx
add rax, rcx
mov r14, qword [rsp + 0x30]
shr r14, 3
mov rcx, r14
mov qword [rsp + 0x30], r14
imul rcx, r11
add rax, rcx
mov qword [rsp + 0x120], rax
mov rcx, r13
imul rcx, r8
mov rax, rbx
mov r8, qword [rsp + 0x80]
imul rax, r8
add rax, rcx
mov r15, qword [rsp + 0x58]
mov rcx, r15
imul rcx, r12
add rax, rcx
mov rbx, qword [rsp + 0xb0]
mov rcx, rbx
mov r12, qword [rsp + 0x28]
imul rcx, r12
add rax, rcx
mov rcx, rbp
imul rcx, rdi
add rax, rcx
imul rsi, qword [rsp + 0x50]
add rax, rsi
mov rcx, r10
imul rcx, r9
mov rdi, r9
add rax, rcx
mov rcx, r14
imul rcx, rdx
add rax, rcx
mov r10, qword [rsp + 0x90]
mov rcx, r10
mov qword [rsp + 0xe0], r11
imul rcx, r11
add rax, rcx
movzx ecx, word [rsp + 0x285]
add rax, rcx
mov qword [rsp + 0x130], rax
mov r14, qword [rsp + 0x88]
shr r14d, 5
and r14d, 0x1fffff
mov rsi, r13
mov qword [rsp + 0xc8], r13
mov rcx, r13
imul rcx, r8
mov r13, qword [rsp + 0xb8]
imul r13, r14
mov qword [rsp + 0x88], r14
add r13, rcx
mov rcx, r15
mov rbp, r15
mov rax, qword [rsp + 0x70]
imul rcx, rax
add r13, rcx
mov rcx, rbx
mov r15, rbx
imul rcx, qword [rsp + 0x38]
add r13, rcx
mov r9, qword [rsp + 0x98]
mov rcx, r9
imul rcx, r12
add r13, rcx
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
mov r12, qword [rsp + 0x20]
imul rcx, r12
add r13, rcx
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
imul rcx, rdx
add r13, rcx
mov rcx, qword [rsp + 0x30]
imul rcx, rdi
add r13, rcx
mov rcx, r10
imul rcx, qword [rsp + 0xc0]
add r13, rcx
mov r8, qword [rsp + 0xa0]
shr r8d, 5
and r8d, 0x1fffff
mov rcx, r8
imul rcx, r11
add r13, rcx
mov qword [rsp + 0x128], r13
mov rdi, qword [rsp + 0xd0]
shr edi, 2
and edi, 0x1fffff
mov rcx, rsi
imul rcx, r14
mov r14, qword [rsp + 0xb8]
mov r13, r14
imul r13, rdi
mov rsi, rdi
mov qword [rsp + 0xd0], rdi
add r13, rcx
imul rbp, qword [rsp + 0x80]
add r13, rbp
mov rcx, r15
imul rcx, rax
add r13, rcx
mov rcx, r9
mov r10, qword [rsp + 0x38]
imul rcx, r10
add r13, rcx
mov rcx, rbx
imul rcx, qword [rsp + 0x28]
add r13, rcx
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
imul rcx, r12
add r13, rcx
mov r12, qword [rsp + 0x30]
mov rcx, r12
imul rcx, rdx
add r13, rcx
mov rax, qword [rsp + 0x90]
mov rcx, rax
imul rcx, qword [rsp + 0x78]
add r13, rcx
mov r11, r8
mov qword [rsp + 0xa0], r8
mov rcx, r8
mov rbp, qword [rsp + 0xc0]
imul rcx, rbp
add r13, rcx
mov rcx, qword [rsp + 0x48]
shr ecx, 2
and ecx, 0x1fffff
mov qword [rsp + 0x48], rcx
imul rcx, qword [rsp + 0xe0]
add r13, rcx
mov r8, qword [rsp + 0xd8]
shr r8, 7
mov qword [rsp + 0xd8], r8
mov rcx, qword [rsp + 0xc8]
imul rcx, rsi
mov r9, r14
mov rdx, r14
imul r9, r8
add r9, rcx
mov r8, qword [rsp + 0x58]
mov rcx, r8
imul rcx, qword [rsp + 0x88]
add r9, rcx
mov rsi, r15
mov rcx, r15
mov r15, qword [rsp + 0x80]
imul rcx, r15
add r9, rcx
mov rbx, qword [rsp + 0x98]
mov rcx, rbx
imul rcx, qword [rsp + 0x70]
add r9, rcx
mov rcx, qword [rsp + 0x60]
imul rcx, r10
add r9, rcx
mov rcx, rdi
mov r14, qword [rsp + 0x28]
imul rcx, r14
add r9, rcx
mov rcx, r12
imul rcx, qword [rsp + 0x20]
add r9, rcx
imul rax, qword [rsp + 0x50]
add r9, rax
mov r12, qword [rsp + 0x78]
imul r11, r12
add r9, r11
mov rax, qword [rsp + 0x48]
mov rcx, rax
imul rcx, rbp
add r9, rcx
mov r11, qword [rsp + 0x68]
shr r11, 7
mov qword [rsp + 0x68], r11
mov rcx, qword [rsp + 0xe0]
imul rdx, rcx
mov qword [rsp + 0x138], rdx
imul rcx, r11
add r9, rcx
mov qword [rsp + 0xb8], r9
mov rcx, r8
imul rcx, qword [rsp + 0xd0]
mov r9, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd8]
imul r9, rdi
add r9, rcx
mov rdx, qword [rsp + 0x88]
imul rsi, rdx
add r9, rsi
mov rcx, rbx
imul rcx, r15
add r9, rcx
mov r10, qword [rsp + 0x60]
mov rcx, r10
mov r15, qword [rsp + 0x70]
imul rcx, r15
add r9, rcx
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
imul rcx, rbp
add r9, rcx
mov rcx, qword [rsp + 0x30]
imul rcx, r14
add r9, rcx
mov r8, qword [rsp + 0x90]
mov rcx, r8
mov r11, qword [rsp + 0x20]
imul rcx, r11
add r9, rcx
mov rcx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x50]
imul rcx, rsi
add r9, rcx
imul rax, r12
add r9, rax
mov qword [rsp + 0xc8], r9
mov rcx, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xd0]
imul rcx, r14
mov rax, qword [rsp + 0x58]
imul rax, rdi
add rax, rcx
mov rcx, rbx
imul rcx, rdx
add rax, rcx
mov r12, r10
mov rcx, r10
mov r10, qword [rsp + 0x80]
imul rcx, r10
add rax, rcx
mov r9, qword [rsp + 0x40]
mov rcx, r9
imul rcx, r15
add rax, rcx
mov rdx, qword [rsp + 0x30]
mov rcx, rdx
imul rcx, rbp
add rax, rcx
imul r8, qword [rsp + 0x28]
add rax, r8
mov r8, qword [rsp + 0xa0]
mov rcx, r8
imul rcx, r11
add rax, rcx
mov r15, qword [rsp + 0x48]
mov rcx, r15
imul rcx, rsi
add rax, rcx
mov qword [rsp + 0x58], rax
imul rbx, r14
mov rsi, qword [rsp + 0xb0]
imul rsi, rdi
mov rbp, rdi
add rsi, rbx
mov rax, r12
mov rcx, r12
mov r12, qword [rsp + 0x88]
imul rcx, r12
add rsi, rcx
mov rbx, r9
mov rcx, r9
imul rcx, r10
mov rdi, r10
add rsi, rcx
mov r11, qword [rsp + 0x70]
imul rdx, r11
add rsi, rdx
mov rdx, qword [rsp + 0x90]
mov rcx, rdx
mov r9, qword [rsp + 0x38]
imul rcx, r9
add rsi, rcx
mov rcx, r8
mov r10, qword [rsp + 0x28]
imul rcx, r10
add rsi, rcx
imul r15, qword [rsp + 0x20]
add rsi, r15
mov qword [rsp + 0xb0], rsi
mov rcx, rax
mov rsi, rax
imul rcx, r14
mov rax, qword [rsp + 0x98]
imul rax, rbp
add rax, rcx
mov rcx, rbx
imul rcx, r12
add rax, rcx
mov r15, qword [rsp + 0x30]
mov rcx, r15
imul rcx, rdi
add rax, rcx
mov rcx, rdx
imul rcx, r11
add rax, rcx
mov rcx, r8
mov rbp, r8
imul rcx, r9
mov rdi, r9
add rax, rcx
mov r11, qword [rsp + 0x48]
mov rcx, r11
imul rcx, r10
add rax, rcx
mov qword [rsp + 0x98], rax
mov r9, rbx
mov rcx, rbx
imul rcx, r14
mov rbx, qword [rsp + 0xd8]
imul rsi, rbx
add rsi, rcx
mov rcx, r15
imul rcx, r12
add rsi, rcx
mov rax, rdx
mov rcx, rdx
mov r8, qword [rsp + 0x80]
imul rcx, r8
add rsi, rcx
mov rcx, rbp
mov rdx, qword [rsp + 0x70]
imul rcx, rdx
add rsi, rcx
mov rcx, r11
imul rcx, rdi
add rsi, rcx
mov qword [rsp + 0x60], rsi
mov rcx, r15
imul rcx, r14
imul r9, rbx
add r9, rcx
mov rcx, rax
imul rcx, r12
add r9, rcx
mov rcx, rbp
imul rcx, r8
add r9, rcx
mov rcx, r11
imul rcx, rdx
mov r10, rdx
add r9, rcx
mov qword [rsp + 0x40], r9
mov rcx, rax
imul rcx, r14
mov rsi, r15
imul rsi, rbx
add rsi, rcx
mov rcx, rbp
imul rcx, r12
add rsi, rcx
mov rdx, r11
mov rcx, r11
imul rcx, r8
add rsi, rcx
mov qword [rsp + 0x30], rsi
mov rcx, rbp
imul rcx, r14
imul rax, rbx
add rax, rcx
mov rcx, r11
mov rdi, r12
imul rcx, r12
add rax, rcx
mov qword [rsp + 0x90], rax
mov rcx, r11
imul rcx, r14
imul rbp, rbx
add rbp, rcx
mov qword [rsp + 0xa0], rbp
mov r12, qword [rsp + 0x68]
imul r14, r12
mov rcx, rbx
imul rdx, rbx
add rdx, r14
mov qword [rsp + 0x48], rdx
mov r9, qword [rsp + 0xc0]
imul r9, r12
mov r11, qword [rsp + 0x78]
imul r11, r12
mov r14, qword [rsp + 0x50]
imul r14, r12
mov rsi, qword [rsp + 0x20]
imul rsi, r12
mov rbx, qword [rsp + 0x28]
imul rbx, r12
mov rax, qword [rsp + 0x38]
imul rax, r12
mov qword [rsp + 0x38], rax
imul r10, r12
mov r15, r10
imul r8, r12
mov rbp, r8
imul rdi, r12
mov r10, rdi
imul r12, rcx
mov qword [rsp + 0x68], r12
mov rax, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x138]
lea rdi, [rax + rcx]
lea r8, [rcx + rax]
add r8, 0x100000
mov rcx, r8
shr rcx, 0x15
add rcx, qword [rsp + 0x158]
and r8, 0xffffffffffe00000
sub rdi, r8
mov qword [rsp + 0x70], rdi
mov rax, qword [rsp + 0x178]
shr eax, 2
and eax, 0x1fffff
mov r8, qword [rsp + 0x150]
lea rdx, [r8 + rax]
mov qword [rsp + 0x50], rdx
lea rdi, [rax + r8]
add rdi, 0x100000
mov rax, qword [rsp + 0x100]
shr eax, 7
and eax, 0x1fffff
add qword [rsp + 0xf0], rax
mov r8, qword [rsp + 0x108]
shr r8d, 4
and r8d, 0x1fffff
mov rax, qword [rsp + 0x148]
lea rdx, [rax + r8]
mov qword [rsp + 0x78], rdx
lea r12, [r8 + rax]
add r12, 0x100000
mov r8, qword [rsp + 0x110]
shr r8d, 1
and r8d, 0x1fffff
add qword [rsp + 0xe8], r8
mov r8, qword [rsp + 0x118]
shr r8d, 6
and r8d, 0x1fffff
mov rax, qword [rsp + 0x140]
lea rdx, [rax + r8]
mov qword [rsp + 0xd8], rdx
add rax, r8
add rax, 0x100000
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0xf8]
shr rax, 3
add qword [rsp + 0x120], rax
movzx edx, byte [rsp + 0x287]
mov r8, qword [rsp + 0xa8]
or r8d, edx
mov qword [rsp + 0xa8], r8
and edx, 0x1f
shl rdx, 0x10
mov r8, qword [rsp + 0x130]
lea rax, [r8 + rdx]
mov qword [rsp + 0x80], rax
add rdx, r8
add rdx, 0x100000
mov qword [rsp + 0xd0], rdx
shr rdx, 0x15
add rdx, qword [rsp + 0x128]
mov rax, qword [rsp + 0x160]
shr eax, 2
and eax, 0x1fffff
lea r8, [rax + r13]
mov qword [rsp + 0x88], r8
add rax, r13
add rax, 0x100000
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x168]
shr rax, 7
mov r13, qword [rsp + 0xb8]
add r13, rax
mov rax, r9
mov r8, qword [rsp + 0xc8]
add r9, r8
mov qword [rsp + 0x110], r9
add rax, r8
add rax, 0x100000
mov qword [rsp + 0x108], rax
add qword [rsp + 0x58], r11
mov r8, qword [rsp + 0xb0]
lea r9, [r8 + r14]
mov qword [rsp + 0x118], r9
lea rax, [r14 + r8]
add rax, 0x100000
mov qword [rsp + 0xf8], rax
add qword [rsp + 0x98], rsi
mov r9, qword [rsp + 0x60]
lea r8, [r9 + rbx]
mov qword [rsp + 0xe0], r8
lea rax, [rbx + r9]
add rax, 0x100000
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x38]
add qword [rsp + 0x40], rax
mov rax, r15
mov r8, qword [rsp + 0x30]
add r15, r8
add rax, r8
add rax, 0x100000
add qword [rsp + 0x90], rbp
mov r14, rax
and rax, 0xffffffffffe00000
sub r15, rax
mov rax, r10
mov r8, qword [rsp + 0xa0]
add r10, r8
add rax, r8
add rax, 0x100000
mov r9, rax
and rax, 0xffffffffffe00000
sub r10, rax
mov r11, qword [rsp + 0x68]
lea r8, [r11 + 0x100000]
mov rax, r8
and r8, 0xffffffffffe00000
sub r11, r8
mov qword [rsp + 0x68], r11
mov r8, qword [rsp + 0x180]
shr r8d, 5
and r8d, 0x1fffff
lea rbx, [rcx + r8]
add rcx, r8
add rcx, 0x100000
mov r11, rcx
shr r11, 0x15
add r11, qword [rsp + 0x50]
mov r8, rdi
and rdi, 0xffffffffffe00000
sub r11, rdi
mov qword [rsp + 0x50], r11
and rcx, 0xffffffffffe00000
sub rbx, rcx
mov qword [rsp + 0x60], rbx
shr r8, 0x15
mov rcx, qword [rsp + 0xf0]
lea r11, [rcx + r8]
add rcx, r8
add rcx, 0x100000
mov rdi, rcx
shr rdi, 0x15
add rdi, qword [rsp + 0x78]
mov r8, r12
and r12, 0xffffffffffe00000
sub rdi, r12
mov qword [rsp + 0x38], rdi
and rcx, 0xffffffffffe00000
sub r11, rcx
mov qword [rsp + 0x78], r11
shr r8, 0x15
mov rcx, qword [rsp + 0xe8]
lea r11, [rcx + r8]
mov qword [rsp + 0xa0], r11
add rcx, r8
add rcx, 0x100000
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x20]
shr rcx, 0x15
mov r8, qword [rsp + 0x120]
lea r11, [r8 + rcx]
mov qword [rsp + 0xf0], r11
add rcx, r8
add rcx, 0x100000
mov qword [rsp + 0xe8], rcx
mov rcx, qword [rsp + 0xa8]
shr ecx, 5
and ecx, 0x1fffff
lea r8, [rdx + rcx]
mov qword [rsp + 0xc0], r8
add rcx, rdx
add rcx, 0x100000
mov qword [rsp + 0xc8], rcx
mov rcx, qword [rsp + 0x28]
shr rcx, 0x15
lea r8, [rcx + r13]
mov qword [rsp + 0xb8], r8
add rcx, r13
add rcx, 0x100000
mov qword [rsp + 0xb0], rcx
mov rdx, qword [rsp + 0x108]
mov rcx, rdx
shr rcx, 0x15
mov r8, qword [rsp + 0x58]
lea r11, [r8 + rcx]
mov qword [rsp + 0xa8], r11
add rcx, r8
add rcx, 0x100000
mov rsi, qword [rsp + 0xf8]
mov r8, rsi
shr r8, 0x15
mov r11, qword [rsp + 0x98]
lea rdi, [r11 + r8]
mov qword [rsp + 0x58], rdi
lea rdi, [r8 + r11]
add rdi, 0x100000
mov rbp, qword [rsp + 0x100]
mov r8, rbp
shr r8, 0x15
mov r11, qword [rsp + 0x40]
lea rbx, [r11 + r8]
add r8, r11
add r8, 0x100000
mov r11, r8
shr r11, 0x15
add r11, r15
and r8, 0xffffffffffe00000
sub rbx, r8
mov qword [rsp + 0x40], rbx
shr r14, 0x15
mov r8, qword [rsp + 0x90]
lea rbx, [r8 + r14]
add r8, r14
add r8, 0x100000
mov r15, r8
shr r15, 0x15
add r15, r10
and r8, 0xffffffffffe00000
sub rbx, r8
shr r9, 0x15
mov r8, qword [rsp + 0x48]
lea r12, [r8 + r9]
add r8, r9
add r8, 0x100000
mov r13, r8
shr r13, 0x15
add r13, qword [rsp + 0x68]
and r8, 0xffffffffffe00000
sub r12, r8
shr rax, 0x15
imul r9, rax, 0x72d18
add r9, qword [rsp + 0x110]
and rdx, 0xffffffffffe00000
sub r9, rdx
imul r10, rax, 0x9fb67
add r10, qword [rsp + 0xa8]
mov rdx, rcx
and rcx, 0xffffffffffe00000
sub r10, rcx
imul rcx, rax, 0xfffffffffff0c653
add rcx, qword [rsp + 0x118]
and rsi, 0xffffffffffe00000
sub rcx, rsi
shr rdx, 0x15
add rcx, rdx
imul rdx, rax, 0x215d1
add rdx, qword [rsp + 0x58]
mov qword [rsp + 0x68], rdi
and rdi, 0xffffffffffe00000
sub rdx, rdi
mov qword [rsp + 0x58], rdx
imul rdx, rax, 0xfffffffffff59083
add rdx, qword [rsp + 0xe0]
and rbp, 0xffffffffffe00000
sub rdx, rbp
mov qword [rsp + 0x48], rdx
imul rax, rax, 0xa2c13
imul rdx, r13, 0x72d18
add rdx, rax
imul rax, r13, 0x9fb67
add rax, r9
imul r8, r13, 0xfffffffffff0c653
add r8, r10
imul r9, r13, 0xa2c13
imul r10, r12, 0x72d18
add r10, r9
imul r9, r12, 0x9fb67
add r9, rdx
imul rdx, r12, 0xfffffffffff0c653
add rdx, rax
imul rdi, r12, 0x215d1
add rdi, r8
imul rax, r13, 0x215d1
add rax, rcx
mov qword [rsp + 0xa8], rax
imul rax, r12, 0xa2c13
imul rcx, r15, 0x72d18
add rcx, rax
imul rax, r15, 0x9fb67
add rax, r10
imul r8, r15, 0xfffffffffff0c653
add r8, r9
imul rsi, r15, 0x215d1
add rsi, rdx
imul r9, r15, 0xa2c13
imul rdx, rbx, 0x72d18
add rdx, r9
imul r14, rbx, 0x9fb67
add r14, rcx
imul r10, rbx, 0xfffffffffff0c653
add r10, rax
imul r9, rbx, 0x215d1
add r9, r8
imul rbp, rbx, 0xfffffffffff59083
add rbp, rsi
mov rax, qword [rsp + 0x30]
shr rax, 0x15
imul rcx, r11, 0xa2c13
add rcx, rax
add rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x20]
and rax, 0xffffffffffe00000
sub rcx, rax
mov qword [rsp + 0x20], rcx
imul rax, rbx, 0xa2c13
imul r8, r11, 0x72d18
add r8, rax
add r8, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xe8]
mov rsi, rax
and rax, 0xffffffffffe00000
sub r8, rax
imul rax, r11, 0x9fb67
add rax, rdx
add rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xd0]
and rcx, 0xffffffffffe00000
sub rax, rcx
imul rcx, r11, 0xfffffffffff0c653
add rcx, r14
add rcx, qword [rsp + 0xc0]
imul rbx, r11, 0x215d1
add rbx, r10
add rbx, qword [rsp + 0x88]
mov r10, qword [rsp + 0xc8]
mov rdx, r10
shr rdx, 0x15
add rbx, rdx
mov rdx, qword [rsp + 0x28]
and rdx, 0xffffffffffe00000
sub rbx, rdx
imul rdx, r11, 0xfffffffffff59083
add rdx, r9
add rdx, qword [rsp + 0xb8]
mov r11, qword [rsp + 0xb0]
mov r9, r11
and r11, 0xffffffffffe00000
sub rdx, r11
shr rsi, 0x15
lea r11, [rax + rsi]
mov qword [rsp + 0x90], r11
add rax, rsi
add rax, 0x100000
mov qword [rsp + 0x98], rax
sar rax, 0x15
add rax, rcx
mov rcx, r10
and rcx, 0xffffffffffe00000
sub rax, rcx
mov qword [rsp + 0x28], rax
shr r9, 0x15
lea rcx, [r9 + rbp]
lea rax, [r9 + rbp]
add rax, 0x100000
imul r10, r15, 0xfffffffffff59083
add r10, rdi
mov rdi, rax
and rax, 0xffffffffffe00000
sub rcx, rax
imul rax, r12, 0xfffffffffff59083
mov r9, qword [rsp + 0xa8]
lea rsi, [r9 + rax]
add rax, r9
add rax, 0x100000
imul r9, r13, 0xfffffffffff59083
add r9, qword [rsp + 0x58]
mov r14, rax
and rax, 0xffffffffffe00000
sub rsi, rax
mov rax, qword [rsp + 0x68]
shr rax, 0x15
mov r15, qword [rsp + 0x48]
lea r11, [r15 + rax]
add r15, rax
add r15, 0x100000
mov rax, r15
sar rax, 0x15
add rax, qword [rsp + 0x40]
and r15, 0xffffffffffe00000
sub r11, r15
mov r15, qword [rsp + 0x20]
add r15, 0x100000
mov qword [rsp + 0x58], r15
sar r15, 0x15
lea r12, [r8 + r15]
mov qword [rsp + 0x88], r12
add r8, r15
add r8, 0x100000
mov qword [rsp + 0x80], r8
lea r15, [rbx + 0x100000]
mov r8, r15
sar r8, 0x15
lea r12, [rdx + r8]
add rdx, r8
add rdx, 0x100000
mov rbp, rdx
sar rbp, 0x15
add rbp, rcx
and rdx, 0xffffffffffe00000
sub r12, rdx
mov qword [rsp + 0x68], r12
sar rdi, 0x15
lea r13, [r10 + rdi]
lea rcx, [rdi + r10]
add rcx, 0x100000
mov r12, rcx
sar r12, 0x15
add r12, rsi
and rcx, 0xffffffffffe00000
sub r13, rcx
sar r14, 0x15
lea rcx, [r9 + r14]
lea r8, [r14 + r9]
add r8, 0x100000
mov r9, r8
sar r9, 0x15
add r9, r11
and r8, 0xffffffffffe00000
sub rcx, r8
imul r10, rax, 0xa2c13
add r10, qword [rsp + 0xa0]
imul rdx, rax, 0xfffffffffff59083
add rdx, rbx
mov r8, qword [rsp + 0x28]
lea r11, [r8 + 0x100000]
mov qword [rsp + 0x48], r11
sar r11, 0x15
add rdx, r11
and r15, 0xffffffffffe00000
sub rdx, r15
mov qword [rsp + 0x40], rdx
imul rsi, r9, 0xa2c13
add rsi, qword [rsp + 0x38]
imul rdi, r9, 0x72d18
add rdi, r10
imul r10, rax, 0x72d18
imul rbx, r9, 0x9fb67
add rbx, r10
imul r10, rax, 0x9fb67
imul r14, r9, 0xfffffffffff0c653
add r14, r10
imul r10, rax, 0xfffffffffff0c653
imul rdx, r9, 0x215d1
add rdx, r10
imul rax, rax, 0x215d1
imul r8, r9, 0xfffffffffff59083
add r8, rax
mov qword [rsp + 0x38], r8
imul r10, rcx, 0xa2c13
add r10, qword [rsp + 0x78]
imul r11, rcx, 0x72d18
add r11, rsi
imul r15, rcx, 0x9fb67
add r15, rdi
mov rax, qword [rsp + 0x30]
and rax, 0xffffffffffe00000
sub r15, rax
imul rax, rcx, 0xfffffffffff0c653
add rax, rbx
imul r9, rcx, 0x215d1
add r9, r14
add r9, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x80]
mov r8, rsi
and rsi, 0xffffffffffe00000
sub r9, rsi
imul rbx, rcx, 0xfffffffffff59083
add rbx, rdx
add rbx, qword [rsp + 0x90]
sar r8, 0x15
add rbx, r8
mov rcx, qword [rsp + 0x98]
and rcx, 0xffffffffffe00000
sub rbx, rcx
add rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x58]
and rcx, 0xffffffffffe00000
sub rax, rcx
imul rcx, r12, 0x215d1
add rax, rcx
imul rdi, rbp, 0x72d18
add rdi, qword [rsp + 0x60]
imul r14, rbp, 0x9fb67
add r14, qword [rsp + 0x50]
imul rcx, r12, 0xa2c13
add r14, rcx
imul rcx, rbp, 0xfffffffffff0c653
add rcx, r10
imul rdx, r12, 0x72d18
add rcx, rdx
imul rdx, rbp, 0x215d1
add rdx, r11
imul r8, r12, 0x9fb67
add rdx, r8
imul rsi, rbp, 0xfffffffffff59083
add rsi, r15
imul r8, r12, 0xfffffffffff0c653
add rsi, r8
imul r10, rbp, 0xa2c13
mov r11, qword [rsp + 0x70]
lea r8, [r10 + r11]
add r11, r10
add r11, 0x100000
imul r10, r13, 0xa2c13
add rdi, r10
mov r10, r11
and r11, 0xffffffffffe00000
sub r8, r11
imul r11, r13, 0x72d18
lea r15, [r14 + r11]
mov qword [rsp + 0x50], r15
lea r15, [r11 + r14]
add r15, 0x100000
imul r11, r13, 0x9fb67
add rcx, r11
imul r11, r13, 0xfffffffffff0c653
lea r14, [rdx + r11]
mov qword [rsp + 0x20], r14
lea rbp, [r11 + rdx]
add rbp, 0x100000
mov qword [rsp + 0x60], rbp
imul rdx, r13, 0x215d1
add rsi, rdx
imul rdx, r13, 0xfffffffffff59083
lea r11, [rax + rdx]
lea r14, [rdx + rax]
add r14, 0x100000
imul rdx, r12, 0xfffffffffff59083
add rdx, r9
mov rax, r14
and r14, 0xffffffffffe00000
sub r11, r14
mov r12, qword [rsp + 0x38]
add r12, qword [rsp + 0x28]
lea r9, [rbx + 0x100000]
mov r14, r9
sar r14, 0x15
add r12, r14
mov r14, qword [rsp + 0x48]
and r14, 0xffffffffffe00000
sub r12, r14
mov r13, r12
and r9, 0xffffffffffe00000
sub rbx, r9
sar r10, 0x15
lea r12, [rdi + r10]
lea r9, [r10 + rdi]
add r9, 0x100000
mov r10, r15
sar r10, 0x15
lea r14, [rcx + r10]
add r10, rcx
add r10, 0x100000
mov rcx, rbp
sar rcx, 0x15
lea rdi, [rsi + rcx]
mov qword [rsp + 0x48], rdi
lea rdi, [rcx + rsi]
add rdi, 0x100000
mov rcx, rdi
sar rcx, 0x15
add rcx, r11
sar rax, 0x15
lea rsi, [rdx + rax]
add rax, rdx
add rax, 0x100000
mov rbp, rax
sar rbp, 0x15
add rbp, rbx
and rax, 0xffffffffffe00000
sub rsi, rax
mov qword [rsp + 0x70], rsi
lea rax, [r13 + 0x100000]
mov qword [rsp + 0x30], rax
and rax, 0xffffffffffe00000
sub r13, rax
mov qword [rsp + 0x38], r13
mov rax, qword [rsp + 0x40]
add rax, 0x100000
mov rdx, rax
sar rdx, 0x15
mov rsi, qword [rsp + 0x68]
lea rbx, [rsi + rdx]
add rsi, rdx
add rsi, 0x100000
mov rdx, rsi
and rsi, 0xffffffffffe00000
sub rbx, rsi
mov qword [rsp + 0x28], rbx
sar rdx, 0x15
imul r11, rdx, 0xa2c13
add r11, r8
imul rbx, rdx, 0x72d18
add rbx, r12
mov r8, r9
and r9, 0xffffffffffe00000
sub rbx, r9
imul r13, rdx, 0x9fb67
add r13, qword [rsp + 0x50]
and r15, 0xffffffffffe00000
sub r13, r15
sar r8, 0x15
add r13, r8
imul r12, rdx, 0xfffffffffff0c653
add r12, r14
mov r9, r10
and r10, 0xffffffffffe00000
sub r12, r10
imul r8, rdx, 0x215d1
add r8, qword [rsp + 0x20]
mov r10, qword [rsp + 0x60]
and r10, 0xffffffffffe00000
sub r8, r10
sar r9, 0x15
add r8, r9
imul r9, rdx, 0xfffffffffff59083
add r9, qword [rsp + 0x48]
and rdi, 0xffffffffffe00000
sub r9, rdi
mov rdx, r11
sar rdx, 0x15
add rdx, rbx
mov rbx, rdx
sar rbx, 0x15
add rbx, r13
mov r15, rbx
sar r15, 0x15
add r15, r12
mov r12, r15
sar r12, 0x15
add r12, r8
mov r8, r12
sar r8, 0x15
add r8, r9
mov r14, r8
sar r14, 0x15
add r14, rcx
mov rdi, r14
sar rdi, 0x15
add rdi, qword [rsp + 0x70]
mov r13, rdi
sar r13, 0x15
add r13, rbp
mov rbp, r13
sar rbp, 0x15
add rbp, qword [rsp + 0x38]
and rax, 0xffffffffffe00000
mov rsi, qword [rsp + 0x30]
sar rsi, 0x15
and r11d, 0x1fffff
and edx, 0x1fffff
and ebx, 0x1fffff
and r15d, 0x1fffff
and r12d, 0x1fffff
add rsi, qword [rsp + 0x40]
mov rcx, rbp
sar rcx, 0x15
sub rsi, rax
add rsi, rcx
mov rcx, rsi
sar rcx, 0x15
add rcx, qword [rsp + 0x28]
mov r9, rcx
sar r9, 0x15
imul rax, r9, 0xa2c13
add rax, r11
imul r10, r9, 0x72d18
add r10, rdx
imul rdx, r9, 0x9fb67
add rdx, rbx
imul r11, r9, 0xfffffffffff0c653
add r11, r15
imul rbx, r9, 0x215d1
add rbx, r12
and r8d, 0x1fffff
and r14d, 0x1fffff
and edi, 0x1fffff
and r13d, 0x1fffff
and ebp, 0x1fffff
and esi, 0x1fffff
mov qword [rsp + 0x30], rsi
and ecx, 0x1fffff
imul r9, r9, 0xfffffffffff59083
add r9, r8
mov r12, rax
sar r12, 0x15
add r12, r10
mov r15, r12
sar r15, 0x15
add r15, rdx
mov rsi, r15
sar rsi, 0x15
add rsi, r11
mov r11, rsi
sar r11, 0x15
add r11, rbx
mov r10, r11
sar r10, 0x15
add r10, r9
mov r9, r10
sar r9, 0x15
add r9, r14
mov r8, r9
sar r8, 0x15
add r8, rdi
mov rbx, r8
sar rbx, 0x15
add rbx, r13
mov rdx, rbx
sar rdx, 0x15
add rdx, rbp
mov r14, rdx
sar r14, 0x15
add r14, qword [rsp + 0x30]
mov rdi, r14
sar rdi, 0x15
add rdi, rcx
mov rbp, qword [rsp + 0x188]
mov byte [rbp + 0x20], al
mov byte [rbp + 0x21], ah
shr eax, 0x10
and eax, 0x1f
mov ecx, r12d
shl ecx, 5
or ecx, eax
mov byte [rbp + 0x22], cl
mov rax, r12
shr rax, 3
mov byte [rbp + 0x23], al
mov rax, r12
shr rax, 0xb
mov byte [rbp + 0x24], al
shr r12d, 0x13
and r12d, 3
lea eax, [r12 + 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 + r8*8]
mov byte [rbp + 0x32], al
mov rax, r8
shr rax, 5
mov byte [rbp + 0x33], al
shr r8, 0xd
mov byte [rbp + 0x34], r8b
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 + r14*4]
mov byte [rbp + 0x3a], al
mov rax, r14
shr rax, 6
mov byte [rbp + 0x3b], al
mov eax, edi
shl eax, 7
shr r14d, 0xe
and r14d, 0x7f
or r14d, eax
mov byte [rbp + 0x3c], r14b
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 + 0x440]
xor rcx, rsp
call fcn.140279500
mov eax, 1
add rsp, 0x448
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret