Function at 0x1400d0340
Capabilities:
Encrypt data using curve25519
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x458
mov r12, r9
mov r13, r8
mov rbx, rdx
mov r15, rcx
mov rax, qword [0x140135388]
xor rax, rsp
mov qword [rsp + 0x450], rax
lea rdi, [rsp + 0x3a0]
mov edx, 0x20
mov rcx, r9
mov r8, rdi
call fcn.140074680
and byte [rdi], 0xf8
mov al, byte [rdi + 0x1f]
and al, 0x3f
or al, 0x40
mov byte [rdi + 0x1f], al
lea rbp, [rsp + 0x2c8]
mov rcx, rbp
call fcn.1400870a0
lea rdx, [rsp + 0x3c0]
mov r8d, 0x20
mov rcx, rbp
call fcn.1400870f0
mov rcx, rbp
mov rdx, rbx
mov r8, r13
call fcn.1400870f0
lea rdi, [rsp + 0x280]
mov rcx, rdi
mov rdx, rbp
call fcn.140087200
mov rcx, rdi
call fcn.1400cf490
lea r8, [0x14011a940]
lea rsi, [rsp + 0x1e0]
mov rcx, rsi
mov rdx, rdi
call fcn.1400cdc90
mov rax, qword [rsi + 0x70]
lea rdx, [rsp + 0x1a0]
mov qword [rdx + 0x20], rax
movups xmm0, xmmword [rsi + 0x50]
movups xmm1, xmmword [rsi + 0x60]
movaps xmmword [rdx + 0x10], xmm1
movaps xmmword [rdx], xmm0
lea rdi, [rsp + 0x408]
mov rcx, rdi
call fcn.1400d4fd0
lea r14, [rsp + 0x1a0]
mov rcx, r14
mov rdx, rsi
mov r8, rdi
call fcn.1400d7ca0
lea rdx, [rsp + 0x208]
lea rsi, [rsp + 0x3e0]
mov rcx, rsi
mov r8, rdi
call fcn.1400d7ca0
mov qword [rsp + 0x198], r15
mov rcx, r15
mov rdx, rsi
call fcn.1400c9910
lea rsi, [rsp + 0x430]
mov rcx, rsi
mov rdx, r14
call fcn.1400c9910
mov al, byte [rsi]
shl al, 7
xor byte [r15 + 0x1f], al
mov rcx, rbp
call fcn.1400870a0
mov r8d, 0x20
mov rcx, rbp
mov rdx, r15
call fcn.1400870f0
lea rdx, [r12 + 0x20]
mov r8d, 0x20
mov rcx, rbp
call fcn.1400870f0
mov rcx, rbp
mov rdx, rbx
mov r8, r13
call fcn.1400870f0
lea rsi, [rsp + 0x1a0]
mov rcx, rsi
mov rdx, rbp
call fcn.140087200
mov rcx, rsi
call fcn.1400cf490
movzx eax, word [rsi]
movzx ecx, byte [rsi + 2]
movzx edx, byte [rsi + 3]
shl edx, 8
or edx, ecx
and ecx, 0x1f
shl rcx, 0x10
or rcx, rax
mov qword [rsp + 0xe0], rcx
movzx eax, byte [rsi + 4]
shl eax, 0x10
or eax, edx
movzx ecx, byte [rsi + 5]
movzx edx, byte [rsi + 6]
shl edx, 8
or edx, ecx
mov r9d, ecx
shl r9d, 0x18
or r9d, eax
movzx eax, byte [rsi + 7]
movzx ecx, byte [rsi + 8]
shl ecx, 8
or ecx, eax
mov ebx, eax
shl ebx, 0x10
or ebx, edx
movzx eax, byte [rsi + 9]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [rsi + 0xa]
movzx edx, byte [rsi + 0xb]
shl edx, 8
or edx, ecx
shl ecx, 0x18
or ecx, eax
mov qword [rsp + 0x68], rcx
movzx eax, byte [rsi + 0xc]
shl eax, 0x10
or eax, edx
movzx ecx, byte [rsi + 0xd]
movzx edx, byte [rsi + 0xe]
shl edx, 8
or edx, ecx
mov r15d, ecx
shl r15d, 0x18
or r15d, eax
movzx eax, byte [rsi + 0xf]
movzx ecx, byte [rsi + 0x10]
shl ecx, 8
or ecx, eax
mov r12d, eax
shl r12d, 0x10
or r12d, edx
movzx eax, byte [rsi + 0x11]
shl eax, 0x10
or eax, ecx
movzx edx, byte [rsi + 0x12]
movzx ecx, dl
shl edx, 0x18
or edx, eax
mov qword [rsp + 0x28], rdx
movzx eax, byte [rsi + 0x13]
shl rax, 8
or rax, rcx
movzx ecx, byte [rsi + 0x14]
shl rcx, 0x10
or rcx, rax
mov qword [rsp + 0x38], rcx
movzx eax, word [rsi + 0x15]
movzx ecx, byte [rsi + 0x17]
movzx edx, byte [rsi + 0x18]
shl edx, 8
or edx, ecx
and ecx, 0x1f
shl rcx, 0x10
or rcx, rax
mov qword [rsp + 0xb0], rcx
movzx eax, byte [rsi + 0x19]
shl eax, 0x10
or eax, edx
movzx ecx, byte [rsi + 0x1b]
shl ecx, 8
movzx edx, byte [rsi + 0x1a]
or ecx, edx
shl edx, 0x18
or edx, eax
mov qword [rsp + 0x48], rdx
movzx eax, byte [rsi + 0x1d]
shl rax, 8
movzx edx, byte [rsi + 0x1c]
or rax, rdx
shl edx, 0x10
or edx, ecx
mov qword [rsp + 0xb8], rdx
movzx ecx, byte [rsi + 0x1e]
shl rcx, 0x10
or rcx, rax
movzx eax, byte [rsi + 0x1f]
shl rax, 0x18
or rax, rcx
mov qword [rsp + 0x88], rax
lea r13, [rsp + 0x3c0]
movzx eax, byte [r13 - 0x1d]
shl eax, 8
movzx edi, byte [r13 - 0x1e]
or eax, edi
mov r10d, edi
and r10d, 0x1f
shl r10, 0x10
movzx ecx, word [r13 - 0x20]
or r10, rcx
movzx ecx, byte [r13 - 0x1c]
mov r8, r13
shl ecx, 0x10
or ecx, eax
movzx edx, byte [r13 - 0x1a]
shl edx, 8
movzx eax, byte [r13 - 0x1b]
or edx, eax
mov r13d, eax
shl r13d, 0x18
or r13d, ecx
movzx ecx, byte [r8 - 0x18]
shl ecx, 8
movzx ebp, byte [r8 - 0x19]
or ecx, ebp
mov r11d, ebp
shl r11d, 0x10
or r11d, edx
movzx edx, byte [r8 - 0x17]
shl edx, 0x10
or edx, ecx
movzx ecx, byte [r8 - 0x15]
shl ecx, 8
movzx ebp, byte [r8 - 0x16]
or ecx, ebp
mov r14d, ebp
shl r14d, 0x18
or r14d, edx
movzx edx, byte [r8 - 0x14]
shl edx, 0x10
or edx, ecx
movzx ecx, byte [r8 - 0x12]
shl ecx, 8
movzx ebp, byte [r8 - 0x13]
or ecx, ebp
mov edi, ebp
shl edi, 0x18
or edi, edx
movzx edx, byte [r8 - 0x10]
shl edx, 8
movzx ebp, byte [r8 - 0x11]
or edx, ebp
mov eax, ebp
shl eax, 0x10
or eax, ecx
mov qword [rsp + 0x80], rax
movzx ecx, byte [r8 - 0xf]
shl ecx, 0x10
or ecx, edx
movzx eax, byte [r8 - 0xe]
movzx edx, al
shl eax, 0x18
or eax, ecx
mov qword [rsp + 0x78], rax
movzx ecx, byte [r8 - 0xd]
shl rcx, 8
or rcx, rdx
movzx eax, byte [r8 - 0xc]
shl rax, 0x10
or rax, rcx
mov qword [rsp + 0x30], rax
movzx ecx, byte [r8 - 8]
shl ecx, 8
movzx edx, byte [r8 - 9]
or ecx, edx
mov eax, edx
and eax, 0x1f
shl rax, 0x10
movzx edx, word [r8 - 0xb]
or rax, rdx
mov qword [rsp + 0xa0], rax
movzx edx, byte [r8 - 7]
shl edx, 0x10
or edx, ecx
movzx ecx, byte [r8 - 5]
shl ecx, 8
movzx ebp, byte [r8 - 6]
or ecx, ebp
mov eax, ebp
shl eax, 0x18
or eax, edx
mov qword [rsp + 0x90], rax
movzx edx, byte [r8 - 3]
shl rdx, 8
movzx ebp, byte [r8 - 4]
or rdx, rbp
shl ebp, 0x10
or ebp, ecx
mov qword [rsp + 0x50], rbp
movzx ecx, byte [r8 - 2]
shl rcx, 0x10
or rcx, rdx
movzx eax, byte [r8 - 1]
shl rax, 0x18
or rax, rcx
mov qword [rsp + 0x58], rax
lea r8, [rsp + 0x280]
movzx ecx, byte [r8 + 3]
shl ecx, 8
movzx edx, byte [r8 + 2]
or ecx, edx
mov eax, edx
and eax, 0x1f
shl rax, 0x10
movzx edx, word [r8]
or rax, rdx
mov qword [rsp + 0x120], rax
movzx edx, byte [r8 + 4]
shl edx, 0x10
or edx, ecx
movzx ecx, byte [r8 + 6]
shl ecx, 8
movzx ebp, byte [r8 + 5]
or ecx, ebp
mov eax, ebp
shl eax, 0x18
or eax, edx
mov qword [rsp + 0x128], rax
movzx edx, byte [r8 + 8]
shl edx, 8
movzx ebp, byte [r8 + 7]
or edx, ebp
mov eax, ebp
shl eax, 0x10
or eax, ecx
mov qword [rsp + 0x118], rax
movzx ecx, byte [r8 + 9]
shl ecx, 0x10
or ecx, edx
movzx edx, byte [r8 + 0xb]
shl edx, 8
movzx ebp, byte [r8 + 0xa]
or edx, ebp
mov eax, ebp
shl eax, 0x18
or eax, ecx
mov qword [rsp + 0x110], rax
movzx ecx, byte [r8 + 0xc]
shl ecx, 0x10
or ecx, edx
movzx edx, byte [r8 + 0xe]
shl edx, 8
movzx ebp, byte [r8 + 0xd]
or edx, ebp
mov eax, ebp
shl eax, 0x18
or eax, ecx
mov qword [rsp + 0x190], rax
movzx ecx, byte [r8 + 0x10]
shl ecx, 8
movzx ebp, byte [r8 + 0xf]
or ecx, ebp
mov eax, ebp
shl eax, 0x10
or eax, edx
mov qword [rsp + 0x188], rax
movzx edx, byte [r8 + 0x11]
shl edx, 0x10
or edx, ecx
movzx eax, byte [r8 + 0x12]
movzx ecx, al
shl eax, 0x18
or eax, edx
mov qword [rsp + 0x180], rax
movzx edx, byte [r8 + 0x13]
shl rdx, 8
or rdx, rcx
movzx eax, byte [r8 + 0x14]
shl rax, 0x10
or rax, rdx
mov qword [rsp + 0x178], rax
movzx ecx, byte [r8 + 0x18]
shl ecx, 8
movzx edx, byte [r8 + 0x17]
or ecx, edx
mov eax, edx
and eax, 0x1f
shl rax, 0x10
movzx edx, word [r8 + 0x15]
or rax, rdx
mov qword [rsp + 0x170], rax
movzx edx, byte [r8 + 0x19]
shl edx, 0x10
or edx, ecx
movzx ecx, byte [r8 + 0x1b]
shl ecx, 8
movzx ebp, byte [r8 + 0x1a]
or ecx, ebp
mov eax, ebp
shl eax, 0x18
or eax, edx
mov qword [rsp + 0x168], rax
movzx edx, byte [r8 + 0x1d]
shl rdx, 8
movzx ebp, byte [r8 + 0x1c]
or rdx, rbp
shl ebp, 0x10
or ebp, ecx
mov qword [rsp + 0x160], rbp
movzx ecx, byte [r8 + 0x1e]
shl rcx, 0x10
or rcx, rdx
movzx eax, byte [r8 + 0x1f]
shl rax, 0x18
or rax, rcx
mov qword [rsp + 0x158], rax
shr r9d, 5
and r9d, 0x1fffff
mov rax, r13
shr eax, 5
and eax, 0x1fffff
mov rcx, rax
mov rsi, qword [rsp + 0xe0]
imul rcx, rsi
mov rdx, r10
imul rdx, r9
add rdx, rcx
mov qword [rsp + 0x108], rdx
shr ebx, 2
and ebx, 0x1fffff
mov rcx, rax
imul rcx, r9
mov rbp, r10
imul rbp, rbx
add rbp, rcx
shr r11d, 2
and r11d, 0x1fffff
mov rcx, r11
mov rdx, r11
imul rcx, rsi
add rbp, rcx
mov qword [rsp + 0x100], rbp
mov r11, qword [rsp + 0x68]
shr r11d, 7
and r11d, 0x1fffff
mov rcx, rax
mov r13, rax
imul rcx, rbx
mov rbp, r10
imul rbp, r11
add rbp, rcx
mov rcx, rdx
mov r8, rdx
imul rcx, r9
add rbp, rcx
mov rdx, r14
shr edx, 7
and edx, 0x1fffff
mov rcx, rdx
imul rcx, rsi
add rbp, rcx
mov qword [rsp + 0xf8], rbp
shr r15d, 4
and r15d, 0x1fffff
mov rcx, rax
mov qword [rsp + 0x68], r11
imul rcx, r11
mov rax, r10
imul rax, r15
add rax, rcx
mov rcx, r8
imul rcx, rbx
add rax, rcx
mov rbp, rdx
mov rcx, rdx
imul rcx, r9
add rax, rcx
shr edi, 4
and edi, 0x1fffff
mov rcx, rdi
imul rcx, rsi
add rax, rcx
mov qword [rsp + 0x150], rax
shr r12d, 1
and r12d, 0x1fffff
mov rcx, r13
mov qword [rsp + 0x70], r15
imul rcx, r15
mov rdx, r10
imul rdx, r12
mov qword [rsp + 0x60], r12
add rdx, rcx
mov rax, r8
mov rcx, r8
imul rcx, r11
add rdx, rcx
mov rcx, rbp
mov r11, rbp
imul rcx, rbx
add rdx, rcx
mov rcx, rdi
mov r14, rdi
mov qword [rsp + 0xd8], r9
imul rcx, r9
add rdx, rcx
mov r8, qword [rsp + 0x80]
shr r8d, 1
and r8d, 0x1fffff
mov rcx, r8
mov rdi, r8
imul rcx, rsi
add rdx, rcx
mov qword [rsp + 0xf0], rdx
mov rcx, qword [rsp + 0x28]
shr ecx, 6
and ecx, 0x1fffff
mov rdx, rcx
mov rcx, r13
mov r8, r13
imul rcx, r12
mov r12, r10
mov rbp, r10
imul rbp, rdx
mov r13, rdx
mov qword [rsp + 0x28], rdx
add rbp, rcx
mov rcx, rax
mov r10, rax
mov qword [rsp + 0x98], rax
imul rcx, r15
add rbp, rcx
mov rax, r11
mov qword [rsp + 0x40], r11
mov rcx, r11
mov r11, qword [rsp + 0x68]
imul rcx, r11
add rbp, rcx
mov rcx, r14
mov r15, rbx
mov qword [rsp + 0xc8], rbx
imul rcx, rbx
add rbp, rcx
mov rcx, rdi
imul rcx, r9
add rbp, rcx
mov rbx, qword [rsp + 0x78]
shr ebx, 6
and ebx, 0x1fffff
mov rcx, rbx
imul rcx, rsi
mov r9, rsi
add rbp, rcx
mov qword [rsp + 0x148], rbp
mov rdx, qword [rsp + 0x38]
shr rdx, 3
mov rcx, r8
mov qword [rsp + 0xa8], r8
imul rcx, r13
mov rsi, r12
mov rbp, r12
imul rbp, rdx
mov r13, rdx
mov qword [rsp + 0x38], rdx
add rbp, rcx
mov r12, qword [rsp + 0x60]
imul r10, r12
add rbp, r10
mov rcx, rax
mov rax, qword [rsp + 0x70]
imul rcx, rax
add rbp, rcx
mov rcx, r14
imul rcx, r11
add rbp, rcx
mov rcx, rdi
mov r10, rdi
imul rcx, r15
add rbp, rcx
mov rcx, rbx
mov rdx, qword [rsp + 0xd8]
imul rcx, rdx
add rbp, rcx
mov rcx, qword [rsp + 0x30]
shr rcx, 3
mov qword [rsp + 0x30], rcx
imul rcx, r9
add rbp, rcx
mov qword [rsp + 0xe8], rbp
imul r8, r13
mov rbp, rsi
mov rdi, qword [rsp + 0xb0]
imul rbp, rdi
add rbp, r8
mov rcx, qword [rsp + 0x98]
imul rcx, qword [rsp + 0x28]
add rbp, rcx
mov r8, qword [rsp + 0x40]
mov rcx, r8
imul rcx, r12
mov r13, r12
add rbp, rcx
mov rcx, r14
imul rcx, rax
add rbp, rcx
mov rcx, r10
mov r12, r10
imul rcx, r11
add rbp, rcx
mov qword [rsp + 0x78], rbx
mov rcx, rbx
mov r15, qword [rsp + 0xc8]
imul rcx, r15
add rbp, rcx
mov r10, qword [rsp + 0x30]
mov rcx, r10
imul rcx, rdx
add rbp, rcx
mov rdx, qword [rsp + 0xa0]
mov rcx, rdx
imul rcx, r9
add rbp, rcx
mov qword [rsp + 0x138], rbp
mov rcx, qword [rsp + 0x48]
shr ecx, 5
and ecx, 0x1fffff
mov rax, rcx
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0xa8]
imul rcx, rdi
mov qword [rsp + 0xd0], rsi
mov rbp, rsi
imul rbp, rax
add rbp, rcx
mov rax, qword [rsp + 0x98]
mov rcx, rax
imul rcx, qword [rsp + 0x38]
add rbp, rcx
imul r8, qword [rsp + 0x28]
add rbp, r8
mov rcx, r14
mov qword [rsp + 0xc0], r14
imul rcx, r13
add rbp, rcx
mov rcx, r12
mov rdi, r12
mov qword [rsp + 0x80], r12
imul rcx, qword [rsp + 0x70]
add rbp, rcx
mov rcx, rbx
imul rcx, r11
add rbp, rcx
mov rcx, r10
imul rcx, r15
add rbp, rcx
mov rcx, rdx
mov r15, rdx
mov r8, qword [rsp + 0xd8]
imul rcx, r8
add rbp, rcx
mov r12, qword [rsp + 0x90]
shr r12d, 5
and r12d, 0x1fffff
mov rcx, r12
mov qword [rsp + 0x90], r12
mov rbx, qword [rsp + 0xe0]
imul rcx, rbx
add rbp, rcx
mov qword [rsp + 0x130], rbp
mov rdx, qword [rsp + 0xb8]
shr edx, 2
and edx, 0x1fffff
mov qword [rsp + 0xb8], rdx
mov rbp, qword [rsp + 0xa8]
mov rcx, rbp
mov r9, qword [rsp + 0x48]
imul rcx, r9
mov r11, rsi
imul r11, rdx
add r11, rcx
imul rax, qword [rsp + 0xb0]
add r11, rax
mov rcx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x38]
imul rcx, rsi
add r11, rcx
mov rcx, r14
imul rcx, qword [rsp + 0x28]
add r11, rcx
imul rdi, r13
add r11, rdi
mov r14, qword [rsp + 0x78]
mov rcx, r14
imul rcx, qword [rsp + 0x70]
add r11, rcx
imul r10, qword [rsp + 0x68]
add r11, r10
mov rdx, r15
mov rcx, r15
mov r15, qword [rsp + 0xc8]
imul rcx, r15
add r11, rcx
imul r12, r8
add r11, r12
mov rcx, qword [rsp + 0x50]
shr ecx, 2
and ecx, 0x1fffff
mov qword [rsp + 0x50], rcx
imul rcx, rbx
add r11, rcx
mov rbx, qword [rsp + 0x88]
shr rbx, 7
mov qword [rsp + 0x88], rbx
mov rcx, rbp
mov r10, qword [rsp + 0xb8]
imul rcx, r10
mov rax, qword [rsp + 0xd0]
mov r12, rax
imul rax, rbx
add rax, rcx
mov rbx, qword [rsp + 0x98]
mov rcx, rbx
imul rcx, r9
add rax, rcx
mov rcx, qword [rsp + 0x40]
mov r9, qword [rsp + 0xb0]
imul rcx, r9
add rax, rcx
mov rdi, qword [rsp + 0xc0]
mov rcx, rdi
imul rcx, rsi
add rax, rcx
mov rcx, qword [rsp + 0x80]
imul rcx, qword [rsp + 0x28]
add rax, rcx
mov rcx, r14
imul rcx, r13
add rax, rcx
mov rcx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x70]
imul rcx, rsi
add rax, rcx
mov rcx, rdx
mov r14, qword [rsp + 0x68]
imul rcx, r14
add rax, rcx
mov rbp, qword [rsp + 0x90]
mov rcx, rbp
imul rcx, r15
add rax, rcx
mov rcx, qword [rsp + 0x50]
imul rcx, r8
add rax, rcx
mov rcx, qword [rsp + 0x58]
shr rcx, 7
mov qword [rsp + 0x58], rcx
mov r8, qword [rsp + 0xe0]
imul r12, r8
mov qword [rsp + 0x140], r12
imul r8, rcx
add rax, r8
mov qword [rsp + 0xd0], rax
mov rcx, rbx
imul rcx, r10
mov rbx, qword [rsp + 0xa8]
imul rbx, qword [rsp + 0x88]
add rbx, rcx
mov rax, qword [rsp + 0x40]
mov rcx, rax
mov r10, qword [rsp + 0x48]
imul rcx, r10
add rbx, rcx
mov rcx, rdi
imul rcx, r9
add rbx, rcx
mov rdx, qword [rsp + 0x80]
mov rcx, rdx
imul rcx, qword [rsp + 0x38]
add rbx, rcx
mov r13, qword [rsp + 0x78]
mov rcx, r13
mov rdi, qword [rsp + 0x28]
imul rcx, rdi
add rbx, rcx
mov r9, rbx
mov rcx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x60]
imul rcx, rbx
add r9, rcx
mov r8, qword [rsp + 0xa0]
mov rcx, r8
imul rcx, rsi
add r9, rcx
mov rcx, rbp
imul rcx, r14
add r9, rcx
mov r15, qword [rsp + 0x50]
mov rcx, r15
imul rcx, qword [rsp + 0xc8]
add r9, rcx
mov qword [rsp + 0xa8], r9
mov rcx, rax
mov rsi, qword [rsp + 0xb8]
imul rcx, rsi
mov rax, qword [rsp + 0x98]
mov r9, qword [rsp + 0x88]
imul rax, r9
add rax, rcx
mov r12, qword [rsp + 0xc0]
mov rcx, r12
imul rcx, r10
add rax, rcx
mov rcx, rdx
mov r14, rdx
imul rcx, qword [rsp + 0xb0]
add rax, rcx
mov rcx, r13
mov rdx, qword [rsp + 0x38]
imul rcx, rdx
add rax, rcx
mov rcx, qword [rsp + 0x30]
imul rcx, rdi
add rax, rcx
imul r8, rbx
add rax, r8
mov r10, qword [rsp + 0x90]
mov rcx, r10
mov rbp, qword [rsp + 0x70]
imul rcx, rbp
add rax, rcx
mov rcx, r15
imul rcx, qword [rsp + 0x68]
add rax, rcx
mov qword [rsp + 0x98], rax
mov rdi, r12
mov rcx, r12
imul rcx, rsi
mov rax, qword [rsp + 0x40]
imul rax, r9
add rax, rcx
mov rbx, r14
mov rcx, r14
mov rsi, qword [rsp + 0x48]
imul rcx, rsi
add rax, rcx
mov r14, r13
mov rcx, r13
mov r13, qword [rsp + 0xb0]
imul rcx, r13
add rax, rcx
mov r8, qword [rsp + 0x30]
mov rcx, r8
imul rcx, rdx
add rax, rcx
mov r9, qword [rsp + 0xa0]
mov rcx, r9
mov r12, qword [rsp + 0x28]
imul rcx, r12
add rax, rcx
mov rdx, r10
mov rcx, r10
mov r10, qword [rsp + 0x60]
imul rcx, r10
add rax, rcx
imul r15, rbp
add rax, r15
mov qword [rsp + 0x40], rax
mov rcx, rbx
mov rbp, qword [rsp + 0xb8]
imul rcx, rbp
mov r15, qword [rsp + 0x88]
imul rdi, r15
add rdi, rcx
mov rax, r14
mov rcx, r14
imul rcx, rsi
add rdi, rcx
mov r14, rdi
mov rbx, r8
mov rcx, r8
mov r8, r13
imul rcx, r13
add r14, rcx
mov rcx, r9
mov r13, r9
mov r9, qword [rsp + 0x38]
imul rcx, r9
add r14, rcx
mov rcx, rdx
imul rcx, r12
add r14, rcx
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
imul rcx, r10
add r14, rcx
imul rax, rbp
mov rdi, qword [rsp + 0x80]
imul rdi, r15
add rdi, rax
mov rcx, rbx
mov r10, qword [rsp + 0x48]
imul rcx, r10
add rdi, rcx
mov rax, r13
mov rcx, r13
imul rcx, r8
mov r13, r8
add rdi, rcx
mov rcx, rdx
imul rcx, r9
add rdi, rcx
mov r9, rsi
mov rcx, rsi
imul rcx, r12
add rdi, rcx
mov qword [rsp + 0x80], rdi
mov rcx, rbx
imul rcx, rbp
mov r8, qword [rsp + 0x78]
imul r8, r15
add r8, rcx
mov rcx, rax
mov r12, r10
imul rcx, r10
add r8, rcx
mov rcx, rdx
mov r10, rdx
imul rcx, r13
add r8, rcx
mov rsi, r8
mov rdx, r9
mov rcx, r9
mov r8, qword [rsp + 0x38]
imul rcx, r8
add rsi, rcx
mov qword [rsp + 0x78], rsi
mov rcx, rax
imul rcx, rbp
imul rbx, r15
add rbx, rcx
mov rcx, r10
imul rcx, r12
add rbx, rcx
mov rcx, r9
imul rcx, r13
add rbx, rcx
mov qword [rsp + 0x30], rbx
mov rcx, r10
imul rcx, rbp
imul rax, r15
add rax, rcx
mov rcx, r9
imul rcx, r12
add rax, rcx
mov qword [rsp + 0xa0], rax
mov rcx, r9
imul rcx, rbp
mov rax, r10
imul rax, r15
add rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x58]
imul rbp, rax
mov rcx, r15
imul rdx, r15
add rdx, rbp
mov qword [rsp + 0x50], rdx
mov r9, qword [rsp + 0xd8]
imul r9, rax
mov r10, qword [rsp + 0xc8]
imul r10, rax
mov rdi, qword [rsp + 0x68]
imul rdi, rax
mov rbx, qword [rsp + 0x70]
imul rbx, rax
mov rdx, qword [rsp + 0x60]
imul rdx, rax
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x28]
imul rdx, rax
mov qword [rsp + 0x28], rdx
imul r8, rax
mov qword [rsp + 0x38], r8
imul r13, rax
mov rsi, r13
imul r12, rax
imul rax, rcx
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x140]
lea rax, [rcx + rdx]
add rdx, rcx
add rdx, 0x100000
mov r8, rdx
shr r8, 0x15
add r8, qword [rsp + 0x108]
and rdx, 0xffffffffffe00000
sub rax, rdx
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x118]
shr eax, 2
and eax, 0x1fffff
mov rdx, qword [rsp + 0x100]
lea rcx, [rdx + rax]
mov qword [rsp + 0x108], rcx
add rax, rdx
add rax, 0x100000
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x110]
shr eax, 7
and eax, 0x1fffff
add qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x190]
shr eax, 4
and eax, 0x1fffff
mov r15, qword [rsp + 0x150]
lea rcx, [r15 + rax]
mov qword [rsp + 0xc0], rcx
add r15, rax
add r15, 0x100000
mov rax, qword [rsp + 0x188]
shr eax, 1
and eax, 0x1fffff
add qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x180]
shr eax, 6
and eax, 0x1fffff
mov rcx, qword [rsp + 0x148]
lea rdx, [rcx + rax]
mov qword [rsp + 0xe0], rdx
add rax, rcx
add rax, 0x100000
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x178]
shr rax, 3
add qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x170]
mov rdx, qword [rsp + 0x138]
lea rcx, [rdx + rax]
mov qword [rsp + 0xc8], rcx
add rax, rdx
add rax, 0x100000
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x168]
shr eax, 5
and eax, 0x1fffff
mov rbp, qword [rsp + 0x130]
add rbp, rax
mov rax, qword [rsp + 0x160]
shr eax, 2
and eax, 0x1fffff
lea rcx, [r11 + rax]
mov qword [rsp + 0xb0], rcx
add rax, r11
add rax, 0x100000
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x158]
shr rax, 7
add qword [rsp + 0xd0], rax
mov rcx, qword [rsp + 0xa8]
lea rdx, [rcx + r9]
mov qword [rsp + 0xd8], rdx
lea rax, [r9 + rcx]
add rax, 0x100000
mov qword [rsp + 0x88], rax
mov r13, qword [rsp + 0x98]
add r13, r10
mov rcx, qword [rsp + 0x40]
lea rdx, [rcx + rdi]
mov qword [rsp + 0x120], rdx
lea rax, [rdi + rcx]
add rax, 0x100000
mov qword [rsp + 0x40], rax
add r14, rbx
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
lea rdx, [rcx + rax]
mov qword [rsp + 0x118], rdx
add rax, rcx
add rax, 0x100000
mov qword [rsp + 0x110], rax
mov rdi, qword [rsp + 0x78]
add rdi, qword [rsp + 0x28]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
lea rdx, [rcx + rax]
add rax, rcx
add rax, 0x100000
add qword [rsp + 0xa0], rsi
mov r10, rax
and rax, 0xffffffffffe00000
sub rdx, rax
mov qword [rsp + 0x60], rdx
mov rcx, qword [rsp + 0x90]
lea rsi, [rcx + r12]
lea rax, [r12 + rcx]
add rax, 0x100000
mov r11, rax
movabs rcx, 0x7fffffffffe00000
and rax, rcx
sub rsi, rax
mov rax, qword [rsp + 0x58]
lea r12, [rax + 0x100000]
mov r9, r12
and r12, rcx
sub rax, r12
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x128]
shr eax, 5
and eax, 0x1fffff
lea rbx, [r8 + rax]
lea r12, [rax + r8]
add r12, 0x100000
mov rax, r12
shr rax, 0x15
add rax, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x100]
mov rcx, rdx
and rdx, 0xffffffffffe00000
sub rax, rdx
mov qword [rsp + 0x80], rax
and r12, 0xffffffffffe00000
sub rbx, r12
mov qword [rsp + 0x78], rbx
shr rcx, 0x15
mov rax, qword [rsp + 0xf8]
lea rbx, [rax + rcx]
add rcx, rax
add rcx, 0x100000
mov rax, rcx
sar rax, 0x15
add rax, qword [rsp + 0xc0]
mov rdx, r15
and r15, 0xffffffffffe00000
sub rax, r15
mov qword [rsp + 0x98], rax
and rcx, 0xffffffffffe00000
sub rbx, rcx
mov qword [rsp + 0x90], rbx
sar rdx, 0x15
mov rax, qword [rsp + 0xf0]
lea rcx, [rax + rdx]
mov qword [rsp + 0x38], rcx
add rax, rdx
add rax, 0x100000
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x70]
sar rcx, 0x15
mov rax, qword [rsp + 0xe8]
lea rdx, [rax + rcx]
mov qword [rsp + 0xc0], rdx
add rax, rcx
add rax, 0x100000
mov qword [rsp + 0xe8], rax
mov rcx, qword [rsp + 0x48]
sar rcx, 0x15
lea rax, [rcx + rbp]
mov qword [rsp + 0xf8], rax
lea rax, [rcx + rbp]
add rax, 0x100000
mov qword [rsp + 0xf0], rax
mov rcx, qword [rsp + 0x68]
sar rcx, 0x15
mov rax, qword [rsp + 0xd0]
lea rdx, [rax + rcx]
mov qword [rsp + 0xa8], rdx
add rax, rcx
add rax, 0x100000
mov qword [rsp + 0xd0], rax
mov rcx, qword [rsp + 0x88]
sar rcx, 0x15
lea rdx, [rcx + r13]
mov qword [rsp + 0x30], rdx
lea r12, [rcx + r13]
add r12, 0x100000
mov rcx, qword [rsp + 0x40]
sar rcx, 0x15
lea rax, [r14 + rcx]
mov qword [rsp + 0x128], rax
lea r15, [rcx + r14]
add r15, 0x100000
mov rbp, qword [rsp + 0x110]
mov rcx, rbp
sar rcx, 0x15
lea rax, [rdi + rcx]
add rcx, rdi
add rcx, 0x100000
mov r14, rcx
sar r14, 0x15
add r14, qword [rsp + 0x60]
and rcx, 0xffffffffffe00000
sub rax, rcx
mov qword [rsp + 0x60], rax
sar r10, 0x15
mov rax, qword [rsp + 0xa0]
lea rbx, [rax + r10]
lea rcx, [r10 + rax]
add rcx, 0x100000
mov rdi, rcx
sar rdi, 0x15
add rdi, rsi
and rcx, 0xffffffffffe00000
sub rbx, rcx
shr r11, 0x15
mov rax, qword [rsp + 0x50]
lea r8, [rax + r11]
lea rsi, [r11 + rax]
add rsi, 0x100000
mov rcx, rsi
shr rcx, 0x15
add rcx, qword [rsp + 0x58]
movabs rax, 0x7fffffffffe00000
and rsi, rax
sub r8, rsi
shr r9, 0x15
imul rsi, r9, 0xfffffffffff0c653
add rsi, qword [rsp + 0x120]
imul rax, r9, 0xfffffffffff59083
add rax, qword [rsp + 0x118]
mov rdx, rbp
and rdx, 0xffffffffffe00000
sub rax, rdx
mov qword [rsp + 0x58], rax
imul r10, r9, 0xa2c13
imul rbp, rcx, 0x72d18
add rbp, r10
imul r10, r9, 0x72d18
imul r11, rcx, 0x9fb67
add r11, r10
imul r10, r9, 0x9fb67
imul rax, rcx, 0xfffffffffff0c653
add rax, r10
imul rdx, rcx, 0x215d1
add rdx, rsi
imul rsi, r9, 0x215d1
imul r13, rcx, 0xfffffffffff59083
add r13, rsi
add r13, qword [rsp + 0x128]
mov qword [rsp + 0x50], r15
and r15, 0xffffffffffe00000
sub r13, r15
imul rcx, rcx, 0xa2c13
imul rsi, r8, 0x72d18
add rsi, rcx
imul r9, r8, 0x9fb67
add r9, rbp
imul rbp, r8, 0xfffffffffff0c653
add rbp, r11
add rbp, qword [rsp + 0xd8]
imul rcx, r8, 0x215d1
add rcx, rax
imul r10, r8, 0xfffffffffff59083
add r10, rdx
mov rax, qword [rsp + 0x40]
and rax, 0xffffffffffe00000
sub r10, rax
imul rax, r8, 0xa2c13
imul rdx, rdi, 0x72d18
add rdx, rax
imul rax, rdi, 0x9fb67
add rax, rsi
imul rsi, rdi, 0xfffffffffff0c653
add rsi, r9
imul r9, rdi, 0x215d1
add r9, rbp
imul r11, rdi, 0xfffffffffff59083
add r11, rcx
add r11, qword [rsp + 0x30]
mov r15, r12
and r12, 0xffffffffffe00000
sub r11, r12
imul rcx, rdi, 0xa2c13
imul rbp, rbx, 0x72d18
add rbp, rcx
imul rcx, rbx, 0x9fb67
add rcx, rdx
imul rdx, rbx, 0xfffffffffff0c653
add rdx, rax
imul r12, rbx, 0x215d1
add r12, rsi
imul rsi, rbx, 0xfffffffffff59083
add rsi, r9
mov rax, qword [rsp + 0x88]
and rax, 0xffffffffffe00000
sub rsi, rax
mov rax, qword [rsp + 0x28]
sar rax, 0x15
imul rdi, r14, 0xa2c13
add rdi, rax
add rdi, qword [rsp + 0xe0]
mov rax, qword [rsp + 0x70]
and rax, 0xffffffffffe00000
sub rdi, rax
mov qword [rsp + 0x30], rdi
imul rax, rbx, 0xa2c13
imul rdi, r14, 0x72d18
add rdi, rax
add rdi, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xe8]
mov rax, rbx
and rbx, 0xffffffffffe00000
sub rdi, rbx
imul r9, r14, 0x9fb67
add r9, rbp
sar rax, 0x15
add r9, rax
add r9, qword [rsp + 0xc8]
mov rax, qword [rsp + 0x48]
and rax, 0xffffffffffe00000
sub r9, rax
mov qword [rsp + 0x40], r9
imul rbp, r14, 0xfffffffffff0c653
add rbp, rcx
add rbp, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
mov rax, rcx
and rcx, 0xffffffffffe00000
sub rbp, rcx
imul rbx, r14, 0x215d1
add rbx, rdx
add rbx, qword [rsp + 0xb0]
sar rax, 0x15
add rbx, rax
mov rax, qword [rsp + 0x68]
and rax, 0xffffffffffe00000
sub rbx, rax
imul r8, r14, 0xfffffffffff59083
add r8, r12
add r8, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xd0]
mov rcx, rdx
and rdx, 0xffffffffffe00000
sub r8, rdx
sar rcx, 0x15
lea r14, [rsi + rcx]
lea rdx, [rsi + rcx]
add rdx, 0x100000
mov rcx, rdx
and rdx, 0xffffffffffe00000
sub r14, rdx
sar r15, 0x15
lea rdx, [r10 + r15]
lea rsi, [r10 + r15]
add rsi, 0x100000
mov r12, rsi
and rsi, 0xffffffffffe00000
sub rdx, rsi
mov rsi, qword [rsp + 0x50]
sar rsi, 0x15
mov r10, qword [rsp + 0x58]
lea r15, [r10 + rsi]
add r10, rsi
add r10, 0x100000
mov rsi, r10
sar rsi, 0x15
add rsi, qword [rsp + 0x60]
and r10, 0xffffffffffe00000
sub r15, r10
mov rax, qword [rsp + 0x30]
lea r10, [rax + 0x100000]
mov qword [rsp + 0x50], r10
sar r10, 0x15
lea rax, [rdi + r10]
mov qword [rsp + 0xa0], rax
lea rax, [rdi + r10]
add rax, 0x100000
mov qword [rsp + 0x60], rax
lea rdi, [r9 + 0x100000]
mov qword [rsp + 0x48], rdi
sar rdi, 0x15
lea rax, [rdi + rbp]
mov qword [rsp + 0x70], rax
lea rax, [rdi + rbp]
add rax, 0x100000
mov qword [rsp + 0x88], rax
lea r10, [rbx + 0x100000]
mov rbp, r10
sar rbp, 0x15
lea rdi, [r8 + rbp]
lea rax, [r8 + rbp]
add rax, 0x100000
mov r9, rax
sar r9, 0x15
add r9, r14
and rax, 0xffffffffffe00000
sub rdi, rax
mov qword [rsp + 0x68], rdi
sar rcx, 0x15
lea rdi, [r11 + rcx]
lea rax, [r11 + rcx]
add rax, 0x100000
mov r14, rax
sar r14, 0x15
add r14, rdx
and rax, 0xffffffffffe00000
sub rdi, rax
mov qword [rsp + 0x58], rdi
sar r12, 0x15
lea r11, [r12 + r13]
lea rax, [r12 + r13]
add rax, 0x100000
mov rdx, rax
sar rdx, 0x15
add rdx, r15
and rax, 0xffffffffffe00000
sub r11, rax
imul rax, rsi, 0xa2c13
add rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x28]
and rcx, 0xffffffffffe00000
sub rax, rcx
mov rbp, qword [rsp + 0x88]
mov r8, rbp
sar r8, 0x15
imul rcx, rsi, 0xfffffffffff59083
add rcx, r8
add rcx, rbx
and r10, 0xffffffffffe00000
sub rcx, r10
mov qword [rsp + 0x38], rcx
imul rbx, rdx, 0xa2c13
add rbx, qword [rsp + 0x98]
imul r10, rdx, 0x72d18
add r10, rax
imul rax, rsi, 0x72d18
imul r13, rdx, 0x9fb67
add r13, rax
imul rdi, rsi, 0x9fb67
imul rax, rdx, 0xfffffffffff0c653
add rax, rdi
imul rdi, rsi, 0xfffffffffff0c653
imul rcx, rdx, 0x215d1
add rcx, rdi
imul rdi, rsi, 0x215d1
imul r12, rdx, 0xfffffffffff59083
add r12, rdi
add r12, qword [rsp + 0x70]
mov rdx, rbp
and rdx, 0xffffffffffe00000
sub r12, rdx
imul r8, r11, 0xa2c13
add r8, qword [rsp + 0x90]
imul rbp, r11, 0x72d18
add rbp, rbx
imul rbx, r11, 0x9fb67
add rbx, r10
imul rsi, r11, 0xfffffffffff0c653
add rsi, r13
imul r10, r11, 0x215d1
add r10, rax
add r10, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x60]
mov rax, rdx
and rdx, 0xffffffffffe00000
sub r10, rdx
imul r13, r11, 0xfffffffffff59083
add r13, rcx
sar rax, 0x15
add r13, rax
add r13, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
and rax, 0xffffffffffe00000
sub r13, rax
add rsi, qword [rsp + 0x30]
mov rax, qword [rsp + 0x50]
and rax, 0xffffffffffe00000
sub rsi, rax
imul rax, r14, 0x215d1
add rsi, rax
imul r11, r9, 0x72d18
add r11, qword [rsp + 0x78]
imul rdx, r9, 0x9fb67
add rdx, qword [rsp + 0x80]
imul rax, r14, 0xa2c13
add rdx, rax
imul rdi, r9, 0xfffffffffff0c653
add rdi, r8
imul rax, r14, 0x72d18
add rdi, rax
imul rcx, r9, 0x215d1
add rcx, rbp
imul rax, r14, 0x9fb67
add rcx, rax
imul rax, r9, 0xfffffffffff59083
add rax, rbx
imul rbp, r14, 0xfffffffffff0c653
add rax, rbp
imul rbp, r9, 0xa2c13
mov rbx, qword [rsp + 0xb8]
lea r15, [rbx + rbp]
add rbp, rbx
add rbp, 0x100000
mov r9, qword [rsp + 0x58]
imul rbx, r9, 0xa2c13
add r11, rbx
mov r8, rbp
and rbp, 0xffffffffffe00000
sub r15, rbp
mov qword [rsp + 0x78], r15
imul rbp, r9, 0x72d18
lea rbx, [rdx + rbp]
mov qword [rsp + 0x80], rbx
lea rbx, [rdx + rbp]
add rbx, 0x100000
imul rdx, r9, 0x9fb67
add rdi, rdx
imul rdx, r9, 0xfffffffffff0c653
lea rbp, [rcx + rdx]
mov qword [rsp + 0x50], rbp
add rcx, rdx
add rcx, 0x100000
mov qword [rsp + 0x90], rcx
imul rcx, r9, 0x215d1
add rax, rcx
imul rcx, r9, 0xfffffffffff59083
lea r15, [rsi + rcx]
lea rdx, [rcx + rsi]
add rdx, 0x100000
imul r9, r14, 0xfffffffffff59083
add r9, r10
mov rcx, rdx
and rdx, 0xffffffffffe00000
sub r15, rdx
lea rdx, [r13 + 0x100000]
mov rsi, rdx
and rdx, 0xffffffffffe00000
sub r13, rdx
sar r8, 0x15
lea r14, [r11 + r8]
add r8, r11
add r8, 0x100000
mov rdx, rbx
sar rdx, 0x15
lea rbp, [rdi + rdx]
mov qword [rsp + 0x48], rbp
lea r10, [rdx + rdi]
add r10, 0x100000
mov rbp, qword [rsp + 0x90]
mov rdx, rbp
sar rdx, 0x15
lea rdi, [rax + rdx]
mov qword [rsp + 0x40], rdi
lea rdi, [rdx + rax]
add rdi, 0x100000
mov rax, rdi
sar rax, 0x15
add rax, r15
sar rcx, 0x15
lea r15, [r9 + rcx]
add rcx, r9
add rcx, 0x100000
mov r9, rcx
sar r9, 0x15
add r9, r13
and rcx, 0xffffffffffe00000
sub r15, rcx
sar rsi, 0x15
lea rdx, [r12 + rsi]
lea rcx, [r12 + rsi]
add rcx, 0x100000
mov qword [rsp + 0x28], rcx
and rcx, 0xffffffffffe00000
sub rdx, rcx
mov qword [rsp + 0x58], rdx
mov rcx, qword [rsp + 0x38]
lea r12, [rcx + 0x100000]
mov rcx, r12
sar rcx, 0x15
mov rsi, qword [rsp + 0x68]
lea rdx, [rsi + rcx]
add rcx, rsi
add rcx, 0x100000
mov rsi, rcx
and rcx, 0xffffffffffe00000
sub rdx, rcx
mov qword [rsp + 0x30], rdx
sar rsi, 0x15
imul r11, rsi, 0xa2c13
add r11, qword [rsp + 0x78]
imul r13, rsi, 0x72d18
add r13, r14
mov rcx, r8
and r8, 0xffffffffffe00000
sub r13, r8
imul rdx, rsi, 0x9fb67
add rdx, qword [rsp + 0x80]
and rbx, 0xffffffffffe00000
sub rdx, rbx
sar rcx, 0x15
add rdx, rcx
imul r8, rsi, 0xfffffffffff0c653
add r8, qword [rsp + 0x48]
mov rcx, r10
and r10, 0xffffffffffe00000
sub r8, r10
imul rbx, rsi, 0x215d1
add rbx, qword [rsp + 0x50]
and rbp, 0xffffffffffe00000
sub rbx, rbp
sar rcx, 0x15
add rbx, rcx
imul rbp, rsi, 0xfffffffffff59083
add rbp, qword [rsp + 0x40]
and rdi, 0xffffffffffe00000
sub rbp, rdi
mov r10, r11
sar r10, 0x15
add r10, r13
mov rsi, r10
sar rsi, 0x15
add rsi, rdx
mov rdx, rsi
sar rdx, 0x15
add rdx, r8
mov rcx, rdx
sar rcx, 0x15
add rcx, rbx
mov rdi, rcx
sar rdi, 0x15
add rdi, rbp
mov r13, rdi
sar r13, 0x15
add r13, rax
mov rbx, r13
sar rbx, 0x15
add rbx, r15
mov r8, rbx
sar r8, 0x15
add r8, r9
mov r15, r8
sar r15, 0x15
add r15, qword [rsp + 0x58]
and r12, 0xffffffffffe00000
mov rbp, qword [rsp + 0x28]
sar rbp, 0x15
and r11d, 0x1fffff
and r10d, 0x1fffff
and esi, 0x1fffff
and edx, 0x1fffff
and ecx, 0x1fffff
and edi, 0x1fffff
and r13d, 0x1fffff
and ebx, 0x1fffff
and r8d, 0x1fffff
add rbp, qword [rsp + 0x38]
mov rax, r15
sar rax, 0x15
sub rbp, r12
add rbp, rax
and r15d, 0x1fffff
mov r14, rbp
sar r14, 0x15
add r14, qword [rsp + 0x30]
and ebp, 0x1fffff
mov qword [rsp + 0x28], rbp
mov rbp, r14
sar rbp, 0x15
and r14d, 0x1fffff
imul rax, rbp, 0xa2c13
add rax, r11
imul r9, rbp, 0x72d18
add r9, r10
imul r10, rbp, 0x9fb67
add r10, rsi
imul r11, rbp, 0xfffffffffff0c653
add r11, rdx
imul r12, rbp, 0x215d1
add r12, rcx
imul rbp, rbp, 0xfffffffffff59083
add rbp, rdi
mov rdx, rax
sar rdx, 0x15
add rdx, r9
mov rdi, rdx
sar rdi, 0x15
add rdi, r10
mov r9d, edx
and r9d, 0x1fffff
mov rsi, rdi
sar rsi, 0x15
add rsi, r11
mov rcx, rsi
sar rcx, 0x15
add rcx, r12
mov r10, rcx
sar r10, 0x15
add r10, rbp
mov r12, r10
sar r12, 0x15
add r12, r13
mov r11, r12
sar r11, 0x15
add r11, rbx
mov rbx, r11
sar rbx, 0x15
add rbx, r8
mov r13, rbx
sar r13, 0x15
add r13, r15
mov r8, r13
sar r8, 0x15
add r8, qword [rsp + 0x28]
mov r15, r8
sar r15, 0x15
add r15, r14
mov rbp, qword [rsp + 0x198]
mov byte [rbp + 0x20], al
mov byte [rbp + 0x21], ah
mov r14, rbp
shr eax, 0x10
and eax, 0x1f
mov ebp, r9d
shl ebp, 5
or ebp, eax
mov byte [r14 + 0x22], bpl
mov rax, rdx
shr rax, 3
mov rbp, r14
mov byte [r14 + 0x23], al
shr rdx, 0xb
mov byte [r14 + 0x24], dl
mov eax, edi
and eax, 0x1fffff
shr r9d, 0x13
lea edx, [r9 + rax*4]
mov byte [rbp + 0x25], dl
mov edx, esi
and edx, 0x1fffff
shr rdi, 6
mov byte [rbp + 0x26], dil
mov rdi, rbp
mov ebp, edx
shl ebp, 7
shr eax, 0xe
or eax, ebp
mov byte [rdi + 0x27], al
mov rax, rsi
shr rax, 1
mov byte [rdi + 0x28], al
mov eax, ecx
and eax, 0x1fffff
shr rsi, 9
mov byte [rdi + 0x29], sil
mov ebp, eax
shl ebp, 4
shr edx, 0x11
or edx, ebp
mov byte [rdi + 0x2a], dl
mov rdx, rcx
shr rdx, 4
mov byte [rdi + 0x2b], dl
shr rcx, 0xc
mov byte [rdi + 0x2c], cl
mov ecx, r10d
and ecx, 0x1fffff
shr eax, 0x14
lea eax, [rax + rcx*2]
mov byte [rdi + 0x2d], al
mov eax, r12d
and eax, 0x1fffff
shr r10, 7
mov byte [rdi + 0x2e], r10b
mov edx, eax
shl edx, 6
shr ecx, 0xf
or ecx, edx
mov rdx, rdi
mov byte [rdi + 0x2f], cl
mov rcx, r12
shr rcx, 2
mov byte [rdi + 0x30], cl
shr r12, 0xa
mov byte [rdi + 0x31], r12b
shr eax, 0x12
lea eax, [rax + r11*8]
mov byte [rdx + 0x32], al
mov rax, r11
shr rax, 5
mov byte [rdx + 0x33], al
mov eax, r13d
and eax, 0x1fffff
shr r11, 0xd
mov byte [rdx + 0x34], r11b
mov byte [rdx + 0x35], bl
mov byte [rdx + 0x36], bh
shr ebx, 0x10
and ebx, 0x1f
mov ecx, eax
shl ecx, 5
or ecx, ebx
mov byte [rdx + 0x37], cl
mov rcx, r13
shr rcx, 3
mov byte [rdx + 0x38], cl
shr r13, 0xb
mov byte [rdx + 0x39], r13b
mov ecx, r8d
and ecx, 0x1fffff
shr eax, 0x13
lea eax, [rax + rcx*4]
mov byte [rdx + 0x3a], al
shr r8, 6
mov byte [rdx + 0x3b], r8b
mov eax, r15d
shl eax, 7
shr ecx, 0xe
or ecx, eax
mov byte [rdx + 0x3c], cl
mov rax, r15
shr rax, 1
mov byte [rdx + 0x3d], al
mov rax, r15
shr rax, 9
mov byte [rdx + 0x3e], al
shr r15, 0x11
mov byte [rdx + 0x3f], r15b
mov rcx, qword [rsp + 0x450]
xor rcx, rsp
call fcn.1400d8ee0
mov eax, 1
add rsp, 0x458
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret