Function at 0x1402499d0
Capabilities:
Encrypt data using curve25519
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x388
movaps xmmword [rsp + 0x330], xmm6
movaps xmmword [rsp + 0x340], xmm7
movaps xmmword [rsp + 0x350], xmm8
movaps xmmword [rsp + 0x360], xmm9
movaps xmmword [rsp + 0x370], xmm10
movdqa xmm7, xmmword [0x14044ac80]
mov r13, qword [0x14044ac90]
pxor xmm6, xmm6
movdqa xmm10, xmmword [0x14044ac50]
movdqa xmm9, xmmword [0x14044ac60]
movdqa xmm8, xmmword [0x14044ac70]
mov rdi, rdx
mov rbx, rcx
mov rbp, r8
mov r8d, 0x20
lea rsi, [rsp + 0x250]
mov rdx, qword [rsp + 0x3f0]
mov r12, r9
mov qword [rsp + 0x320], r13
mov rcx, rsi
movaps xmmword [rsp + 0x250], xmm10
lea r14, [rsp + 0x130]
lea r15, [rsp + 0x1b0]
movaps xmmword [rsp + 0x260], xmm9
movaps xmmword [rsp + 0x270], xmm8
movaps xmmword [rsp + 0x280], xmm7
movaps xmmword [rsp + 0x290], xmm6
call fcn.1402160b0
lea rcx, [rsp + 0x170]
mov rdx, rsi
call fcn.140215cf0
movzx eax, byte [rsp + 0x18f]
mov rcx, rsi
lea rdx, [rsp + 0x190]
mov r8d, 0x20
and byte [rsp + 0x170], 0xf8
and eax, 0x3f
mov qword [rsp + 0x320], r13
or eax, 0x40
movaps xmmword [rsp + 0x250], xmm10
movaps xmmword [rsp + 0x260], xmm9
movaps xmmword [rsp + 0x270], xmm8
movaps xmmword [rsp + 0x280], xmm7
movaps xmmword [rsp + 0x290], xmm6
mov byte [rsp + 0x18f], al
call fcn.1402160b0
mov r8, rbp
mov rdx, rdi
mov rcx, rsi
call fcn.1402160b0
mov rdx, rsi
mov rcx, r14
call fcn.140215cf0
mov rcx, r14
call fcn.140243410
mov rdx, r14
mov rcx, r15
call fcn.1402495c0
mov rdx, r15
mov rcx, rbx
call fcn.140249540
mov rdx, rbx
mov rcx, rsi
mov r8d, 0x20
mov qword [rsp + 0x320], r13
movaps xmmword [rsp + 0x250], xmm10
movaps xmmword [rsp + 0x260], xmm9
movaps xmmword [rsp + 0x270], xmm8
movaps xmmword [rsp + 0x280], xmm7
movaps xmmword [rsp + 0x290], xmm6
call fcn.1402160b0
mov rdx, r12
mov rcx, rsi
mov r8d, 0x20
call fcn.1402160b0
mov r8, rbp
mov rdx, rdi
mov rcx, rsi
call fcn.1402160b0
lea rdi, [rsp + 0xf0]
mov rdx, rsi
mov rcx, rdi
call fcn.140215cf0
mov rcx, rdi
call fcn.140243410
movzx eax, byte [rsp + 0xf2]
movzx r8d, byte [rsp + 0xf1]
movzx ecx, byte [rsp + 0xf6]
movzx edx, byte [rsp + 0xf0]
shl rax, 0x10
shl r8, 8
mov r12d, dword [rsp + 0xf2]
mov edi, dword [rsp + 0xf7]
or r8, rax
shl rcx, 8
movzx eax, byte [rsp + 0xf7]
mov r11d, dword [rsp + 0xfa]
shr r12, 5
or r8, rdx
shr rdi, 7
movzx edx, byte [rsp + 0xff]
shl rax, 0x10
shr r11, 4
and r8d, 0x1fffff
and r12d, 0x1fffff
or rcx, rax
and edi, 0x1fffff
movzx eax, byte [rsp + 0xf5]
movzx r9d, byte [rsp + 0x105]
or rcx, rax
movzx eax, byte [rsp + 0xfe]
shr rcx, 2
and ecx, 0x1fffff
and r11d, 0x1fffff
shl rdx, 0x10
shl rax, 8
or rax, rdx
movzx edx, byte [rsp + 0xfd]
or rax, rdx
movzx edx, byte [rsp + 0x104]
shr rax, 1
and eax, 0x1fffff
shl rdx, 0x10
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0xff]
shr rax, 6
and eax, 0x1fffff
mov qword [rsp + 0x68], rax
movzx eax, byte [rsp + 0x103]
shl rax, 8
or rax, rdx
movzx edx, byte [rsp + 0x102]
or rax, rdx
movzx edx, byte [rsp + 0x107]
mov rsi, rax
movzx eax, byte [rsp + 0x106]
shl rdx, 0x10
shr rsi, 3
shl rax, 8
mov qword [rsp + 0x70], rsi
or rax, rdx
or rax, r9
mov rdx, rax
mov eax, dword [rsp + 0x107]
and edx, 0x1fffff
shr rax, 5
mov qword [rsp + 0x78], rdx
movzx edx, byte [rsp + 0x10c]
mov r15, rax
movzx eax, byte [rsp + 0x10b]
shl rdx, 0x10
and r15d, 0x1fffff
shl rax, 8
mov qword [rsp + 0x90], r15
or rax, rdx
movzx edx, byte [rsp + 0x10a]
or rax, rdx
shr rax, 2
mov r10, rax
mov eax, dword [rsp + 0x10c]
and r10d, 0x1fffff
mov r9, rax
mov qword [rsp + 0x80], r10
movzx r10d, byte [rsp + 0x170]
shr r9, 7
mov qword [rsp + 0x58], r9
movzx eax, byte [rsp + 0x171]
movzx edx, byte [rsp + 0x172]
mov ebp, dword [rsp + 0x172]
shl rax, 8
mov esi, dword [rsp + 0x177]
movzx r13d, byte [rsp + 0x17e]
movzx r14d, byte [rsp + 0x183]
shl rdx, 0x10
mov r9, rax
movzx eax, byte [rsp + 0x176]
movzx r15d, byte [rsp + 0x185]
or r9, rdx
movzx edx, byte [rsp + 0x177]
or r9, r10
mov r10d, dword [rsp + 0x17a]
and r9d, 0x1fffff
shl rax, 8
shl rdx, 0x10
shl r13, 8
shl r14, 8
or rdx, rax
movzx eax, byte [rsp + 0x175]
shr rbp, 5
shr rsi, 7
shr r10, 4
and ebp, 0x1fffff
or rdx, rax
and esi, 0x1fffff
movzx eax, byte [rsp + 0x17f]
and r10d, 0x1fffff
shr rdx, 2
shl rax, 0x10
and edx, 0x1fffff
or rax, r13
movzx r13d, byte [rsp + 0x17d]
or rax, r13
mov r13d, dword [rsp + 0x17f]
shr rax, 1
shr r13, 6
and eax, 0x1fffff
and r13d, 0x1fffff
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x30], r13
movzx r13d, byte [rsp + 0x184]
shl r13, 0x10
or r13, r14
movzx r14d, byte [rsp + 0x182]
or r13, r14
movzx r14d, byte [rsp + 0x187]
shr r13, 3
mov rax, r13
shl r14, 0x10
movzx r13d, byte [rsp + 0x186]
shl r13, 8
or r13, r14
movzx r14d, byte [rsp + 0x18b]
or r13, r15
and r13d, 0x1fffff
mov qword [rsp + 0x60], r13
mov r13d, dword [rsp + 0x187]
shr r13, 5
mov r15, r13
movzx r13d, byte [rsp + 0x18c]
and r15d, 0x1fffff
shl r14, 8
shl r13, 0x10
mov qword [rsp + 0x38], r15
or r13, r14
movzx r14d, byte [rsp + 0x18a]
or r13, r14
shr r13, 2
and r13d, 0x1fffff
mov qword [rsp + 0x40], r13
mov r13d, dword [rsp + 0x18c]
mov r15, r13
movzx r13d, byte [rsp + 0x130]
shr r15, 7
mov qword [rsp + 0x28], r15
mov r15, r13
movzx r13d, byte [rsp + 0x145]
mov qword [rsp + 0x88], r13
movzx r13d, byte [rsp + 0x131]
movzx r14d, byte [rsp + 0x132]
shl r13, 8
shl r14, 0x10
or r13, r14
mov r14, r8
imul r14, r9
or r13, r15
mov r15, qword [rsp + 0x48]
and r13d, 0x1fffff
add r13, r14
mov r14, r8
mov qword [rsp + 0x98], r13
mov r13d, dword [rsp + 0x132]
imul r14, rbp
shr r13, 5
and r13d, 0x1fffff
add r13, r14
mov r14, r12
imul r14, r9
add r13, r14
movzx r14d, byte [rsp + 0x136]
mov qword [rsp + 0xa0], r13
movzx r13d, byte [rsp + 0x137]
shl r14, 8
shl r13, 0x10
or r13, r14
movzx r14d, byte [rsp + 0x135]
or r13, r14
mov r14, r8
imul r14, rdx
shr r13, 2
and r13d, 0x1fffff
add r14, r13
mov r13, r12
imul r13, rbp
add r13, r14
mov r14, rcx
imul r14, r9
add r13, r14
mov r14, r8
mov qword [rsp + 0xa8], r13
mov r13d, dword [rsp + 0x137]
imul r14, rsi
shr r13, 7
and r13d, 0x1fffff
add r13, r14
mov r14, r12
imul r14, rdx
add r14, r13
mov r13, rcx
imul r13, rbp
add r13, r14
mov r14, rdi
imul r14, r9
add r13, r14
mov r14, r8
mov qword [rsp + 0xb0], r13
mov r13d, dword [rsp + 0x13a]
imul r14, r10
shr r13, 4
and r13d, 0x1fffff
add r14, r13
mov r13, r12
imul r13, rsi
add r13, r14
mov r14, rcx
imul r14, rdx
add r14, r13
mov r13, rdi
imul r13, rbp
add r13, r14
mov r14, r11
imul r14, r9
add r13, r14
movzx r14d, byte [rsp + 0x13e]
mov qword [rsp + 0xb8], r13
movzx r13d, byte [rsp + 0x13f]
shl r14, 8
shl r13, 0x10
or r13, r14
movzx r14d, byte [rsp + 0x13d]
or r13, r14
mov r14, r8
imul r14, r15
shr r13, 1
and r13d, 0x1fffff
add r13, r14
mov r14, r12
imul r14, r10
add r14, r13
mov r13, rcx
imul r13, rsi
add r13, r14
mov r14, rdi
imul r14, rdx
add r14, r13
mov r13, r11
imul r13, rbp
add r13, r14
mov r14, qword [rsp + 0x50]
imul r14, r9
add r14, r13
mov r13d, dword [rsp + 0x13f]
mov qword [rsp + 0xc0], r14
mov r14, qword [rsp + 0x30]
shr r13, 6
imul r14, r8
and r13d, 0x1fffff
add r14, r13
mov r13, r12
imul r13, r15
add r13, r14
mov r14, rcx
imul r14, r10
add r14, r13
mov r13, rdi
imul r13, rsi
add r13, r14
mov r14, r11
imul r14, rdx
add r14, r13
mov r13, qword [rsp + 0x50]
imul r13, rbp
add r13, r14
mov r14, qword [rsp + 0x68]
imul r14, r9
add r13, r14
movzx r14d, byte [rsp + 0x143]
mov qword [rsp + 0xc8], r13
movzx r13d, byte [rsp + 0x144]
shl r14, 8
shl r13, 0x10
or r13, r14
movzx r14d, byte [rsp + 0x142]
or r13, r14
mov r14, rax
imul r14, r8
shr r13, 3
add r13, r14
mov r14, qword [rsp + 0x30]
imul r14, r12
add r14, r13
mov r13, rcx
imul r13, r15
add r13, r14
mov r14, rdi
imul r14, r10
add r14, r13
mov r13, r11
imul r13, rsi
add r13, r14
mov r14, qword [rsp + 0x50]
imul r14, rdx
add r14, r13
mov r13, qword [rsp + 0x68]
imul r13, rbp
add r13, r14
mov r14, qword [rsp + 0x70]
imul r14, r9
add r14, r13
mov qword [rsp + 0xd0], r14
movzx r13d, byte [rsp + 0x146]
movzx r14d, byte [rsp + 0x147]
shl r13, 8
shl r14, 0x10
or r13, r14
mov r14, qword [rsp + 0x88]
or r13, r14
mov r14, qword [rsp + 0x60]
and r13d, 0x1fffff
imul r14, r8
add r14, r13
mov r13, rax
imul r13, r12
add r13, r14
mov r14, qword [rsp + 0x30]
imul r14, rcx
add r14, r13
mov r13, rdi
imul r13, r15
add r13, r14
mov r14, r11
imul r14, r10
add r14, r13
mov r13, qword [rsp + 0x50]
imul r13, rsi
add r13, r14
mov r14, qword [rsp + 0x68]
imul r14, rdx
add r14, r13
mov r13, qword [rsp + 0x70]
imul r13, rbp
add r13, r14
mov r14, qword [rsp + 0x78]
imul r14, r9
add r13, r14
mov r14, qword [rsp + 0x38]
mov qword [rsp + 0xd8], r13
mov r13d, dword [rsp + 0x147]
imul r14, r8
shr r13, 5
and r13d, 0x1fffff
add r13, r14
mov r14, qword [rsp + 0x60]
imul r14, r12
add r14, r13
mov r13, rax
imul r13, rcx
add r13, r14
mov r14, qword [rsp + 0x30]
imul r14, rdi
add r14, r13
mov r13, r11
imul r13, r15
mov r15, qword [rsp + 0x50]
add r13, r14
mov r14, r15
imul r14, r10
add r14, r13
mov r13, qword [rsp + 0x68]
imul r13, rsi
add r13, r14
mov r14, qword [rsp + 0x70]
imul r14, rdx
add r14, r13
mov r13, qword [rsp + 0x78]
imul r13, rbp
add r13, r14
mov r14, qword [rsp + 0x90]
imul r14, r9
add r14, r13
movzx r13d, byte [rsp + 0x14c]
mov qword [rsp + 0xe0], r14
movzx r14d, byte [rsp + 0x14b]
shl r13, 0x10
shl r14, 8
or r13, r14
movzx r14d, byte [rsp + 0x14a]
or r13, r14
mov r14, qword [rsp + 0x40]
shr r13, 2
and r13d, 0x1fffff
imul r14, r8
add r14, r13
mov r13, qword [rsp + 0x38]
imul r13, r12
add r13, r14
mov r14, qword [rsp + 0x60]
imul r14, rcx
add r14, r13
mov r13, rax
imul r13, rdi
add r13, r14
mov r14, qword [rsp + 0x30]
imul r14, r11
add r14, r13
mov r13, r15
mov r15, qword [rsp + 0x48]
imul r13, r15
mov r15, qword [rsp + 0x68]
add r13, r14
mov r14, r15
imul r14, r10
add r14, r13
mov r13, qword [rsp + 0x70]
imul r13, rsi
add r13, r14
mov r14, qword [rsp + 0x78]
imul r14, rdx
add r14, r13
mov r13, qword [rsp + 0x90]
imul r13, rbp
add r13, r14
mov r14, qword [rsp + 0x80]
mov qword [rsp + 0x88], rax
imul r14, r9
add r14, r13
mov r13d, dword [rsp + 0x14c]
shr r13, 7
mov qword [rsp + 0x68], r13
mov r13, qword [rsp + 0x28]
imul r8, r13
mov r13, qword [rsp + 0x68]
mov qword [rsp + 0x68], r15
add r8, r13
mov r13, qword [rsp + 0x40]
imul r13, r12
add r13, r8
mov r8, qword [rsp + 0x38]
imul r8, rcx
add r8, r13
mov r13, qword [rsp + 0x60]
imul r13, rdi
add r13, r8
mov r8, rax
mov rax, qword [rsp + 0x30]
imul r8, r11
add r8, r13
mov r13, qword [rsp + 0x50]
imul r13, rax
mov rax, qword [rsp + 0x58]
imul r9, rax
mov rax, qword [rsp + 0x28]
add r13, r8
mov r8, r15
mov r15, qword [rsp + 0x48]
imul r12, rax
mov rax, qword [rsp + 0x88]
imul r8, r15
mov r15, qword [rsp + 0x70]
add r8, r13
mov r13, r15
imul r13, r10
add r13, r8
mov r8, qword [rsp + 0x78]
imul r8, rsi
add r8, r13
mov r13, qword [rsp + 0x90]
imul r13, rdx
add r13, r8
mov r8, qword [rsp + 0x80]
imul r8, rbp
add r8, r13
mov r13, qword [rsp + 0x68]
add r9, r8
mov qword [rsp + 0xe8], r9
mov r9, qword [rsp + 0x40]
imul r9, rcx
mov r8, r9
mov r9, qword [rsp + 0x38]
add r8, r12
mov r12, qword [rsp + 0x60]
imul r9, rdi
imul r12, r11
add r9, r8
mov r8, r12
mov r12, qword [rsp + 0x50]
add r8, r9
mov r9, r12
imul r9, rax
mov rax, qword [rsp + 0x30]
add r9, r8
mov r8, r13
imul r8, rax
mov rax, qword [rsp + 0x58]
add r8, r9
mov r9, r15
mov r15, qword [rsp + 0x48]
imul r9, r15
mov r15, qword [rsp + 0x78]
add r9, r8
mov r8, r15
imul r8, r10
add r8, r9
mov r9, qword [rsp + 0x90]
imul r9, rsi
add r9, r8
mov r8, qword [rsp + 0x80]
imul rbp, rax
mov rax, qword [rsp + 0x28]
imul r8, rdx
imul rcx, rax
mov rax, qword [rsp + 0x30]
add r8, r9
lea r9, [r8 + rbp]
mov rbp, qword [rsp + 0x40]
imul rbp, rdi
mov r8, rbp
mov rbp, qword [rsp + 0x60]
add r8, rcx
mov rcx, qword [rsp + 0x38]
imul rcx, r11
add rcx, r8
mov r8, r12
imul r8, rbp
mov rbp, qword [rsp + 0x88]
add r8, rcx
mov rcx, r13
imul rcx, rbp
mov rbp, qword [rsp + 0x70]
add rcx, r8
mov r8, rbp
imul r8, rax
mov rax, qword [rsp + 0x58]
imul rdx, rax
mov rax, qword [rsp + 0x28]
add r8, rcx
mov rcx, r15
mov r15, qword [rsp + 0x48]
imul rdi, rax
mov rax, qword [rsp + 0x30]
imul rcx, r15
mov r15, qword [rsp + 0x90]
add rcx, r8
mov r8, r15
imul r8, r10
add r8, rcx
mov rcx, qword [rsp + 0x80]
imul rcx, rsi
add rcx, r8
mov r8, r15
add rdx, rcx
mov rcx, r12
mov qword [rsp + 0x50], rdx
mov rdx, qword [rsp + 0x40]
imul rdx, r11
add rdx, rdi
mov rdi, qword [rsp + 0x38]
imul rcx, rdi
mov rdi, qword [rsp + 0x60]
add rcx, rdx
mov rdx, r13
imul rdx, rdi
mov rdi, qword [rsp + 0x88]
add rdx, rcx
mov rcx, rbp
imul rcx, rdi
mov rdi, qword [rsp + 0x78]
add rcx, rdx
mov rdx, rdi
imul rdx, rax
add rdx, rcx
mov rcx, r15
mov r15, qword [rsp + 0x48]
imul rcx, r15
mov r15, qword [rsp + 0x60]
add rcx, rdx
mov rdx, qword [rsp + 0x80]
imul rdx, r10
add rdx, rcx
mov rcx, qword [rsp + 0x58]
imul rsi, rcx
mov rcx, r12
add rsi, rdx
mov rdx, qword [rsp + 0x28]
imul r11, rdx
mov rdx, qword [rsp + 0x40]
imul rcx, rdx
mov rdx, r13
add rcx, r11
mov r11, qword [rsp + 0x38]
imul rdx, r11
mov r11, qword [rsp + 0x88]
add rdx, rcx
mov rcx, rbp
imul rcx, r15
add rcx, rdx
mov rdx, rdi
imul rdx, r11
mov r11, qword [rsp + 0x80]
add rdx, rcx
mov rcx, r8
imul rcx, rax
mov rax, qword [rsp + 0x48]
add rcx, rdx
mov rdx, r11
imul rdx, rax
mov rax, qword [rsp + 0x58]
imul r10, rax
add rdx, rcx
lea rcx, [rdx + r10]
mov rdx, qword [rsp + 0x28]
mov qword [rsp + 0x60], rcx
mov r10, qword [rsp + 0x40]
mov rcx, r13
imul r12, rdx
imul rcx, r10
mov r10, qword [rsp + 0x38]
mov rdx, r12
mov r12, qword [rsp + 0x30]
add rdx, rcx
mov rcx, rbp
imul rcx, r10
mov r10, qword [rsp + 0x88]
add rcx, rdx
mov rdx, rdi
imul rdx, r15
add rdx, rcx
mov rcx, r8
imul rcx, r10
mov r10, r11
add rcx, rdx
mov rdx, r11
imul rdx, r12
add rdx, rcx
mov rcx, qword [rsp + 0x48]
imul rcx, rax
mov rax, qword [rsp + 0x28]
imul r13, rax
add rdx, rcx
mov rcx, rbp
mov rax, r13
mov r13, qword [rsp + 0x40]
imul rcx, r13
mov r13, qword [rsp + 0x38]
add rcx, rax
mov rax, rdi
imul rax, r13
mov r13, qword [rsp + 0x88]
add rax, rcx
mov rcx, r8
imul rcx, r15
add rcx, rax
mov rax, r11
mov r11, qword [rsp + 0x58]
imul rax, r13
add rax, rcx
mov rcx, r12
mov r12, qword [rsp + 0x38]
imul rcx, r11
mov r11, qword [rsp + 0x40]
add rax, rcx
mov rcx, rdi
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x28]
imul rcx, r11
mov r11, r8
imul rbp, rax
mov rax, r8
mov r8, r10
imul rax, r12
imul r8, r15
add rcx, rbp
mov rbp, qword [rsp + 0xb0]
add rax, rcx
mov rcx, r11
add r8, rax
mov rax, r13
mov r13, qword [rsp + 0x58]
imul rax, r13
add r8, rax
mov rax, qword [rsp + 0x28]
imul rdi, rax
mov rax, rdi
mov rdi, qword [rsp + 0x40]
imul rcx, rdi
add rcx, rax
mov rax, r10
imul rax, r12
add rax, rcx
mov rcx, r15
mov r15, qword [rsp + 0x28]
imul rcx, r13
add rax, rcx
mov rcx, r10
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x28]
imul rcx, rdi
imul r11, rax
mov rax, qword [rsp + 0x28]
add rcx, r11
imul r10, rax
imul rdi, r13
imul r12, r13
imul r15, r13
lea r11, [r10 + rdi]
mov rdi, qword [rsp + 0x98]
add rcx, r12
mov r12, qword [rsp + 0xa0]
mov qword [rsp + 0x40], r11
lea rax, [rdi + 0x100000]
mov r11, qword [rsp + 0xa8]
sar rax, 0x15
add r12, rax
shl rax, 0x15
sub rdi, rax
lea rax, [r11 + 0x100000]
mov qword [rsp + 0x28], r12
mov r12, qword [rsp + 0xc0]
sar rax, 0x15
mov qword [rsp + 0x48], rdi
lea r13, [rbp + rax]
mov rbp, qword [rsp + 0xb8]
shl rax, 0x15
sub r11, rax
lea rax, [rbp + 0x100000]
mov qword [rsp + 0x58], r11
sar rax, 0x15
add r12, rax
shl rax, 0x15
sub rbp, rax
mov qword [rsp + 0x68], rbp
mov r10, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd0]
mov r11, qword [rsp + 0xd8]
mov rax, r10
add rax, 0x100000
sar rax, 0x15
lea rbp, [rdi + rax]
shl rax, 0x15
mov rdi, qword [rsp + 0xe0]
sub r10, rax
mov rax, r11
add rax, 0x100000
mov qword [rsp + 0x70], r10
mov r10, qword [rsp + 0xe8]
sar rax, 0x15
add rdi, rax
shl rax, 0x15
sub r11, rax
lea rax, [r14 + 0x100000]
sar rax, 0x15
mov qword [rsp + 0x78], r11
lea r11, [r10 + rax]
shl rax, 0x15
sub r14, rax
lea rax, [r9 + 0x100000]
mov qword [rsp + 0x80], r14
mov r14, qword [rsp + 0x50]
sar rax, 0x15
lea r10, [r14 + rax]
shl rax, 0x15
mov r14, r15
sub r9, rax
lea rax, [rsi + 0x100000]
mov qword [rsp + 0x50], r9
mov r9, qword [rsp + 0x60]
sar rax, 0x15
add r9, rax
shl rax, 0x15
sub rsi, rax
lea rax, [rdx + 0x100000]
mov qword [rsp + 0x60], rsi
mov rsi, qword [rsp + 0x30]
sar rax, 0x15
add rsi, rax
shl rax, 0x15
sub rdx, rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rdx
lea rdx, [r8 + 0x100000]
sar rdx, 0x15
add rax, rdx
shl rdx, 0x15
sub r8, rdx
lea rdx, [rcx + 0x100000]
mov qword [rsp + 0x38], r8
mov r8, qword [rsp + 0x40]
sar rdx, 0x15
add r8, rdx
shl rdx, 0x15
sub rcx, rdx
lea rdx, [r15 + 0x100000]
mov r15, qword [rsp + 0x58]
sar rdx, 0x15
mov qword [rsp + 0x40], rcx
mov rcx, rdx
shl rcx, 0x15
sub r14, rcx
mov qword [rsp + 0x88], r14
mov r14, qword [rsp + 0x28]
lea rcx, [r14 + 0x100000]
sar rcx, 0x15
add r15, rcx
shl rcx, 0x15
sub r14, rcx
mov qword [rsp + 0x28], r15
lea rcx, [r13 + 0x100000]
mov r15, qword [rsp + 0x68]
sar rcx, 0x15
mov qword [rsp + 0x58], r14
lea r14, [r15 + rcx]
shl rcx, 0x15
mov r15, qword [rsp + 0x70]
sub r13, rcx
lea rcx, [r12 + 0x100000]
mov qword [rsp + 0x68], r14
sar rcx, 0x15
mov qword [rsp + 0x90], r13
lea r13, [r15 + rcx]
shl rcx, 0x15
mov r15, qword [rsp + 0x78]
sub r12, rcx
lea rcx, [rbp + 0x100000]
mov qword [rsp + 0x70], r13
sar rcx, 0x15
mov qword [rsp + 0x98], r12
lea r12, [r15 + rcx]
shl rcx, 0x15
sub rbp, rcx
mov qword [rsp + 0x78], r12
lea rcx, [rdi + 0x100000]
mov qword [rsp + 0xa0], rbp
mov r15, qword [rsp + 0x80]
sar rcx, 0x15
lea rbp, [r15 + rcx]
shl rcx, 0x15
mov r15, qword [rsp + 0x50]
sub rdi, rcx
lea rcx, [r11 + 0x100000]
sar rcx, 0x15
mov qword [rsp + 0x80], rdi
lea r14, [r15 + rcx]
shl rcx, 0x15
mov r15, qword [rsp + 0x60]
sub r11, rcx
lea rcx, [r10 + 0x100000]
sar rcx, 0x15
lea r13, [r15 + rcx]
shl rcx, 0x15
mov r15, qword [rsp + 0x30]
sub r10, rcx
lea rcx, [r9 + 0x100000]
sar rcx, 0x15
lea r12, [r15 + rcx]
shl rcx, 0x15
mov r15, qword [rsp + 0x38]
sub r9, rcx
lea rcx, [rsi + 0x100000]
sar rcx, 0x15
lea rdi, [r15 + rcx]
shl rcx, 0x15
lea r15, [r8 + 0x100000]
sub rsi, rcx
mov rcx, qword [rsp + 0x40]
sar r15, 0x15
mov qword [rsp + 0x30], rsi
lea rsi, [rax + 0x100000]
sar rsi, 0x15
add rcx, rsi
shl rsi, 0x15
sub rax, rsi
mov rsi, qword [rsp + 0x88]
add rsi, r15
shl r15, 0x15
sub r8, r15
imul r15, rdx, 0xa2c13
add r11, r15
imul r15, rdx, 0x72d18
add r14, r15
imul r15, rdx, 0x9fb67
add r15, r10
imul r10, rdx, 0xfffffffffff0c653
add r13, r10
imul r10, rdx, 0x215d1
add r10, r9
imul r9, rsi, 0xa2c13
imul rdx, rdx, 0xfffffffffff59083
add r9, rbp
imul rbp, rsi, 0x72d18
add rdx, r12
imul r12, rsi, 0xfffffffffff0c653
add r11, rbp
imul rbp, rsi, 0x9fb67
add r12, r15
mov r15, qword [rsp + 0x80]
add rbp, r14
imul r14, rsi, 0x215d1
imul rsi, rsi, 0xfffffffffff59083
add r13, r14
imul r14, r8, 0x72d18
add rsi, r10
imul r10, r8, 0xa2c13
add r14, r9
imul r9, r8, 0x9fb67
add r10, r15
mov r15, qword [rsp + 0x78]
add r11, r9
imul r9, r8, 0xfffffffffff0c653
add rbp, r9
imul r9, r8, 0x215d1
imul r8, r8, 0xfffffffffff59083
add r9, r12
imul r12, rcx, 0xa2c13
add r8, r13
imul r13, rcx, 0x72d18
add r12, r15
mov r15, qword [rsp + 0x70]
add r13, r10
imul r10, rcx, 0x9fb67
add r14, r10
imul r10, rcx, 0xfffffffffff0c653
add r11, r10
imul r10, rcx, 0x215d1
imul rcx, rcx, 0xfffffffffff59083
add r10, rbp
mov rbp, qword [rsp + 0xa0]
add rcx, r9
imul r9, rax, 0xa2c13
add r9, rbp
imul rbp, rax, 0x72d18
add rbp, r12
imul r12, rax, 0x9fb67
add r12, r13
imul r13, rax, 0xfffffffffff0c653
add r13, r14
imul r14, rax, 0x215d1
imul rax, rax, 0xfffffffffff59083
add r11, r14
imul r14, rdi, 0xa2c13
add rax, r10
imul r10, rdi, 0xfffffffffff0c653
add r14, r15
imul r15, rdi, 0x72d18
add r10, r12
lea r12, [rdx + 0x100000]
add r15, r9
imul r9, rdi, 0x9fb67
add rbp, r9
imul r9, rdi, 0x215d1
imul rdi, rdi, 0xfffffffffff59083
add r9, r13
mov r13, qword [rsp + 0x98]
add rdi, r11
lea r11, [r14 + 0x100000]
sar r11, 0x15
add r15, r11
shl r11, 0x15
sub r14, r11
lea r11, [rbp + 0x100000]
sar r12, 0x15
sar r11, 0x15
add r10, r11
shl r11, 0x15
sub rbp, r11
lea r11, [r9 + 0x100000]
sar r11, 0x15
add rdi, r11
shl r11, 0x15
sub r9, r11
lea r11, [rax + 0x100000]
sar r11, 0x15
add rcx, r11
shl r11, 0x15
sub rax, r11
lea r11, [r8 + 0x100000]
sar r11, 0x15
add rsi, r11
shl r11, 0x15
sub r8, r11
mov r11, qword [rsp + 0x30]
add r11, r12
shl r12, 0x15
sub rdx, r12
lea r12, [r15 + 0x100000]
sar r12, 0x15
add rbp, r12
shl r12, 0x15
sub r15, r12
lea r12, [r10 + 0x100000]
sar r12, 0x15
add r9, r12
shl r12, 0x15
sub r10, r12
lea r12, [rdi + 0x100000]
sar r12, 0x15
add rax, r12
shl r12, 0x15
sub rdi, r12
lea r12, [rcx + 0x100000]
sar r12, 0x15
add r8, r12
shl r12, 0x15
sub rcx, r12
lea r12, [rsi + 0x100000]
sar r12, 0x15
add rdx, r12
shl r12, 0x15
sub rsi, r12
imul r12, r11, 0xa2c13
add r12, r13
imul r13, r11, 0x72d18
add r13, r14
imul r14, r11, 0x9fb67
add r14, r15
imul r15, r11, 0xfffffffffff0c653
add r15, rbp
imul rbp, r11, 0x215d1
imul r11, r11, 0xfffffffffff59083
add rbp, r10
mov r10, qword [rsp + 0x68]
add r11, r9
imul r9, rdx, 0xa2c13
add r9, r10
imul r10, rdx, 0x72d18
add r10, r12
imul r12, rdx, 0x9fb67
add r12, r13
imul r13, rdx, 0xfffffffffff0c653
add r13, r14
imul r14, rdx, 0x215d1
add r14, r15
imul rdx, rdx, 0xfffffffffff59083
mov r15, qword [rsp + 0x90]
add rdx, rbp
imul rbp, rsi, 0xa2c13
add rbp, r15
imul r15, rsi, 0x72d18
add r15, r9
imul r9, rsi, 0x9fb67
add r10, r9
imul r9, rsi, 0xfffffffffff0c653
add r12, r9
imul r9, rsi, 0x215d1
imul rsi, rsi, 0xfffffffffff59083
add r9, r13
imul r13, r8, 0xa2c13
add rsi, r14
mov r14, qword [rsp + 0x28]
add r13, r14
imul r14, r8, 0x72d18
add rbp, r14
imul r14, r8, 0x9fb67
add r14, r15
imul r15, r8, 0xfffffffffff0c653
add r15, r10
imul r10, r8, 0x215d1
imul r8, r8, 0xfffffffffff59083
add r10, r12
imul r12, rcx, 0xa2c13
add r8, r9
mov r9, qword [rsp + 0x58]
add r12, r9
imul r9, rcx, 0x72d18
add r13, r9
imul r9, rcx, 0x9fb67
add rbp, r9
imul r9, rcx, 0xfffffffffff0c653
add r14, r9
imul r9, rcx, 0x215d1
imul rcx, rcx, 0xfffffffffff59083
add r9, r15
imul r15, rax, 0xa2c13
add rcx, r10
mov r10, qword [rsp + 0x48]
add r15, r10
imul r10, rax, 0x72d18
add r12, r10
imul r10, rax, 0x9fb67
add r13, r10
imul r10, rax, 0xfffffffffff0c653
add rbp, r10
imul r10, rax, 0x215d1
imul rax, rax, 0xfffffffffff59083
add r10, r14
add rax, r9
lea r9, [r15 + 0x100000]
sar r9, 0x15
add r12, r9
shl r9, 0x15
sub r15, r9
lea r9, [r13 + 0x100000]
sar r9, 0x15
add rbp, r9
shl r9, 0x15
sub r13, r9
lea r9, [r10 + 0x100000]
sar r9, 0x15
add rax, r9
shl r9, 0x15
sub r10, r9
lea r9, [rcx + 0x100000]
sar r9, 0x15
add r8, r9
shl r9, 0x15
sub rcx, r9
lea r9, [rsi + 0x100000]
sar r9, 0x15
add rdx, r9
shl r9, 0x15
sub rsi, r9
lea r9, [r11 + 0x100000]
sar r9, 0x15
add rdi, r9
shl r9, 0x15
sub r11, r9
lea r9, [r12 + 0x100000]
lea r14, [rdi + 0x100000]
sar r9, 0x15
add r13, r9
shl r9, 0x15
sub r12, r9
lea r9, [rbp + 0x100000]
sar r9, 0x15
add r10, r9
shl r9, 0x15
sub rbp, r9
lea r9, [rax + 0x100000]
sar r9, 0x15
add rcx, r9
shl r9, 0x15
sub rax, r9
lea r9, [r8 + 0x100000]
sar r9, 0x15
add rsi, r9
shl r9, 0x15
sub r8, r9
lea r9, [rdx + 0x100000]
sar r9, 0x15
add r11, r9
shl r9, 0x15
sub rdx, r9
mov r9, r14
sar r9, 0x15
and r14, 0xffffffffffe00000
sub rdi, r14
imul r14, r9, 0xa2c13
add r14, r15
imul r15, r9, 0x72d18
add r12, r15
imul r15, r9, 0x9fb67
add r13, r15
imul r15, r9, 0xfffffffffff0c653
add rbp, r15
imul r15, r9, 0x215d1
imul r9, r9, 0xfffffffffff59083
add r10, r15
add r9, rax
mov rax, r14
sar rax, 0x15
add r12, rax
shl rax, 0x15
sub r14, rax
mov rax, r12
sar rax, 0x15
add r13, rax
shl rax, 0x15
sub r12, rax
mov rax, r13
sar rax, 0x15
add rbp, rax
shl rax, 0x15
sub r13, rax
mov rax, rbp
sar rax, 0x15
add r10, rax
shl rax, 0x15
sub rbp, rax
mov rax, r10
sar rax, 0x15
add r9, rax
shl rax, 0x15
sub r10, rax
mov rax, r9
sar rax, 0x15
add rcx, rax
shl rax, 0x15
sub r9, rax
mov rax, rcx
sar rax, 0x15
add r8, rax
shl rax, 0x15
sub rcx, rax
mov rax, r8
sar rax, 0x15
add rsi, rax
shl rax, 0x15
sub r8, rax
mov rax, rsi
sar rax, 0x15
add rdx, rax
shl rax, 0x15
sub rsi, rax
mov rax, rdx
sar rax, 0x15
add r11, rax
shl rax, 0x15
sub rdx, rax
mov rax, r11
sar rax, 0x15
add rdi, rax
shl rax, 0x15
sub r11, rax
mov rax, rdi
and edi, 0x1fffff
sar rax, 0x15
imul r15, rax, 0xa2c13
add r14, r15
imul r15, rax, 0x72d18
add r12, r15
imul r15, rax, 0x9fb67
add r13, r15
imul r15, rax, 0xfffffffffff0c653
add rbp, r15
imul r15, rax, 0x215d1
imul rax, rax, 0xfffffffffff59083
add r10, r15
add rax, r9
mov r9, r14
sar r9, 0x15
add r12, r9
shl r9, 0x15
sub r14, r9
mov r9, r12
sar r9, 0x15
mov word [rbx + 0x20], r14w
add r13, r9
shl r9, 0x15
sub r12, r9
mov r9, r13
sar r9, 0x15
add rbp, r9
shl r9, 0x15
mov r15, rbp
sub r13, r9
sar r15, 0x15
lea r9, [r10 + r15]
shl r15, 0x15
sub rbp, r15
mov r15, r9
sar r15, 0x15
add rax, r15
shl r15, 0x15
mov r10, rax
sub r9, r15
sar r10, 0x15
add rcx, r10
shl r10, 0x15
sub rax, r10
mov r10, rcx
sar r10, 0x15
add r8, r10
shl r10, 0x15
sub rcx, r10
mov r10, r8
sar r14, 0x10
sar r10, 0x15
add rsi, r10
shl r10, 0x15
sub r8, r10
mov r10, rsi
sar r10, 0x15
add rdx, r10
shl r10, 0x15
sub rsi, r10
mov r10, rdx
sar r10, 0x15
add r11, r10
shl r10, 0x15
sub rdx, r10
mov r10, r11
sar r10, 0x15
add rdi, r10
shl r10, 0x15
sub r11, r10
mov r10, r12
shl r10, 5
or r14d, r10d
mov r10, r12
sar r10, 3
mov byte [rbx + 0x22], r14b
mov byte [rbx + 0x23], r10b
mov r10, r12
sar r12, 0x13
sar r10, 0xb
mov byte [rbx + 0x24], r10b
lea r10, [r13*4]
or r12d, r10d
mov r10, r13
sar r13, 0xe
sar r10, 6
mov byte [rbx + 0x25], r12b
mov byte [rbx + 0x26], r10b
mov r10, rbp
shl r10, 7
or r13d, r10d
mov r10, rbp
sar r10, 1
mov byte [rbx + 0x27], r13b
mov byte [rbx + 0x28], r10b
mov r10, rbp
sar r10, 9
sar rbp, 0x11
mov byte [rbx + 0x29], r10b
mov r10, r9
shl r10, 4
or ebp, r10d
mov r10, r9
sar r10, 4
mov byte [rbx + 0x2a], bpl
mov byte [rbx + 0x2b], r10b
mov r10, r9
sar r9, 0x14
sar r10, 0xc
mov byte [rbx + 0x2c], r10b
lea r10, [rax + rax]
or r9d, r10d
mov byte [rbx + 0x2d], r9b
mov r9, rax
sar rax, 0xf
sar r9, 7
mov word [rbx + 0x35], si
sar rsi, 0x10
mov byte [rbx + 0x2e], r9b
mov r9, rcx
shl r9, 6
or eax, r9d
mov byte [rbx + 0x2f], al
mov rax, rcx
sar rax, 2
mov byte [rbx + 0x30], al
mov rax, rcx
sar rcx, 0x12
sar rax, 0xa
mov byte [rbx + 0x31], al
lea rax, [r8*8]
or ecx, eax
mov rax, r8
sar r8, 0xd
sar rax, 5
mov byte [rbx + 0x34], r8b
mov byte [rbx + 0x33], al
mov rax, rdx
shl rax, 5
mov byte [rbx + 0x32], cl
lea rcx, [rsp + 0x250]
or esi, eax
mov rax, rdx
sar rax, 3
mov byte [rbx + 0x37], sil
mov byte [rbx + 0x38], al
mov rax, rdx
sar rdx, 0x13
sar rax, 0xb
mov byte [rbx + 0x39], al
lea rax, [r11*4]
or edx, eax
mov rax, r11
sar r11, 0xe
sar rax, 6
mov byte [rbx + 0x3a], dl
mov edx, 0xd8
mov byte [rbx + 0x3b], al
mov rax, rdi
shl rax, 7
or r11d, eax
mov rax, rdi
sar rax, 1
mov byte [rbx + 0x3c], r11b
mov byte [rbx + 0x3d], al
mov rax, rdi
sar rdi, 0x11
sar rax, 9
mov byte [rbx + 0x3f], dil
mov byte [rbx + 0x3e], al
call fcn.1402f5e00
lea rcx, [rsp + 0x130]
mov edx, 0x40
call fcn.1402f5e00
lea rcx, [rsp + 0x170]
mov edx, 0x40
call fcn.1402f5e00
nop
movaps xmm6, xmmword [rsp + 0x330]
mov eax, 1
movaps xmm7, xmmword [rsp + 0x340]
movaps xmm8, xmmword [rsp + 0x350]
movaps xmm9, xmmword [rsp + 0x360]
movaps xmm10, xmmword [rsp + 0x370]
add rsp, 0x388
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret