Function at 0x1400d8290
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, 0x3c8
movaps xmmword [rsp + 0x3b0], xmm6
mov r13, r9
mov r15, r8
mov r12, rdx
mov r14, rcx
mov rax, qword [0x14016c028]
xor rax, rsp
mov qword [rsp + 0x3a8], rax
movaps xmm6, xmmword [0x140146a10]
lea rsi, [rsp + 0x380]
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
movaps xmmword [rsi - 0x10], xmm6
movaps xmmword [rsi - 0x20], xmm6
lea rdi, [rsp + 0x360]
mov edx, 0x20
mov rcx, r9
mov r8, rdi
call fcn.1400be5b0
and byte [rdi], 0xf8
mov al, byte [rdi + 0x1f]
and al, 0x3f
or al, 0x40
mov byte [rdi + 0x1f], al
lea rbp, [rsp + 0x288]
mov r8d, 0xd8
mov rcx, rbp
mov dl, 0xaa
call fcn.140110bf0
mov rcx, rbp
call fcn.14006a500
mov r8d, 0x20
mov rcx, rbp
mov rdx, rsi
call fcn.140056ae0
mov rcx, rbp
mov rdx, r12
mov r8, r15
call fcn.140056ae0
lea rbx, [rsp + 0x240]
movaps xmmword [rbx + 0x30], xmm6
movaps xmmword [rbx + 0x20], xmm6
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
mov rcx, rbx
mov rdx, rbp
call fcn.140056e30
mov rcx, rbx
call fcn.14006c1f0
lea rsi, [rsp + 0x1a0]
mov r8d, 0xa0
mov rcx, rsi
mov dl, 0xaa
call fcn.140110bf0
mov rcx, rsi
mov rdx, rbx
call fcn.14002baa0
mov qword [rsp + 0x158], r14
mov rcx, r14
mov rdx, rsi
call fcn.14006b8d0
mov rcx, rbp
call fcn.14006a500
mov r8d, 0x20
mov rcx, rbp
mov rdx, r14
call fcn.140056ae0
lea rdx, [r13 + 0x20]
mov r8d, 0x20
mov rcx, rbp
call fcn.140056ae0
mov rcx, rbp
mov rdx, r12
mov r8, r15
call fcn.140056ae0
lea rsi, [rsp + 0x160]
movaps xmmword [rsi + 0x30], xmm6
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
mov rcx, rsi
mov rdx, rbp
call fcn.140056e30
mov rcx, rsi
call fcn.14006c1f0
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 + 0xd0], 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
shl ecx, 0x18
or ecx, eax
mov qword [rsp + 0x80], rcx
movzx eax, byte [rsi + 7]
movzx ecx, byte [rsi + 8]
shl ecx, 8
or ecx, eax
shl eax, 0x10
or eax, edx
mov qword [rsp + 0x58], rax
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
shl ecx, 0x18
or ecx, eax
mov qword [rsp + 0x40], rcx
movzx eax, byte [rsi + 0xf]
movzx ecx, byte [rsi + 0x10]
shl ecx, 8
or ecx, eax
shl eax, 0x10
or eax, edx
mov qword [rsp + 0x30], rax
movzx eax, byte [rsi + 0x11]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [rsi + 0x12]
mov ebp, 0xff
mov rdx, rcx
and rdx, rbp
mov ebx, 0xff
shl ecx, 0x18
or ecx, eax
mov qword [rsp + 0x60], rcx
movzx eax, byte [rsi + 0x13]
shl rax, 8
or rax, rdx
movzx ecx, byte [rsi + 0x14]
shl rcx, 0x10
or rcx, rax
mov qword [rsp + 0x70], rcx
movzx eax, byte [rsi + 0x17]
movzx edx, byte [rsi + 0x18]
shl edx, 8
or edx, eax
mov ecx, eax
and ecx, 0x1f
shl rcx, 0x10
movzx eax, word [rsi + 0x15]
or rcx, rax
mov qword [rsp + 0xc0], rcx
movzx eax, byte [rsi + 0x19]
shl eax, 0x10
or eax, edx
movzx edx, byte [rsi + 0x1b]
shl edx, 8
movzx ebp, byte [rsi + 0x1a]
or edx, ebp
mov ecx, ebp
shl ecx, 0x18
or ecx, eax
mov qword [rsp + 0x38], rcx
movzx eax, byte [rsi + 0x1d]
shl rax, 8
movzx ebp, byte [rsi + 0x1c]
or rax, rbp
shl ebp, 0x10
or ebp, edx
mov qword [rsp + 0xd8], rbp
movzx edx, byte [rsi + 0x1e]
shl rdx, 0x10
or rdx, rax
movzx eax, byte [rsi + 0x1f]
shl rax, 0x18
or rax, rdx
mov qword [rsp + 0xe0], rax
movzx eax, byte [rdi + 3]
shl eax, 8
movzx r11d, byte [rdi + 2]
or eax, r11d
and r11d, 0x1f
shl r11, 0x10
movzx edx, word [rdi]
or r11, rdx
mov qword [rsp + 0x98], r11
movzx edx, byte [rdi + 4]
shl edx, 0x10
or edx, eax
movzx eax, byte [rdi + 6]
shl eax, 8
movzx ebp, byte [rdi + 5]
or eax, ebp
mov ecx, ebp
shl ecx, 0x18
or ecx, edx
mov qword [rsp + 0xb0], rcx
movzx edx, byte [rdi + 8]
shl edx, 8
movzx ebp, byte [rdi + 7]
or edx, ebp
mov r13d, ebp
shl r13d, 0x10
or r13d, eax
movzx eax, byte [rdi + 9]
shl eax, 0x10
or eax, edx
movzx edx, byte [rdi + 0xb]
shl edx, 8
movzx ebp, byte [rdi + 0xa]
or edx, ebp
mov ecx, ebp
shl ecx, 0x18
or ecx, eax
mov qword [rsp + 0x48], rcx
movzx eax, byte [rdi + 0xc]
shl eax, 0x10
or eax, edx
movzx edx, byte [rdi + 0xe]
shl edx, 8
movzx ebp, byte [rdi + 0xd]
or edx, ebp
mov ecx, ebp
shl ecx, 0x18
or ecx, eax
mov qword [rsp + 0x78], rcx
movzx eax, byte [rdi + 0x10]
shl eax, 8
movzx esi, byte [rdi + 0xf]
or eax, esi
mov ecx, esi
shl ecx, 0x10
or ecx, edx
mov qword [rsp + 0x28], rcx
movzx edx, byte [rdi + 0x11]
shl edx, 0x10
or edx, eax
movzx ecx, byte [rdi + 0x12]
mov rax, rcx
shl ecx, 0x18
or ecx, edx
mov qword [rsp + 0x88], rcx
and rax, rbx
movzx edx, byte [rdi + 0x13]
shl rdx, 8
or rdx, rax
movzx eax, byte [rdi + 0x14]
shl rax, 0x10
or rax, rdx
mov qword [rsp + 0x90], rax
movzx eax, byte [rdi + 0x18]
shl eax, 8
movzx edx, byte [rdi + 0x17]
or eax, edx
mov ecx, edx
and ecx, 0x1f
shl rcx, 0x10
movzx edx, word [rdi + 0x15]
or rcx, rdx
mov qword [rsp + 0xa8], rcx
movzx edx, byte [rdi + 0x19]
shl edx, 0x10
or edx, eax
movzx eax, byte [rdi + 0x1b]
shl eax, 8
movzx esi, byte [rdi + 0x1a]
or eax, esi
mov ecx, esi
shl ecx, 0x18
or ecx, edx
mov qword [rsp + 0xc8], rcx
movzx edx, byte [rdi + 0x1d]
shl rdx, 8
movzx esi, byte [rdi + 0x1c]
or rdx, rsi
shl esi, 0x10
or esi, eax
mov qword [rsp + 0xa0], rsi
movzx eax, byte [rdi + 0x1e]
shl rax, 0x10
or rax, rdx
movzx ecx, byte [rdi + 0x1f]
shl rcx, 0x18
or rcx, rax
mov qword [rsp + 0xb8], rcx
lea r15, [rsp + 0x240]
movzx eax, byte [r15 + 3]
shl eax, 8
movzx r8d, byte [r15 + 2]
or eax, r8d
mov r9d, r8d
and r9d, 0x1f
shl r9, 0x10
movzx edx, word [r15]
or r9, rdx
movzx edx, byte [r15 + 4]
shl edx, 0x10
or edx, eax
movzx eax, byte [r15 + 6]
shl eax, 8
movzx edi, byte [r15 + 5]
or eax, edi
mov ecx, edi
shl ecx, 0x18
or ecx, edx
mov qword [rsp + 0x108], rcx
movzx edx, byte [r15 + 8]
shl edx, 8
movzx edi, byte [r15 + 7]
or edx, edi
mov r14d, edi
shl r14d, 0x10
or r14d, eax
movzx eax, byte [r15 + 9]
shl eax, 0x10
or eax, edx
movzx edx, byte [r15 + 0xb]
shl edx, 8
movzx edi, byte [r15 + 0xa]
or edx, edi
shl edi, 0x18
or edi, eax
movzx ecx, byte [r15 + 0xc]
shl ecx, 0x10
or ecx, edx
movzx ebp, byte [r15 + 0xe]
shl ebp, 8
movzx eax, byte [r15 + 0xd]
mov rdx, r15
or ebp, eax
mov r15d, eax
shl r15d, 0x18
or r15d, ecx
mov rax, rdx
movzx ecx, byte [rdx + 0x10]
shl ecx, 8
movzx edx, byte [rdx + 0xf]
or ecx, edx
mov r12d, edx
shl r12d, 0x10
or r12d, ebp
movzx ebp, byte [rax + 0x11]
shl ebp, 0x10
or ebp, ecx
movzx ecx, byte [rax + 0x12]
mov rdx, rax
and rbx, rcx
shl ecx, 0x18
or ecx, ebp
mov qword [rsp + 0xf8], rcx
movzx ecx, byte [rax + 0x13]
shl rcx, 8
or rcx, rbx
movzx eax, byte [rax + 0x14]
shl rax, 0x10
or rax, rcx
mov qword [rsp + 0x100], rax
movzx ecx, byte [rdx + 0x18]
shl ecx, 8
movzx eax, byte [rdx + 0x17]
mov qword [rsp + 0xf0], rax
or ecx, eax
movzx ebp, byte [rdx + 0x19]
shl ebp, 0x10
or ebp, ecx
movzx ecx, byte [rdx + 0x1b]
shl ecx, 8
movzx eax, byte [rdx + 0x1a]
or ecx, eax
shl eax, 0x18
or eax, ebp
mov qword [rsp + 0x150], rax
movzx eax, byte [rdx + 0x1d]
shl rax, 8
movzx ebp, byte [rdx + 0x1c]
or rax, rbp
shl ebp, 0x10
or ebp, ecx
mov qword [rsp + 0xe8], rbp
movzx ecx, byte [rdx + 0x1e]
shl rcx, 0x10
or rcx, rax
movzx eax, byte [rdx + 0x1f]
shl rax, 0x18
or rax, rcx
mov qword [rsp + 0x130], rax
mov r8, qword [rsp + 0x98]
mov rax, r8
mov rbp, qword [rsp + 0xd0]
imul rax, rbp
add rax, r9
mov qword [rsp + 0x110], rax
mov rdx, qword [rsp + 0x80]
shr edx, 5
mov r9d, 0x1fffff
and edx, r9d
mov r11, qword [rsp + 0xb0]
shr r11d, 5
and r11d, r9d
mov rax, r11
imul rax, rbp
mov rbx, r8
imul rbx, rdx
add rbx, rax
mov qword [rsp + 0x148], rbx
mov r10, qword [rsp + 0x58]
shr r10d, 2
and r10d, r9d
mov rax, r11
imul rax, rdx
mov rbx, rdx
mov rcx, r8
mov qword [rsp + 0x58], r10
imul rcx, r10
add rcx, rax
mov rsi, r13
shr esi, 2
and esi, r9d
mov rax, rsi
imul rax, rbp
add rcx, rax
shr r14d, 2
and r14d, r9d
add rcx, r14
mov qword [rsp + 0x120], rcx
mov r13, qword [rsp + 0x68]
shr r13d, 7
and r13d, r9d
mov rax, r11
mov r14, r11
imul rax, r10
mov rcx, r8
mov r10, r8
imul rcx, r13
mov r8, r13
add rcx, rax
mov rax, rsi
imul rax, rbx
add rcx, rax
mov r13, qword [rsp + 0x48]
shr r13d, 7
and r13d, r9d
mov rax, r13
imul rax, rbp
add rcx, rax
shr edi, 7
and edi, r9d
add rcx, rdi
mov qword [rsp + 0x140], rcx
mov rax, qword [rsp + 0x40]
shr eax, 4
and eax, r9d
mov rdx, rax
mov r9d, 0x1fffff
mov rax, r11
mov qword [rsp + 0x68], r8
imul rax, r8
mov r11, r10
mov rcx, r10
imul rcx, rdx
add rcx, rax
mov rdi, rsi
mov qword [rsp + 0x50], rsi
mov rax, rsi
mov r10, qword [rsp + 0x58]
imul rax, r10
add rcx, rax
mov rax, r13
imul rax, rbx
add rcx, rax
mov rax, qword [rsp + 0x78]
shr eax, 4
and eax, r9d
mov qword [rsp + 0x78], rax
imul rax, rbp
add rcx, rax
shr r15d, 4
mov eax, 0x1fffff
and r15d, eax
add rcx, r15
mov qword [rsp + 0x118], rcx
mov r9, qword [rsp + 0x30]
shr r9d, 1
and r9d, eax
mov ecx, 0x1fffff
mov rax, r14
mov rsi, rdx
mov qword [rsp + 0x40], rdx
imul rax, rdx
mov rdx, r11
imul rdx, r9
add rdx, rax
mov rax, rdi
imul rax, r8
add rdx, rax
mov rax, r13
imul rax, r10
add rdx, rax
mov r15, qword [rsp + 0x78]
mov rax, r15
imul rax, rbx
add rdx, rax
mov rax, qword [rsp + 0x28]
shr eax, 1
and eax, ecx
mov qword [rsp + 0x28], rax
imul rax, rbp
add rdx, rax
shr r12d, 1
mov eax, 0x1fffff
and r12d, eax
add rdx, r12
mov qword [rsp + 0x138], rdx
mov r8, qword [rsp + 0x60]
shr r8d, 6
and r8d, eax
mov qword [rsp + 0x60], r8
mov rdi, r14
mov qword [rsp + 0xb0], r14
mov rax, r14
mov r14, r9
mov qword [rsp + 0x30], r9
imul rax, r9
mov rcx, r11
mov r9, r11
imul rcx, r8
add rcx, rax
mov rdx, qword [rsp + 0x50]
mov rax, rdx
imul rax, rsi
add rcx, rax
mov rax, r13
mov r11, qword [rsp + 0x68]
imul rax, r11
add rcx, rax
mov rax, r15
imul rax, r10
add rcx, rax
mov rsi, qword [rsp + 0x28]
mov rax, rsi
imul rax, rbx
add rcx, rax
mov r12, qword [rsp + 0x88]
shr r12d, 6
mov r8d, 0x1fffff
and r12d, r8d
mov rax, r12
imul rax, rbp
mov r10, rbp
add rcx, rax
mov rax, qword [rsp + 0xf8]
shr eax, 6
and eax, r8d
add rcx, rax
mov qword [rsp + 0xf8], rcx
mov rcx, qword [rsp + 0x70]
shr rcx, 3
mov qword [rsp + 0x70], rcx
mov rax, rdi
mov r8, qword [rsp + 0x60]
imul rax, r8
mov rbp, r9
imul rbp, rcx
add rbp, rax
imul rdx, r14
add rbp, rdx
mov qword [rsp + 0x48], r13
mov rax, r13
mov rdx, qword [rsp + 0x40]
imul rax, rdx
add rbp, rax
mov rax, r15
imul rax, r11
add rbp, rax
mov rax, rsi
mov r11, qword [rsp + 0x58]
imul rax, r11
add rbp, rax
mov rax, r12
mov qword [rsp + 0x80], rbx
imul rax, rbx
add rbp, rax
mov rcx, qword [rsp + 0x90]
shr rcx, 3
mov rax, rcx
mov r14, rcx
imul rax, r10
add rbp, rax
mov rax, qword [rsp + 0x100]
shr rax, 3
add rbp, rax
mov qword [rsp + 0x100], rbp
mov rsi, qword [rsp + 0xb0]
mov rax, rsi
imul rax, qword [rsp + 0x70]
mov rdi, r9
mov rcx, qword [rsp + 0xc0]
imul rdi, rcx
add rdi, rax
mov rax, qword [rsp + 0x50]
imul rax, r8
add rdi, rax
imul r13, qword [rsp + 0x30]
add rdi, r13
mov r8, r15
mov rax, r15
imul rax, rdx
add rdi, rax
mov rdx, qword [rsp + 0x28]
mov rax, rdx
imul rax, qword [rsp + 0x68]
add rdi, rax
mov rax, r12
imul rax, r11
add rdi, rax
mov rax, r14
mov rbp, r14
imul rax, rbx
add rdi, rax
mov r11, qword [rsp + 0xa8]
mov rax, r11
imul rax, r10
add rdi, rax
lea rax, [rsp + 0x240]
movzx eax, word [rax + 0x15]
add rdi, rax
mov rax, qword [rsp + 0xf0]
and eax, 0x1f
shl rax, 0x10
add rdi, rax
mov qword [rsp + 0xf0], rdi
mov r14, qword [rsp + 0x38]
shr r14d, 5
mov eax, 0x1fffff
and r14d, eax
mov rdi, rsi
mov rax, rsi
imul rax, rcx
mov rsi, r9
mov r13, r9
imul rsi, r14
mov qword [rsp + 0x38], r14
add rsi, rax
mov rbx, qword [rsp + 0x50]
mov rax, rbx
mov r15, qword [rsp + 0x70]
imul rax, r15
add rsi, rax
mov rax, qword [rsp + 0x48]
imul rax, qword [rsp + 0x60]
add rsi, rax
mov rax, r8
mov r8, qword [rsp + 0x30]
imul rax, r8
add rsi, rax
mov rax, rdx
imul rax, qword [rsp + 0x40]
add rsi, rax
mov rax, r12
mov qword [rsp + 0x88], r12
imul rax, qword [rsp + 0x68]
add rsi, rax
mov rax, rbp
mov qword [rsp + 0x90], rbp
mov rcx, qword [rsp + 0x58]
imul rax, rcx
add rsi, rax
mov rax, r11
imul rax, qword [rsp + 0x80]
add rsi, rax
mov rax, qword [rsp + 0xc8]
shr eax, 5
mov r9d, 0x1fffff
and eax, r9d
mov qword [rsp + 0xc8], rax
imul rax, qword [rsp + 0xd0]
add rsi, rax
mov qword [rsp + 0x128], rsi
mov rdx, qword [rsp + 0xd8]
shr edx, 2
and edx, r9d
mov rax, rdi
mov rsi, rdi
imul rax, r14
mov rdi, r13
imul rdi, rdx
mov r13, rdx
add rdi, rax
mov rax, rbx
mov r9, qword [rsp + 0xc0]
imul rax, r9
add rdi, rax
mov rbx, qword [rsp + 0x48]
mov rax, rbx
imul rax, r15
add rdi, rax
mov rdx, qword [rsp + 0x78]
mov rax, rdx
imul rax, qword [rsp + 0x60]
add rdi, rax
mov r10, qword [rsp + 0x28]
mov rax, r10
imul rax, r8
add rdi, rax
mov rax, r12
mov r12, qword [rsp + 0x40]
imul rax, r12
add rdi, rax
imul rbp, qword [rsp + 0x68]
add rdi, rbp
mov rax, r11
imul rax, rcx
add rdi, rax
mov rbp, qword [rsp + 0xc8]
mov rax, rbp
imul rax, qword [rsp + 0x80]
add rdi, rax
mov rax, qword [rsp + 0xa0]
shr eax, 2
mov r8d, 0x1fffff
and eax, r8d
mov qword [rsp + 0xa0], rax
imul rax, qword [rsp + 0xd0]
add rdi, rax
mov rax, qword [rsp + 0xe8]
shr eax, 2
and eax, r8d
add rdi, rax
mov qword [rsp + 0xe8], rdi
mov rdi, qword [rsp + 0xe0]
shr rdi, 7
mov qword [rsp + 0xe0], rdi
mov r15, rsi
mov rax, rsi
mov qword [rsp + 0xd8], r13
imul rax, r13
mov rcx, qword [rsp + 0x98]
imul rcx, rdi
add rcx, rax
mov rsi, qword [rsp + 0x50]
mov rax, rsi
imul rax, qword [rsp + 0x38]
add rcx, rax
mov rax, rbx
imul rax, r9
add rcx, rax
mov r9, qword [rsp + 0x70]
imul rdx, r9
add rcx, rdx
mov rdi, qword [rsp + 0x60]
imul r10, rdi
add rcx, r10
mov rax, qword [rsp + 0x88]
mov r14, qword [rsp + 0x30]
imul rax, r14
add rcx, rax
mov rax, qword [rsp + 0x90]
imul rax, r12
add rcx, rax
mov rax, r11
mov rbx, qword [rsp + 0x68]
imul rax, rbx
add rcx, rax
mov rax, rbp
mov r11, qword [rsp + 0x58]
imul rax, r11
add rcx, rax
mov r12, qword [rsp + 0xa0]
mov rax, r12
imul rax, qword [rsp + 0x80]
add rcx, rax
mov rax, qword [rsp + 0xb8]
shr rax, 7
mov qword [rsp + 0xb8], rax
mov rdx, qword [rsp + 0xd0]
imul rdx, rax
add rcx, rdx
mov rax, qword [rsp + 0x130]
shr rax, 7
add rcx, rax
mov qword [rsp + 0x98], rcx
imul rsi, r13
mov rcx, r15
mov r15, qword [rsp + 0xe0]
imul rcx, r15
add rcx, rsi
mov rdx, qword [rsp + 0x48]
mov rax, rdx
mov r10, qword [rsp + 0x38]
imul rax, r10
add rcx, rax
mov rax, qword [rsp + 0x78]
imul rax, qword [rsp + 0xc0]
add rcx, rax
mov r13, qword [rsp + 0x28]
mov rax, r13
imul rax, r9
add rcx, rax
mov rsi, qword [rsp + 0x88]
mov rax, rsi
imul rax, rdi
add rcx, rax
mov r9, qword [rsp + 0x90]
mov rax, r9
imul rax, r14
add rcx, rax
mov rax, qword [rsp + 0xa8]
imul rax, qword [rsp + 0x40]
add rcx, rax
mov rax, rbp
imul rax, rbx
add rcx, rax
mov rbx, r12
mov rax, r12
imul rax, r11
add rcx, rax
mov rax, qword [rsp + 0x80]
mov r8, qword [rsp + 0xb8]
imul rax, r8
add rcx, rax
mov qword [rsp + 0xb0], rcx
mov rax, rdx
mov r12, qword [rsp + 0xd8]
imul rax, r12
mov r11, qword [rsp + 0x50]
imul r11, r15
add r11, rax
mov rcx, qword [rsp + 0x78]
mov rax, rcx
imul rax, r10
add r11, rax
mov rdx, qword [rsp + 0xc0]
imul r13, rdx
add r11, r13
mov rax, rsi
mov r10, qword [rsp + 0x70]
imul rax, r10
add r11, rax
mov r14, r9
mov rax, r9
imul rax, rdi
mov r13, rdi
add r11, rax
mov rdi, qword [rsp + 0xa8]
mov rax, rdi
imul rax, qword [rsp + 0x30]
add r11, rax
mov r9, qword [rsp + 0x40]
imul rbp, r9
add r11, rbp
imul rbx, qword [rsp + 0x68]
add r11, rbx
mov rax, qword [rsp + 0x58]
imul rax, r8
mov rbx, r8
add r11, rax
mov qword [rsp + 0x50], r11
mov rax, rcx
imul rax, r12
mov rbp, qword [rsp + 0x48]
imul rbp, r15
add rbp, rax
mov rcx, qword [rsp + 0x28]
mov rax, rcx
mov r8, qword [rsp + 0x38]
imul rax, r8
add rbp, rax
mov rax, rsi
imul rax, rdx
add rbp, rax
mov rax, r14
mov rsi, r10
imul rax, r10
add rbp, rax
mov rax, rdi
mov r11, rdi
mov rdx, r13
imul rax, r13
add rbp, rax
mov r13, qword [rsp + 0xc8]
mov rax, r13
mov r10, qword [rsp + 0x30]
imul rax, r10
add rbp, rax
mov rdi, qword [rsp + 0xa0]
mov rax, rdi
imul rax, r9
add rbp, rax
mov rax, qword [rsp + 0x68]
imul rax, rbx
add rbp, rax
mov qword [rsp + 0x48], rbp
mov rax, rcx
imul rax, r12
mov rbp, qword [rsp + 0x78]
imul rbp, r15
add rbp, rax
mov r9, qword [rsp + 0x88]
mov rax, r9
imul rax, r8
add rbp, rax
mov rax, r14
mov r14, qword [rsp + 0xc0]
imul rax, r14
add rbp, rax
imul r11, rsi
add rbp, r11
mov r8, r13
mov rax, r13
imul rax, rdx
add rbp, rax
mov rax, rdi
mov r11, rdi
imul rax, r10
add rbp, rax
mov rax, qword [rsp + 0x40]
imul rax, rbx
add rbp, rax
mov qword [rsp + 0x78], rbp
mov rax, r9
mov rsi, r9
imul rax, r12
imul rcx, r15
add rcx, rax
mov rdi, qword [rsp + 0x90]
mov rax, rdi
mov r9, qword [rsp + 0x38]
imul rax, r9
add rcx, rax
mov rbp, qword [rsp + 0xa8]
mov rax, rbp
mov r13, r14
imul rax, r14
add rcx, rax
mov rax, r8
mov r10, r8
mov rdx, qword [rsp + 0x70]
imul rax, rdx
add rcx, rax
mov rax, r11
mov r8, qword [rsp + 0x60]
imul rax, r8
add rcx, rax
mov rax, qword [rsp + 0x30]
imul rax, rbx
add rcx, rax
mov qword [rsp + 0x28], rcx
mov rax, rdi
mov r14, rdi
imul rax, r12
imul rsi, r15
add rsi, rax
mov rax, rbp
imul rax, r9
add rsi, rax
mov rax, r10
imul rax, r13
add rsi, rax
mov rax, r11
imul rax, rdx
add rsi, rax
imul r8, rbx
add rsi, r8
mov rax, rbp
imul rax, r12
imul r14, r15
add r14, rax
mov rax, r10
imul rax, r9
add r14, rax
mov rax, r11
imul rax, r13
add r14, rax
mov rax, rdx
imul rax, rbx
add r14, rax
mov rax, r10
imul rax, r12
imul rbp, r15
add rbp, rax
mov rax, r11
imul rax, r9
add rbp, rax
mov rax, r13
imul rax, rbx
add rbp, rax
mov qword [rsp + 0xa8], rbp
mov rax, r11
imul rax, r12
imul r10, r15
add r10, rax
mov rax, r9
imul rax, rbx
add r10, rax
imul r12, rbx
mov rax, r15
imul r11, r15
add r11, r12
mov r15, r11
imul rbx, rax
mov qword [rsp + 0xb8], rbx
mov r8d, 0x100000
mov rdi, qword [rsp + 0x110]
lea rcx, [rdi + r8]
mov rbx, rcx
shr rbx, 0x15
add rbx, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x108]
shr edx, 5
mov ebp, 0x1fffff
and edx, ebp
add rbx, rdx
and rcx, 0xffffffffffe00000
sub rdi, rcx
mov qword [rsp + 0x110], rdi
mov rax, qword [rsp + 0x120]
add rax, r8
mov qword [rsp + 0xc0], rax
shr rax, 0x15
add rax, qword [rsp + 0x140]
mov rcx, rax
mov rax, qword [rsp + 0x118]
add rax, r8
mov qword [rsp + 0x80], rax
sar rax, 0x15
add rax, qword [rsp + 0x138]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xf8]
add rax, r8
mov qword [rsp + 0x58], rax
sar rax, 0x15
add rax, qword [rsp + 0x100]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xf0]
lea rdx, [rax + r8]
mov qword [rsp + 0x38], rdx
sar rdx, 0x15
add rdx, qword [rsp + 0x128]
mov rax, qword [rsp + 0x150]
shr eax, 5
and eax, ebp
add rdx, rax
mov qword [rsp + 0x90], rdx
mov rax, qword [rsp + 0xe8]
add rax, r8
mov qword [rsp + 0x60], rax
sar rax, 0x15
add rax, qword [rsp + 0x98]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0xb0]
add rax, r8
mov qword [rsp + 0xa0], rax
sar rax, 0x15
add rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x48]
lea r13, [rax + r8]
mov rax, r13
sar rax, 0x15
add rax, qword [rsp + 0x78]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x28]
lea rdi, [rax + r8]
mov rdx, rdi
sar rdx, 0x15
add rdx, rsi
mov r12, rdx
lea rdx, [r14 + r8]
mov r11, rdx
sar r11, 0x15
add r11, qword [rsp + 0xa8]
mov rbp, 0xffffffffffe00000
and rdx, rbp
sub r14, rdx
mov rsi, r10
lea rbp, [r10 + r8]
mov r9, rbp
shr r9, 0x15
add r9, r15
movabs rax, 0x7fffffffffe00000
and rbp, rax
sub rsi, rbp
mov r10, qword [rsp + 0xb8]
lea rdx, [r10 + r8]
mov r15, rdx
and rdx, rax
sub r10, rdx
lea rdx, [rbx + r8]
mov qword [rsp + 0x68], rdx
mov rbp, 0xffffffffffe00000
and rdx, rbp
sub rbx, rdx
mov qword [rsp + 0xa8], rbx
lea rdx, [rcx + r8]
mov qword [rsp + 0x78], rdx
and rdx, rbp
sub rcx, rdx
mov qword [rsp + 0xb8], rcx
lea rbp, [r12 + r8]
mov rdx, rbp
sar rdx, 0x15
add rdx, r14
mov rcx, 0xffffffffffe00000
and rbp, rcx
sub r12, rbp
mov qword [rsp + 0xd0], r12
lea rbp, [r11 + r8]
mov r12, rbp
sar r12, 0x15
add r12, rsi
and rbp, rcx
mov rsi, 0xffffffffffe00000
sub r11, rbp
lea rbp, [r9 + r8]
mov rbx, rbp
shr rbx, 0x15
add rbx, r10
and rbp, rax
sub r9, rbp
shr r15, 0x15
imul rcx, r15, 0xfffffffffff59083
add rcx, qword [rsp + 0x28]
and rdi, rsi
sub rcx, rdi
mov rax, qword [rsp + 0x50]
add rax, r8
mov qword [rsp + 0xc8], rax
sar rax, 0x15
add rcx, rax
mov qword [rsp + 0x28], rcx
imul rax, r15, 0xa2c13
imul rbp, rbx, 0x72d18
add rbp, rax
imul rax, rbx, 0xa2c13
imul rsi, r9, 0x72d18
add rsi, rax
imul r10, r9, 0x9fb67
add r10, rbp
imul r14, r15, 0xfffffffffff0c653
mov qword [rsp + 0x108], r15
add r14, qword [rsp + 0x48]
mov rax, 0xffffffffffe00000
and r13, rax
sub r14, r13
mov rax, qword [rsp + 0x30]
lea rbp, [rax + r8]
mov qword [rsp + 0x48], rbp
sar rbp, 0x15
add r14, rbp
imul rbp, rbx, 0x215d1
mov qword [rsp + 0xd8], rbx
add r14, rbp
imul rbp, r9, 0xfffffffffff59083
add r14, rbp
imul rax, r9, 0xa2c13
mov r13, r9
mov qword [rsp + 0xe0], r9
imul rbp, r12, 0x72d18
add rbp, rax
imul rax, r12, 0x9fb67
add rax, rsi
imul rcx, r12, 0xfffffffffff0c653
add rcx, r10
imul rsi, r12, 0xa2c13
imul r10, r11, 0x72d18
add r10, rsi
imul rsi, r11, 0x9fb67
add rsi, rbp
imul rdi, r11, 0xfffffffffff0c653
add rdi, rax
imul rax, r11, 0x215d1
add rax, rcx
mov qword [rsp + 0x98], rax
imul rax, r15, 0x72d18
add rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xa0]
mov r9, 0xffffffffffe00000
and rcx, r9
sub rax, rcx
imul rcx, rbx, 0x9fb67
add rax, rcx
imul rcx, r13, 0xfffffffffff0c653
add rax, rcx
imul rcx, r12, 0x215d1
add rax, rcx
imul rcx, r11, 0xfffffffffff59083
add rax, rcx
mov rcx, qword [rsp + 0x70]
lea rbp, [rcx + r8]
mov rcx, rbp
sar rcx, 0x15
add rax, rcx
mov rcx, qword [rsp + 0x40]
add rcx, r8
mov qword [rsp + 0xb0], rcx
sar rcx, 0x15
imul rbx, rdx, 0xa2c13
add rbx, rcx
add rbx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x58]
and rcx, r9
mov r13, 0xffffffffffe00000
sub rbx, rcx
mov qword [rsp + 0x58], rbx
imul rcx, r11, 0xa2c13
imul r9, rdx, 0x72d18
add r9, rcx
imul rbx, rdx, 0x9fb67
add rbx, r10
add rbx, qword [rsp + 0xf0]
mov r15, qword [rsp + 0x88]
lea r10, [r15 + r8]
mov rcx, r10
sar rcx, 0x15
add rbx, rcx
mov rcx, qword [rsp + 0x38]
and rcx, r13
sub rbx, rcx
mov qword [rsp + 0x38], rbx
imul r11, rdx, 0xfffffffffff0c653
add r11, rsi
imul rsi, rdx, 0x215d1
add rsi, rdi
add rsi, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0x90]
lea rdi, [rbx + r8]
mov rcx, rdi
sar rcx, 0x15
add rsi, rcx
mov rcx, qword [rsp + 0x60]
mov r13, 0xffffffffffe00000
and rcx, r13
mov r13, 0xffffffffffe00000
sub rsi, rcx
imul rdx, rdx, 0xfffffffffff59083
add rdx, qword [rsp + 0x98]
add r9, r15
and r10, r13
sub r9, r10
mov rcx, qword [rsp + 0x58]
add rcx, r8
mov qword [rsp + 0x88], rcx
sar rcx, 0x15
add r9, rcx
mov qword [rsp + 0x60], r9
add r11, rbx
mov rcx, qword [rsp + 0x38]
add rcx, r8
mov qword [rsp + 0x98], rcx
sar rcx, 0x15
add r11, rcx
mov rcx, 0xffffffffffe00000
and rdi, rcx
sub r11, rdi
mov r9, r11
mov qword [rsp + 0xa0], r11
add rdx, qword [rsp + 0x70]
and rbp, rcx
mov rdi, 0xffffffffffe00000
sub rdx, rbp
lea r11, [rsi + r8]
mov rcx, r11
sar rcx, 0x15
add rdx, rcx
mov r15, rdx
mov rbx, qword [rsp + 0x108]
imul rdx, rbx, 0x9fb67
add rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
and rcx, rdi
sub rdx, rcx
mov rdi, qword [rsp + 0xd8]
imul rcx, rdi, 0xfffffffffff0c653
add rdx, rcx
imul rcx, qword [rsp + 0xe0], 0x215d1
add rdx, rcx
imul rcx, r12, 0xfffffffffff59083
add rdx, rcx
lea rbp, [rax + r8]
mov rcx, rbp
sar rcx, 0x15
add rdx, rcx
mov rcx, 0xffffffffffe00000
and rbp, rcx
sub rax, rbp
imul rbx, rbx, 0x215d1
add rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0xc8]
and rbp, rcx
mov r10, 0xffffffffffe00000
sub rbx, rbp
imul rcx, rdi, 0xfffffffffff59083
add rbx, rcx
lea rbp, [r14 + r8]
mov rcx, rbp
sar rcx, 0x15
add rbx, rcx
and rbp, r10
sub r14, rbp
mov rbp, qword [rsp + 0x28]
lea rcx, [r8 + rbp]
mov r12, rcx
sar r12, 0x15
add r12, qword [rsp + 0xd0]
and rcx, r10
sub rbp, rcx
mov rdi, r15
lea rcx, [r15 + r8]
mov r15, rcx
sar r15, 0x15
add r15, rax
and rcx, r10
sub rdi, rcx
mov qword [rsp + 0x50], rdi
lea rax, [rdx + r8]
mov r13, rax
sar r13, 0x15
add r13, r14
mov rdi, 0xffffffffffe00000
and rax, rdi
sub rdx, rax
lea rax, [rbx + r8]
mov r10, rax
sar r10, 0x15
add r10, rbp
and rax, rdi
mov rdi, 0xffffffffffe00000
sub rbx, rax
imul rbp, r12, 0xfffffffffff59083
add rbp, rsi
lea rax, [r9 + r8]
mov qword [rsp + 0x90], rax
sar rax, 0x15
add rbp, rax
and r11, rdi
sub rbp, r11
mov qword [rsp + 0x70], rbp
imul rax, r12, 0x72d18
imul rbp, r10, 0x9fb67
add rbp, rax
imul rax, r12, 0x9fb67
imul rdi, r10, 0xfffffffffff0c653
add rdi, rax
imul rax, r12, 0xfffffffffff0c653
imul rsi, r10, 0x215d1
add rsi, rax
imul rax, r12, 0x215d1
imul rcx, r10, 0xfffffffffff59083
add rcx, rax
mov qword [rsp + 0x28], rcx
imul r11, rbx, 0xa2c13
add r11, qword [rsp + 0xb8]
imul r9, rbx, 0xfffffffffff0c653
add r9, rbp
imul rax, rbx, 0x215d1
add rax, rdi
mov qword [rsp + 0x48], rax
imul r14, rbx, 0xfffffffffff59083
add r14, rsi
add r14, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
add rsi, r8
mov qword [rsp + 0x38], rsi
sar rsi, 0x15
add r14, rsi
mov rdi, 0xffffffffffe00000
mov rax, qword [rsp + 0x98]
and rax, rdi
sub r14, rax
add r9, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x88]
and rsi, rdi
mov rcx, 0xffffffffffe00000
sub r9, rsi
imul rsi, r13, 0x215d1
add r9, rsi
imul rsi, rdx, 0xfffffffffff59083
add r9, rsi
imul rax, r15, 0xa2c13
add rax, qword [rsp + 0x110]
mov qword [rsp + 0x30], rax
imul rbp, r15, 0x72d18
add rbp, qword [rsp + 0xa8]
imul rsi, rdx, 0xa2c13
add rbp, rsi
mov rax, qword [rsp + 0x68]
shr rax, 0x15
add rax, qword [rsp + 0x120]
mov rsi, qword [rsp + 0xc0]
and rsi, rcx
mov rcx, 0xffffffffffe00000
sub rax, rsi
imul rsi, r15, 0x9fb67
add rax, rsi
imul rsi, r13, 0xa2c13
add rax, rsi
imul rsi, rdx, 0x72d18
add rax, rsi
mov qword [rsp + 0x68], rax
imul rdi, r15, 0xfffffffffff0c653
add rdi, r11
imul rsi, r13, 0x72d18
add rdi, rsi
imul rsi, rdx, 0x9fb67
add rdi, rsi
mov r11, qword [rsp + 0x78]
sar r11, 0x15
add r11, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x80]
and rsi, rcx
sub r11, rsi
imul rsi, r10, 0xa2c13
add r11, rsi
imul rsi, rbx, 0x72d18
add r11, rsi
imul rsi, r15, 0x215d1
add r11, rsi
imul rsi, r13, 0x9fb67
add r11, rsi
imul rsi, rdx, 0xfffffffffff0c653
add r11, rsi
mov qword [rsp + 0x78], r11
mov rax, qword [rsp + 0x30]
lea rsi, [rax + r8]
mov rcx, rsi
sar rcx, 0x15
add rcx, rbp
mov qword [rsp + 0x58], rcx
mov rcx, 0xffffffffffe00000
and rsi, rcx
sub rax, rsi
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x68]
add rax, r8
mov qword [rsp + 0x80], rax
mov rcx, rax
sar rcx, 0x15
add rcx, rdi
mov rsi, rcx
imul rdi, r12, 0xa2c13
add rdi, qword [rsp + 0x40]
imul rcx, r10, 0x72d18
add rdi, rcx
imul rcx, rbx, 0x9fb67
add rdi, rcx
mov rcx, qword [rsp + 0xb0]
mov rbp, 0xffffffffffe00000
and rcx, rbp
sub rdi, rcx
imul rcx, r15, 0xfffffffffff59083
add rdi, rcx
imul rcx, r13, 0xfffffffffff0c653
add rdi, rcx
imul rcx, rdx, 0x215d1
add rdi, rcx
lea rax, [r11 + r8]
mov rcx, rax
mov r11, rax
sar rcx, 0x15
add rdi, rcx
mov rax, qword [rsp + 0x48]
add rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
and rcx, rbp
mov rbp, 0xffffffffffe00000
sub rax, rcx
imul rcx, r13, 0xfffffffffff59083
add rax, rcx
lea rcx, [r9 + r8]
mov rdx, rcx
sar rdx, 0x15
add rax, rdx
mov rbx, rax
and rcx, rbp
sub r9, rcx
mov r13, qword [rsp + 0x28]
add r13, qword [rsp + 0xa0]
lea rcx, [r14 + r8]
mov rdx, rcx
sar rdx, 0x15
add r13, rdx
mov rdx, 0xffffffffffe00000
mov rbp, qword [rsp + 0x90]
and rbp, rdx
sub r13, rbp
and rcx, rdx
mov r10, 0xffffffffffe00000
sub r14, rcx
mov rcx, qword [rsp + 0x70]
lea rax, [rcx + r8]
mov rbp, rax
mov rcx, rax
sar rbp, 0x15
add rbp, qword [rsp + 0x50]
lea rax, [rdi + r8]
mov r12, rax
mov rdx, rax
sar r12, 0x15
add r12, r9
lea rax, [rbx + r8]
mov r15, rax
sar r15, 0x15
add r15, r14
and rax, r10
sub rbx, rax
mov qword [rsp + 0x48], rbx
lea rax, [r8 + r13]
mov qword [rsp + 0x40], rax
and rax, r10
sub r13, rax
mov qword [rsp + 0x28], r13
mov rax, 0xffffffffffe00000
mov r10, qword [rsp + 0x80]
and r10, rax
and r11, rax
mov qword [rsp + 0x38], r11
and rcx, rax
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0x58]
lea rbx, [rcx + r8]
mov r11, rbx
and rbx, rax
mov r9, 0xffffffffffe00000
lea rax, [rsi + r8]
mov r13, rsi
mov r14, rax
and rax, r9
and rdx, r9
mov qword [rsp + 0x50], rdx
add r8, rbp
mov rdx, r8
and r8, r9
sub rbp, r8
sar rdx, 0x15
imul rsi, rdx, 0xa2c13
add rsi, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
imul r9, rdx, 0x72d18
add r9, rcx
sub r9, rbx
mov rbx, rsi
sar rbx, 0x15
add r9, rbx
imul rbx, rdx, 0x9fb67
add rbx, qword [rsp + 0x68]
sub rbx, r10
sar r11, 0x15
add rbx, r11
mov rcx, r9
sar rcx, 0x15
add rbx, rcx
imul r11, rdx, 0xfffffffffff0c653
add r11, r13
sub r11, rax
mov rax, rbx
sar rax, 0x15
add r11, rax
imul rsi, rdx, 0x215d1
add rsi, qword [rsp + 0x78]
sub rsi, qword [rsp + 0x38]
sar r14, 0x15
add rsi, r14
mov rax, r11
sar rax, 0x15
add rsi, rax
imul r10, rdx, 0xfffffffffff59083
add r10, rdi
sub r10, qword [rsp + 0x50]
mov rax, rsi
sar rax, 0x15
add r10, rax
mov rdx, r10
sar rdx, 0x15
add rdx, r12
mov r12, rdx
sar r12, 0x15
add r12, qword [rsp + 0x48]
mov r8, r12
sar r8, 0x15
add r8, r15
mov r15, r8
sar r15, 0x15
add r15, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
sar rcx, 0x15
add rcx, qword [rsp + 0x70]
sub rcx, qword [rsp + 0x60]
mov rax, r15
sar rax, 0x15
add rcx, rax
mov r13, rcx
sar r13, 0x15
add r13, rbp
mov eax, 0x1fffff
mov rdi, qword [rsp + 0x30]
and rdi, rax
and r9, rax
and rbx, rax
and r11, rax
and rsi, rax
and r10, rax
and rdx, rax
and r12, rax
and r8, rax
and r15, rax
and rcx, rax
mov qword [rsp + 0x40], rcx
mov rcx, r13
and r13, rax
sar rcx, 0x15
imul rax, rcx, 0xa2c13
add rax, rdi
imul rdi, rcx, 0x72d18
add rdi, r9
imul rbp, rcx, 0x9fb67
add rbp, rbx
imul rbx, rcx, 0xfffffffffff0c653
add rbx, r11
imul r9, rcx, 0x215d1
add r9, rsi
imul r14, rcx, 0xfffffffffff59083
add r14, r10
mov rcx, rax
sar rcx, 0x15
add rcx, rdi
mov rdi, rcx
sar rdi, 0x15
add rdi, rbp
mov rbp, rdi
sar rbp, 0x15
add rbp, rbx
mov rsi, rbp
sar rsi, 0x15
add rsi, r9
mov r11, rsi
sar r11, 0x15
add r11, r14
mov r14, r11
sar r14, 0x15
add r14, rdx
mov r10, r14
sar r10, 0x15
add r10, r12
mov r12, r10
sar r12, 0x15
add r12, r8
mov qword [rsp + 0x28], r12
sar r12, 0x15
add r12, r15
mov r8, r12
sar r8, 0x15
add r8, qword [rsp + 0x40]
mov r9, r8
sar r9, 0x15
add r9, r13
mov edx, ecx
mov ebx, 0x1fffff
and edx, ebx
mov rbx, qword [rsp + 0x158]
mov byte [rbx + 0x20], al
mov byte [rbx + 0x21], ah
mov r15, rbx
shr eax, 0x10
and eax, 0x1f
mov ebx, edx
shl ebx, 5
or ebx, eax
mov byte [r15 + 0x22], bl
mov rax, rcx
shr rax, 3
mov rbx, r15
mov byte [r15 + 0x23], al
shr rcx, 0xb
mov byte [r15 + 0x24], cl
mov eax, edi
mov r15d, 0x1fffff
and eax, r15d
shr edx, 0x13
lea ecx, [rdx + rax*4]
mov byte [rbx + 0x25], cl
mov ecx, ebp
and ecx, r15d
mov r15d, 0x1fffff
shr rdi, 6
mov byte [rbx + 0x26], dil
mov edx, ecx
shl edx, 7
shr eax, 0xe
or eax, edx
mov byte [rbx + 0x27], al
mov rax, rbp
shr rax, 1
mov byte [rbx + 0x28], al
mov eax, esi
and eax, r15d
shr rbp, 9
mov byte [rbx + 0x29], bpl
mov edx, eax
shl edx, 4
shr ecx, 0x11
or ecx, edx
mov byte [rbx + 0x2a], cl
mov rcx, rsi
shr rcx, 4
mov byte [rbx + 0x2b], cl
shr rsi, 0xc
mov byte [rbx + 0x2c], sil
mov ecx, r11d
mov edx, 0x1fffff
and ecx, edx
shr eax, 0x14
lea eax, [rax + rcx*2]
mov byte [rbx + 0x2d], al
mov eax, r14d
and eax, edx
mov esi, 0x1fffff
shr r11, 7
mov byte [rbx + 0x2e], r11b
mov edx, eax
shl edx, 6
shr ecx, 0xf
or ecx, edx
mov byte [rbx + 0x2f], cl
mov rcx, r14
shr rcx, 2
mov byte [rbx + 0x30], cl
shr r14, 0xa
mov byte [rbx + 0x31], r14b
shr eax, 0x12
lea eax, [rax + r10*8]
mov byte [rbx + 0x32], al
mov rax, r10
shr rax, 5
mov byte [rbx + 0x33], al
mov eax, r12d
and eax, esi
shr r10, 0xd
mov byte [rbx + 0x34], r10b
mov rcx, qword [rsp + 0x28]
mov byte [rbx + 0x35], cl
mov byte [rbx + 0x36], ch
shr ecx, 0x10
and ecx, 0x1f
mov rdx, rcx
mov ecx, eax
shl ecx, 5
or ecx, edx
mov byte [rbx + 0x37], cl
mov rcx, r12
shr rcx, 3
mov byte [rbx + 0x38], cl
shr r12, 0xb
mov byte [rbx + 0x39], r12b
mov ecx, 0x1fffff
and ecx, r8d
shr eax, 0x13
lea eax, [rax + rcx*4]
mov byte [rbx + 0x3a], al
shr r8, 6
mov byte [rbx + 0x3b], r8b
mov eax, r9d
shl eax, 7
shr ecx, 0xe
or ecx, eax
mov byte [rbx + 0x3c], cl
mov rax, r9
shr rax, 1
mov byte [rbx + 0x3d], al
mov rax, r9
shr rax, 9
mov byte [rbx + 0x3e], al
shr r9, 0x11
mov byte [rbx + 0x3f], r9b
mov rcx, qword [rsp + 0x3a8]
xor rcx, rsp
call fcn.14010e4a0
mov eax, 1
movaps xmm6, xmmword [rsp + 0x3b0]
add rsp, 0x3c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret