Function at 0x64af10
Capabilities:
Encrypt data using curve25519

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x3a8
mov rbx, rcx
mov r15, r9
mov r14, rdx
mov rsi, r8
lea r12, [rsp + 0x2c0]
lea r13, [rsp + 0x1a0]
mov rcx, r12
lea rdi, [rsp + 0x100]
lea rbp, [rsp + 0x130]
call fcn.005cd370
mov rdx, qword [rsp + 0x410]
mov r8d, 0x20
mov rcx, r12
call fcn.005cda00
mov rdx, r12
lea rcx, [rsp + 0x160]
call fcn.005cd3c0
movzx eax, byte [rsp + 0x17f]
mov rcx, r12
and byte [rsp + 0x160], 0xf8
and eax, 0x3f
or eax, 0x40
mov byte [rsp + 0x17f], al
call fcn.005cd370
lea rdx, [rsp + 0x180]
mov rcx, r12
mov r8d, 0x20
call fcn.005cda00
mov r8, rsi
mov rdx, r14
mov rcx, r12
call fcn.005cda00
mov rdx, r12
mov rcx, r13
call fcn.005cd3c0
mov rcx, r13
call fcn.00648a30
lea r9, [rsp + 0x220]
mov rdx, r13
lea r13, [rsp + 0x1e0]
mov rcx, r9
mov qword [rsp + 0x28], r9
call fcn.0064aa50
lea rdx, [rsp + 0x270]
mov rcx, rdi
call fcn.006476f0
mov r9, qword [rsp + 0x28]
mov r8, rdi
mov rcx, rbp
mov rdx, r9
call fcn.006469d0
mov r8, rdi
lea rdx, [rsp + 0x248]
mov rcx, r13
call fcn.006469d0
mov rdx, r13
mov rcx, rbx
call fcn.00646740
mov rdx, rbp
lea rcx, [rsp + 0xe0]
call fcn.00646740
movzx eax, byte [rsp + 0xe0]
mov rcx, r12
shl eax, 7
xor byte [rbx + 0x1f], al
call fcn.005cd370
mov rdx, rbx
mov rcx, r12
mov r8d, 0x20
call fcn.005cda00
mov rdx, r15
mov rcx, r12
mov r8d, 0x20
call fcn.005cda00
mov r8, rsi
mov rdx, r14
mov rcx, r12
call fcn.005cda00
mov rdx, r12
mov rcx, r13
call fcn.005cd3c0
mov rcx, r13
call fcn.00648a30
movzx eax, byte [rsp + 0x1e2]
movzx r8d, byte [rsp + 0x1e1]
movzx edx, byte [rsp + 0x1e0]
mov edi, dword [rsp + 0x1e7]
mov r12d, dword [rsp + 0x1e2]
shl rax, 0x10
shl r8, 8
movzx ecx, byte [rsp + 0x1e6]
or r8, rax
movzx eax, byte [rsp + 0x1e7]
movzx r9d, byte [rsp + 0x1f5]
or r8, rdx
shr r12, 5
movzx edx, byte [rsp + 0x1ef]
mov r11d, dword [rsp + 0x1ea]
and r8d, 0x1fffff
and r12d, 0x1fffff
shl rcx, 8
mov r13d, dword [rsp + 0x1f7]
shl rax, 0x10
shl rdx, 0x10
shr rdi, 7
or rcx, rax
movzx eax, byte [rsp + 0x1e5]
shr r11, 4
shr r13, 5
and edi, 0x1fffff
and r11d, 0x1fffff
or rcx, rax
movzx eax, byte [rsp + 0x1ee]
and r13d, 0x1fffff
shr rcx, 2
mov qword [rsp + 0x78], r13
mov r13d, dword [rsp + 0x1fc]
shl rax, 8
and ecx, 0x1fffff
or rax, rdx
movzx edx, byte [rsp + 0x1ed]
mov r15, r13
or rax, rdx
movzx edx, byte [rsp + 0x1f4]
shr rax, 1
and eax, 0x1fffff
shl rdx, 0x10
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x1ef]
shr rax, 6
and eax, 0x1fffff
mov qword [rsp + 0x60], rax
movzx eax, byte [rsp + 0x1f3]
shl rax, 8
or rax, rdx
movzx edx, byte [rsp + 0x1f2]
or rax, rdx
movzx edx, byte [rsp + 0x1f7]
mov rsi, rax
movzx eax, byte [rsp + 0x1f6]
shl rdx, 0x10
shr rsi, 3
shl rax, 8
mov qword [rsp + 0x68], rsi
or rax, rdx
or rax, r9
mov rdx, rax
movzx eax, byte [rsp + 0x1fb]
and edx, 0x1fffff
mov qword [rsp + 0x70], rdx
movzx edx, byte [rsp + 0x1fc]
shl rax, 8
shl rdx, 0x10
or rax, rdx
movzx edx, byte [rsp + 0x1fa]
shr r15, 7
mov qword [rsp + 0x40], r15
or rax, rdx
shr rax, 2
mov r10, rax
and r10d, 0x1fffff
mov qword [rsp + 0x80], r10
movzx r10d, byte [rsp + 0x160]
movzx eax, byte [rsp + 0x161]
movzx edx, byte [rsp + 0x162]
mov ebp, dword [rsp + 0x162]
mov esi, dword [rsp + 0x167]
shl rax, 8
shl rdx, 0x10
shr rbp, 5
mov r9, rax
shr rsi, 7
or r9, rdx
and ebp, 0x1fffff
and esi, 0x1fffff
movzx edx, byte [rsp + 0x166]
or r9, r10
mov r10d, dword [rsp + 0x16a]
shl rdx, 8
and r9d, 0x1fffff
mov rax, rdx
movzx edx, byte [rsp + 0x167]
shr r10, 4
and r10d, 0x1fffff
shl rdx, 0x10
or rdx, rax
movzx eax, byte [rsp + 0x165]
or rdx, rax
movzx eax, byte [rsp + 0x16e]
shr rdx, 2
mov r13, rax
movzx eax, byte [rsp + 0x16f]
and edx, 0x1fffff
shl r13, 8
shl rax, 0x10
or rax, r13
movzx r13d, byte [rsp + 0x16d]
or rax, r13
mov r13d, dword [rsp + 0x16f]
shr rax, 1
shr r13, 6
and eax, 0x1fffff
mov r15, r13
movzx r13d, byte [rsp + 0x173]
and r15d, 0x1fffff
shl r13, 8
mov qword [rsp + 0x28], r15
movzx r15d, byte [rsp + 0x175]
mov r14, r13
movzx r13d, byte [rsp + 0x174]
shl r13, 0x10
or r13, r14
movzx r14d, byte [rsp + 0x172]
or r13, r14
movzx r14d, byte [rsp + 0x177]
shr r13, 3
mov qword [rsp + 0x30], r13
shl r14, 0x10
movzx r13d, byte [rsp + 0x176]
shl r13, 8
or r13, r14
movzx r14d, byte [rsp + 0x17a]
or r13, r15
mov r15, r13
mov r13d, dword [rsp + 0x177]
and r15d, 0x1fffff
shr r13, 5
mov qword [rsp + 0x38], r15
and r13d, 0x1fffff
mov qword [rsp + 0x48], r13
movzx r13d, byte [rsp + 0x17b]
mov r15, r13
movzx r13d, byte [rsp + 0x17c]
shl r15, 8
shl r13, 0x10
or r13, r15
or r13, r14
movzx r14d, byte [rsp + 0x1b5]
shr r13, 2
mov r15, r13
mov r13d, dword [rsp + 0x17c]
mov qword [rsp + 0x90], r14
and r15d, 0x1fffff
shr r13, 7
mov qword [rsp + 0x50], r13
movzx r13d, byte [rsp + 0x1a0]
mov qword [rsp + 0x88], r13
movzx r13d, byte [rsp + 0x1a1]
movzx r14d, byte [rsp + 0x1a2]
shl r13, 8
shl r14, 0x10
or r13, r14
or r13, qword [rsp + 0x88]
and r13d, 0x1fffff
mov r14, r13
mov r13, r8
imul r13, r9
add r13, r14
mov r14, r8
mov qword [rsp + 0x88], r13
mov r13d, dword [rsp + 0x1a2]
imul r14, rbp
shr r13, 5
and r13d, 0x1fffff
add r13, r14
mov r14, r12
imul r14, r9
add r13, r14
mov qword [rsp + 0x98], r13
movzx r13d, byte [rsp + 0x1a6]
mov r14, r13
movzx r13d, byte [rsp + 0x1a7]
shl r14, 8
shl r13, 0x10
or r13, r14
movzx r14d, byte [rsp + 0x1a5]
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 r14, r13
mov r13d, dword [rsp + 0x1a7]
mov qword [rsp + 0xa0], r14
mov r14, r8
imul r14, rsi
shr r13, 7
and r13d, 0x1fffff
add r14, r13
mov r13, r12
imul r13, 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 + 0xa8], r13
mov r13d, dword [rsp + 0x1aa]
imul r14, r10
shr r13, 4
and r13d, 0x1fffff
add r13, r14
mov r14, r12
imul r14, rsi
add r14, r13
mov r13, rcx
imul r13, rdx
add r14, r13
mov r13, rdi
imul r13, rbp
add r13, r14
mov r14, r11
imul r14, r9
add r13, r14
mov qword [rsp + 0xb0], r13
movzx r13d, byte [rsp + 0x1ae]
mov r14, r13
movzx r13d, byte [rsp + 0x1af]
shl r14, 8
shl r13, 0x10
or r13, r14
movzx r14d, byte [rsp + 0x1ad]
or r13, r14
mov r14, r8
imul r14, rax
shr r13, 1
and r13d, 0x1fffff
add r13, r14
mov r14, r12
imul r14, r10
add r13, r14
mov r14, rcx
imul r14, rsi
add r14, r13
mov r13, rdi
imul r13, rdx
add r14, r13
mov r13, r11
imul r13, rbp
add r13, r14
mov r14, qword [rsp + 0x58]
imul r14, r9
add r14, r13
mov r13d, dword [rsp + 0x1af]
mov qword [rsp + 0xb8], r14
mov r14, qword [rsp + 0x28]
shr r13, 6
imul r14, r8
and r13d, 0x1fffff
add r14, r13
mov r13, r12
imul r13, rax
add r13, r14
mov r14, rcx
imul r14, r10
add r13, r14
mov r14, rdi
imul r14, rsi
add r14, r13
mov r13, r11
imul r13, rdx
add r14, r13
mov r13, qword [rsp + 0x58]
imul r13, rbp
add r13, r14
mov r14, qword [rsp + 0x60]
imul r14, r9
add r14, r13
movzx r13d, byte [rsp + 0x1b3]
mov qword [rsp + 0xc0], r14
shl r13, 8
mov r14, r13
movzx r13d, byte [rsp + 0x1b4]
shl r13, 0x10
or r13, r14
movzx r14d, byte [rsp + 0x1b2]
or r13, r14
mov r14, qword [rsp + 0x30]
shr r13, 3
imul r14, r8
add r14, r13
mov r13, qword [rsp + 0x28]
imul r13, r12
add r14, r13
mov r13, rcx
imul r13, rax
add r13, r14
mov r14, rdi
imul r14, r10
add r13, r14
mov r14, r11
imul r14, rsi
add r14, r13
mov r13, qword [rsp + 0x58]
imul r13, rdx
add r14, r13
mov r13, qword [rsp + 0x60]
imul r13, rbp
add r13, r14
mov r14, qword [rsp + 0x68]
imul r14, r9
add r14, r13
mov qword [rsp + 0xc8], r14
movzx r13d, byte [rsp + 0x1b6]
movzx r14d, byte [rsp + 0x1b7]
shl r13, 8
shl r14, 0x10
or r13, r14
mov r14, qword [rsp + 0x38]
or r13, qword [rsp + 0x90]
and r13d, 0x1fffff
imul r14, r8
add r13, r14
mov r14, qword [rsp + 0x30]
imul r14, r12
add r14, r13
mov r13, qword [rsp + 0x28]
imul r13, rcx
add r14, r13
mov r13, rdi
imul r13, rax
add r13, r14
mov r14, r11
imul r14, r10
add r13, r14
mov r14, qword [rsp + 0x58]
imul r14, rsi
add r14, r13
mov r13, qword [rsp + 0x60]
imul r13, 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 r13d, dword [rsp + 0x1b7]
mov qword [rsp + 0x90], r14
mov r14, qword [rsp + 0x48]
shr r13, 5
imul r14, r8
and r13d, 0x1fffff
add r13, r14
mov r14, qword [rsp + 0x38]
imul r14, r12
add r13, r14
mov r14, qword [rsp + 0x30]
imul r14, rcx
add r14, r13
mov r13, qword [rsp + 0x28]
imul r13, rdi
add r14, r13
mov r13, r11
imul r13, rax
add r13, r14
mov r14, qword [rsp + 0x58]
imul r14, r10
add r13, r14
mov r14, qword [rsp + 0x60]
imul r14, rsi
add r14, r13
mov r13, qword [rsp + 0x68]
imul r13, 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 qword [rsp + 0xd0], r13
movzx r13d, byte [rsp + 0x1bb]
shl r13, 8
mov r14, r13
movzx r13d, byte [rsp + 0x1bc]
shl r13, 0x10
or r13, r14
movzx r14d, byte [rsp + 0x1ba]
or r13, r14
mov r14, r8
imul r14, r15
shr r13, 2
and r13d, 0x1fffff
add r14, r13
mov r13, qword [rsp + 0x48]
imul r13, r12
add r13, r14
mov r14, qword [rsp + 0x38]
imul r14, rcx
add r13, r14
mov r14, qword [rsp + 0x30]
imul r14, rdi
add r14, r13
mov r13, qword [rsp + 0x28]
imul r13, r11
add r14, r13
mov r13, qword [rsp + 0x58]
imul r13, rax
add r13, r14
mov r14, qword [rsp + 0x60]
imul r14, r10
add r13, r14
mov r14, qword [rsp + 0x68]
imul r14, rsi
add r14, r13
mov r13, qword [rsp + 0x70]
imul r13, rdx
add r14, r13
mov r13, qword [rsp + 0x78]
imul r13, rbp
add r13, r14
mov r14, qword [rsp + 0x80]
imul r14, r9
add r14, r13
mov r13d, dword [rsp + 0x1bc]
shr r13, 7
imul r8, qword [rsp + 0x50]
imul r9, qword [rsp + 0x40]
add r8, r13
mov r13, r12
imul r13, r15
imul r12, qword [rsp + 0x50]
add r13, r8
mov r8, qword [rsp + 0x48]
imul r8, rcx
add r13, r8
mov r8, qword [rsp + 0x38]
imul r8, rdi
add r8, r13
mov r13, qword [rsp + 0x30]
imul r13, r11
add r8, r13
mov r13, qword [rsp + 0x58]
imul r13, qword [rsp + 0x28]
add r13, r8
mov r8, qword [rsp + 0x60]
imul r8, rax
add r13, r8
mov r8, qword [rsp + 0x68]
imul r8, r10
add r8, r13
mov r13, qword [rsp + 0x70]
imul r13, rsi
add r8, r13
mov r13, qword [rsp + 0x78]
imul r13, rdx
add r13, r8
mov r8, qword [rsp + 0x80]
imul r8, rbp
add r8, r13
mov r13, qword [rsp + 0x60]
add r9, r8
mov qword [rsp + 0xd8], r9
mov r9, rcx
imul r9, r15
add r12, r9
mov r9, qword [rsp + 0x48]
imul r9, rdi
mov r8, r9
mov r9, qword [rsp + 0x38]
add r8, r12
mov r12, qword [rsp + 0x58]
imul r9, r11
add r8, r9
mov r9, qword [rsp + 0x30]
imul r9, r12
imul rbp, qword [rsp + 0x40]
imul rcx, qword [rsp + 0x50]
add r9, r8
mov r8, qword [rsp + 0x28]
imul r8, r13
add r9, r8
mov r8, qword [rsp + 0x68]
imul r8, rax
add r8, r9
mov r9, qword [rsp + 0x70]
imul r9, r10
add r8, r9
mov r9, qword [rsp + 0x78]
imul r9, rsi
add r9, r8
mov r8, qword [rsp + 0x80]
imul r8, rdx
add r8, r9
add rbp, r8
mov r8, rdi
imul r8, r15
add rcx, r8
mov r8, qword [rsp + 0x48]
imul r8, r11
add rcx, r8
mov r8, qword [rsp + 0x38]
imul r8, r12
add r8, rcx
mov rcx, qword [rsp + 0x30]
mov r9, qword [rsp + 0x68]
imul rdx, qword [rsp + 0x40]
imul rcx, r13
add r8, rcx
mov rcx, qword [rsp + 0x28]
imul rcx, r9
add rcx, r8
mov r8, qword [rsp + 0x70]
imul r8, rax
add rcx, r8
mov r8, qword [rsp + 0x78]
imul r8, r10
add r8, rcx
mov rcx, qword [rsp + 0x80]
imul rcx, rsi
add rcx, r8
mov r8, qword [rsp + 0x78]
add rdx, rcx
imul rdi, qword [rsp + 0x50]
mov rcx, r11
imul rcx, r15
mov qword [rsp + 0x58], rdx
mov rdx, qword [rsp + 0x38]
imul r11, qword [rsp + 0x50]
imul rdx, r13
add rdi, rcx
mov rcx, qword [rsp + 0x48]
imul rsi, qword [rsp + 0x40]
imul rcx, r12
add rcx, rdi
mov rdi, qword [rsp + 0x70]
add rcx, rdx
mov rdx, qword [rsp + 0x30]
imul rdx, r9
add rdx, rcx
mov rcx, qword [rsp + 0x28]
imul rcx, rdi
add rdx, rcx
mov rcx, r8
imul rcx, rax
add rcx, rdx
mov rdx, qword [rsp + 0x80]
imul rdx, r10
imul r10, qword [rsp + 0x40]
add rdx, rcx
mov rcx, r12
imul rcx, r15
add rsi, rdx
mov qword [rsp + 0x60], rsi
mov rsi, rdi
add rcx, r11
mov r11, qword [rsp + 0x48]
imul r11, r13
add rcx, r11
mov r11, qword [rsp + 0x38]
imul r11, r9
add r11, rcx
mov rcx, qword [rsp + 0x30]
imul rcx, rdi
add r11, rcx
mov rcx, qword [rsp + 0x28]
imul rcx, r8
add rcx, r11
mov r11, qword [rsp + 0x80]
mov rdx, r11
imul rdx, rax
add rdx, rcx
mov rcx, r13
add r10, rdx
mov rdx, qword [rsp + 0x48]
imul r12, qword [rsp + 0x50]
imul rcx, r15
mov qword [rsp + 0x68], r10
mov r10, qword [rsp + 0x28]
imul rdx, r9
imul rax, qword [rsp + 0x40]
add rcx, r12
mov r12, qword [rsp + 0x30]
add rdx, rcx
mov rcx, qword [rsp + 0x38]
imul r13, qword [rsp + 0x50]
imul rcx, rdi
mov rdi, r9
imul rdi, r15
imul r9, qword [rsp + 0x50]
add rdx, rcx
mov rcx, r8
imul rcx, r12
add rdi, r13
mov r13, qword [rsp + 0x48]
add rcx, rdx
mov rdx, r11
imul rdx, r10
add rdx, rcx
mov rcx, qword [rsp + 0x38]
add rax, rdx
mov rdx, rsi
imul rdx, r13
add rdi, rdx
mov rdx, r8
imul rdx, rcx
add rdx, rdi
mov rdi, r11
imul rdi, r12
add rdi, rdx
mov rdx, qword [rsp + 0x40]
imul rdx, r10
mov r10, rcx
add rdi, rdx
mov rdx, r8
mov qword [rsp + 0x28], rdi
mov rdi, rsi
imul rsi, r15
imul rdx, r13
add rsi, r9
mov r9, r13
add rdx, rsi
mov rsi, r11
imul rsi, rcx
mov rcx, r8
add rsi, rdx
imul r12, qword [rsp + 0x40]
imul rcx, r15
add rsi, r12
mov r12, qword [rsp + 0x50]
imul rdi, r12
imul r8, r12
mov rdx, rdi
mov rdi, r11
add rdx, rcx
mov rcx, r11
imul rcx, r13
mov r13, rdi
imul r13, r15
imul rdi, r12
add rdx, rcx
mov rcx, qword [rsp + 0x40]
imul r10, rcx
imul r15, rcx
lea r11, [rdx + r10]
mov rdx, rdi
mov rdi, rcx
mov r10, qword [rsp + 0xb8]
mov qword [rsp + 0x30], r11
mov r11, r8
imul rdi, r12
mov r8, qword [rsp + 0xc8]
add r11, r13
mov r13, r9
mov r9, qword [rsp + 0x98]
imul r13, rcx
mov rcx, r15
mov r15, qword [rsp + 0xb0]
add rcx, rdx
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0xa0]
add r11, r13
mov r13, rdi
mov rdi, qword [rsp + 0x88]
lea rdx, [rdi + 0x100000]
sar rdx, 0x15
lea r12, [r9 + rdx]
shl rdx, 0x15
mov r9, qword [rsp + 0xa8]
sub rdi, rdx
lea rdx, [rcx + 0x100000]
sar rdx, 0x15
mov qword [rsp + 0x40], rdi
mov rdi, qword [rsp + 0xd0]
add r9, rdx
shl rdx, 0x15
sub rcx, rdx
lea rdx, [r15 + 0x100000]
mov qword [rsp + 0x48], r9
sar rdx, 0x15
mov qword [rsp + 0x50], rcx
lea r9, [r10 + rdx]
mov r10, qword [rsp + 0xc0]
shl rdx, 0x15
sub r15, rdx
lea rdx, [r10 + 0x100000]
mov qword [rsp + 0x70], r15
lea r15, [rax + 0x100000]
sar rdx, 0x15
add r8, rdx
shl rdx, 0x15
mov qword [rsp + 0x78], r8
mov r8, qword [rsp + 0x90]
sub r10, rdx
mov qword [rsp + 0x80], r10
lea r10, [rbp + 0x100000]
lea rdx, [r8 + 0x100000]
sar rdx, 0x15
lea rcx, [rdi + rdx]
shl rdx, 0x15
mov rdi, qword [rsp + 0xd8]
sar r10, 0x15
sub r8, rdx
lea rdx, [r14 + 0x100000]
sar r15, 0x15
sar rdx, 0x15
mov qword [rsp + 0x88], r8
lea r8, [rdi + rdx]
shl rdx, 0x15
mov rdi, r14
sub rdi, rdx
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x90], rdi
add rdx, r10
shl r10, 0x15
sub rbp, r10
mov qword [rsp + 0x58], rbp
mov rbp, qword [rsp + 0x60]
mov r10, qword [rsp + 0x68]
lea rdi, [rbp + 0x100000]
sar rdi, 0x15
add r10, rdi
shl rdi, 0x15
sub rbp, rdi
mov rdi, qword [rsp + 0x28]
add rdi, r15
shl r15, 0x15
sub rax, r15
lea r15, [rsi + 0x100000]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x30]
sar r15, 0x15
add rax, r15
shl r15, 0x15
sub rsi, r15
mov r15, qword [rsp + 0x38]
mov qword [rsp + 0x30], rsi
lea rsi, [r11 + 0x100000]
sar rsi, 0x15
add r15, rsi
shl rsi, 0x15
sub r11, rsi
lea rsi, [r12 + 0x100000]
mov qword [rsp + 0x38], r11
lea r11, [r13 + 0x100000]
sar rsi, 0x15
sar r11, 0x15
mov r14, r11
shl r14, 0x15
sub r13, r14
mov r14, qword [rsp + 0x50]
add r14, rsi
shl rsi, 0x15
sub r12, rsi
mov qword [rsp + 0x50], r14
mov r14, qword [rsp + 0x70]
mov qword [rsp + 0x60], r12
mov r12, qword [rsp + 0x48]
lea rsi, [r12 + 0x100000]
sar rsi, 0x15
add r14, rsi
shl rsi, 0x15
sub r12, rsi
mov qword [rsp + 0x48], r14
lea rsi, [r9 + 0x100000]
mov r14, qword [rsp + 0x80]
sar rsi, 0x15
mov qword [rsp + 0x68], r12
lea r12, [r14 + rsi]
mov r14, qword [rsp + 0x78]
shl rsi, 0x15
sub r9, rsi
mov rsi, qword [rsp + 0x88]
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x80], r9
lea r9, [r14 + 0x100000]
sar r9, 0x15
lea r12, [rsi + r9]
shl r9, 0x15
mov rsi, qword [rsp + 0x90]
sub r14, r9
lea r9, [rcx + 0x100000]
mov qword [rsp + 0x78], r12
sar r9, 0x15
mov qword [rsp + 0x88], r14
lea r14, [rsi + r9]
shl r9, 0x15
mov rsi, qword [rsp + 0x58]
sub rcx, r9
lea r9, [r8 + 0x100000]
sar r9, 0x15
mov qword [rsp + 0x90], rcx
lea rcx, [rsi + r9]
shl r9, 0x15
mov rsi, qword [rsp + 0x28]
sub r8, r9
lea r9, [rdx + 0x100000]
sar r9, 0x15
add rbp, r9
shl r9, 0x15
sub rdx, r9
lea r9, [r10 + 0x100000]
mov qword [rsp + 0x58], rbp
sar r9, 0x15
lea rbp, [rsi + r9]
shl r9, 0x15
mov rsi, qword [rsp + 0x30]
sub r10, r9
lea r9, [rdi + 0x100000]
sar r9, 0x15
add rsi, r9
shl r9, 0x15
sub rdi, r9
lea r9, [rax + 0x100000]
mov qword [rsp + 0x28], rdi
mov rdi, qword [rsp + 0x38]
sar r9, 0x15
add rdi, r9
shl r9, 0x15
sub rax, r9
lea r9, [r15 + 0x100000]
sar r9, 0x15
lea r12, [r13 + r9]
shl r9, 0x15
mov r13, qword [rsp + 0x58]
sub r15, r9
imul r9, r11, 0xa2c13
add r8, r9
imul r9, r11, 0x72d18
add rcx, r9
imul r9, r11, 0x9fb67
add rdx, r9
imul r9, r11, 0xfffffffffff0c653
add r13, r9
imul r9, r11, 0x215d1
imul r11, r11, 0xfffffffffff59083
add r10, r9
imul r9, r12, 0xa2c13
add rbp, r11
imul r11, r15, 0xa2c13
add r11, qword [rsp + 0x90]
add r14, r9
imul r9, r12, 0x72d18
add r8, r9
imul r9, r12, 0x9fb67
add rcx, r9
imul r9, r12, 0xfffffffffff0c653
add rdx, r9
imul r9, r12, 0x215d1
imul r12, r12, 0xfffffffffff59083
add r13, r9
imul r9, r15, 0x72d18
add r10, r12
add r14, r9
imul r9, r15, 0x9fb67
add r8, r9
imul r9, r15, 0xfffffffffff0c653
imul r12, rdi, 0xa2c13
add r12, qword [rsp + 0x78]
add rcx, r9
imul r9, r15, 0x215d1
imul r15, r15, 0xfffffffffff59083
add rdx, r9
imul r9, rdi, 0x72d18
add r13, r15
add r11, r9
imul r9, rdi, 0x9fb67
add r14, r9
imul r9, rdi, 0xfffffffffff0c653
add r8, r9
imul r9, rdi, 0x215d1
imul rdi, rdi, 0xfffffffffff59083
add rcx, r9
imul r9, rax, 0x72d18
add rdx, rdi
imul rdi, rax, 0xa2c13
add rdi, qword [rsp + 0x88]
add r12, r9
imul r9, rax, 0x9fb67
add r11, r9
imul r9, rax, 0xfffffffffff0c653
add r14, r9
imul r9, rax, 0x215d1
imul rax, rax, 0xfffffffffff59083
add r8, r9
add rcx, rax
imul rax, rsi, 0xa2c13
add rax, qword [rsp + 0x70]
imul r9, rsi, 0x72d18
add rdi, r9
imul r9, rsi, 0x9fb67
add r12, r9
imul r9, rsi, 0xfffffffffff0c653
add r11, r9
imul r9, rsi, 0x215d1
imul rsi, rsi, 0xfffffffffff59083
add r14, r9
lea r9, [rax + 0x100000]
sar r9, 0x15
add r8, rsi
mov rsi, qword [rsp + 0x28]
add rdi, r9
shl r9, 0x15
sub rax, r9
lea r9, [r12 + 0x100000]
sar r9, 0x15
add r11, r9
shl r9, 0x15
sub r12, r9
lea r9, [r14 + 0x100000]
sar r9, 0x15
add r8, r9
shl r9, 0x15
sub r14, r9
lea r9, [rcx + 0x100000]
sar r9, 0x15
add rdx, r9
shl r9, 0x15
sub rcx, r9
lea r9, [r13 + 0x100000]
sar r9, 0x15
add r10, r9
shl r9, 0x15
sub r13, r9
lea r9, [rbp + 0x100000]
sar r9, 0x15
add rsi, r9
shl r9, 0x15
sub rbp, r9
lea r9, [rdi + 0x100000]
sar r9, 0x15
imul r15, rsi, 0x72d18
add r12, r9
shl r9, 0x15
sub rdi, r9
lea r9, [r11 + 0x100000]
sar r9, 0x15
add rax, r15
add r14, r9
shl r9, 0x15
imul r15, rsi, 0x9fb67
sub r11, r9
lea r9, [r8 + 0x100000]
sar r9, 0x15
add rcx, r9
shl r9, 0x15
add rdi, r15
sub r8, r9
imul r15, rsi, 0xfffffffffff0c653
lea r9, [rdx + 0x100000]
sar r9, 0x15
add r13, r9
shl r9, 0x15
sub rdx, r9
add r12, r15
lea r9, [r10 + 0x100000]
imul r15, rsi, 0x215d1
sar r9, 0x15
add rbp, r9
shl r9, 0x15
sub r10, r9
imul r9, rsi, 0xa2c13
add r9, qword [rsp + 0x80]
add r11, r15
imul rsi, rsi, 0xfffffffffff59083
imul r15, rbp, 0x72d18
add r14, rsi
imul rsi, rbp, 0xa2c13
add rsi, qword [rsp + 0x48]
add r9, r15
imul r15, rbp, 0x9fb67
add rax, r15
imul r15, rbp, 0xfffffffffff0c653
add rdi, r15
imul r15, rbp, 0x215d1
imul rbp, rbp, 0xfffffffffff59083
add r12, r15
imul r15, r10, 0x72d18
add r11, rbp
imul rbp, r10, 0xa2c13
add rbp, qword [rsp + 0x68]
add rsi, r15
imul r15, r10, 0x9fb67
add r9, r15
imul r15, r10, 0xfffffffffff0c653
add rax, r15
imul r15, r10, 0x215d1
imul r10, r10, 0xfffffffffff59083
add rdi, r15
imul r15, r13, 0xa2c13
add r15, qword [rsp + 0x50]
add r12, r10
imul r10, r13, 0x72d18
add rbp, r10
imul r10, r13, 0x9fb67
add rsi, r10
imul r10, r13, 0xfffffffffff0c653
add r9, r10
imul r10, r13, 0x215d1
imul r13, r13, 0xfffffffffff59083
add rax, r10
imul r10, rdx, 0x72d18
add rdi, r13
imul r13, rdx, 0xa2c13
add r13, qword [rsp + 0x60]
add r15, r10
imul r10, rdx, 0x9fb67
add rbp, r10
imul r10, rdx, 0xfffffffffff0c653
add rsi, r10
imul r10, rdx, 0x215d1
imul rdx, rdx, 0xfffffffffff59083
add r9, r10
imul r10, rcx, 0x72d18
add rax, rdx
imul rdx, rcx, 0xa2c13
add rdx, qword [rsp + 0x40]
add r13, r10
imul r10, rcx, 0x9fb67
add r15, r10
imul r10, rcx, 0xfffffffffff0c653
add rbp, r10
imul r10, rcx, 0x215d1
imul rcx, rcx, 0xfffffffffff59083
add rsi, r10
add r9, rcx
lea rcx, [rdx + 0x100000]
sar rcx, 0x15
add r13, rcx
shl rcx, 0x15
sub rdx, rcx
lea rcx, [r15 + 0x100000]
sar rcx, 0x15
add rbp, rcx
shl rcx, 0x15
sub r15, rcx
lea rcx, [rsi + 0x100000]
sar rcx, 0x15
add r9, rcx
shl rcx, 0x15
sub rsi, rcx
lea rcx, [rax + 0x100000]
sar rcx, 0x15
add rdi, rcx
shl rcx, 0x15
sub rax, rcx
lea rcx, [r12 + 0x100000]
sar rcx, 0x15
add r11, rcx
shl rcx, 0x15
sub r12, rcx
lea rcx, [r14 + 0x100000]
sar rcx, 0x15
add r8, rcx
shl rcx, 0x15
sub r14, rcx
lea rcx, [r13 + 0x100000]
lea r10, [r8 + 0x100000]
sar rcx, 0x15
add r15, rcx
shl rcx, 0x15
sub r13, rcx
lea rcx, [rbp + 0x100000]
sar rcx, 0x15
add rsi, rcx
shl rcx, 0x15
sub rbp, rcx
lea rcx, [r9 + 0x100000]
sar rcx, 0x15
add rax, rcx
shl rcx, 0x15
sub r9, rcx
lea rcx, [rdi + 0x100000]
sar rcx, 0x15
add r12, rcx
shl rcx, 0x15
sub rdi, rcx
lea rcx, [r11 + 0x100000]
sar rcx, 0x15
add r14, rcx
shl rcx, 0x15
sub r11, rcx
mov rcx, r10
and r10, 0xffffffffffe00000
sar rcx, 0x15
sub r8, r10
imul r10, rcx, 0xa2c13
add rdx, r10
imul r10, rcx, 0x72d18
add r13, r10
imul r10, rcx, 0x9fb67
add r15, r10
imul r10, rcx, 0xfffffffffff0c653
add rbp, r10
imul r10, rcx, 0x215d1
imul rcx, rcx, 0xfffffffffff59083
add rsi, r10
add r9, rcx
mov rcx, rdx
sar rcx, 0x15
add r13, rcx
shl rcx, 0x15
sub rdx, rcx
mov r10, rdx
mov rdx, r13
sar rdx, 0x15
add r15, rdx
shl rdx, 0x15
sub r13, rdx
mov rdx, r15
sar rdx, 0x15
add rbp, rdx
shl rdx, 0x15
sub r15, rdx
mov rdx, rbp
sar rdx, 0x15
add rsi, rdx
shl rdx, 0x15
sub rbp, rdx
mov rdx, rsi
sar rdx, 0x15
add r9, rdx
shl rdx, 0x15
mov rcx, r9
sub rsi, rdx
sar rcx, 0x15
add rax, rcx
shl rcx, 0x15
sub r9, rcx
mov rcx, rax
sar rcx, 0x15
add rdi, rcx
shl rcx, 0x15
mov rdx, rdi
sub rax, rcx
sar rdx, 0x15
add r12, rdx
shl rdx, 0x15
sub rdi, rdx
mov rdx, r12
sar rdx, 0x15
add r11, rdx
shl rdx, 0x15
sub r12, rdx
mov rdx, r11
sar rdx, 0x15
add r14, rdx
shl rdx, 0x15
sub r11, rdx
mov rdx, r14
sar rdx, 0x15
add r8, rdx
shl rdx, 0x15
sub r14, rdx
mov rdx, r8
and r8d, 0x1fffff
sar rdx, 0x15
imul rcx, rdx, 0xa2c13
add r10, rcx
imul rcx, rdx, 0x72d18
add r13, rcx
imul rcx, rdx, 0x9fb67
add r15, rcx
imul rcx, rdx, 0xfffffffffff0c653
add rbp, rcx
imul rcx, rdx, 0x215d1
imul rdx, rdx, 0xfffffffffff59083
add rsi, rcx
mov rcx, r10
sar rcx, 0x15
add rdx, r9
add r13, rcx
shl rcx, 0x15
sub r10, rcx
mov rcx, r13
sar rcx, 0x15
mov word [rbx + 0x20], r10w
add r15, rcx
shl rcx, 0x15
sub r13, rcx
mov rcx, r15
sar rcx, 0x15
add rbp, rcx
shl rcx, 0x15
sub r15, rcx
mov rcx, rbp
sar rcx, 0x15
add rsi, rcx
shl rcx, 0x15
sub rbp, rcx
mov rcx, rsi
sar r10, 0x10
sar rcx, 0x15
add rdx, rcx
shl rcx, 0x15
sub rsi, rcx
mov rcx, rdx
sar rcx, 0x15
add rax, rcx
shl rcx, 0x15
sub rdx, rcx
mov rcx, rax
sar rcx, 0x15
add rdi, rcx
shl rcx, 0x15
sub rax, rcx
mov rcx, rdi
sar rcx, 0x15
add r12, rcx
shl rcx, 0x15
sub rdi, rcx
mov rcx, r12
sar rcx, 0x15
add r11, rcx
shl rcx, 0x15
sub r12, rcx
mov rcx, r11
sar rcx, 0x15
mov word [rbx + 0x35], r12w
add r14, rcx
shl rcx, 0x15
sub r11, rcx
mov rcx, r14
sar rcx, 0x15
add r8, rcx
shl rcx, 0x15
sub r14, rcx
mov rcx, r13
shl rcx, 5
sar r12, 0x10
or r10d, ecx
mov rcx, r13
sar rcx, 3
mov byte [rbx + 0x22], r10b
mov byte [rbx + 0x23], cl
mov rcx, r13
sar r13, 0x13
sar rcx, 0xb
mov byte [rbx + 0x24], cl
lea rcx, [r15*4]
or r13d, ecx
mov rcx, r15
sar r15, 0xe
sar rcx, 6
mov byte [rbx + 0x25], r13b
mov byte [rbx + 0x26], cl
mov rcx, rbp
shl rcx, 7
or r15d, ecx
mov rcx, rbp
sar rcx, 1
mov byte [rbx + 0x27], r15b
mov byte [rbx + 0x28], cl
mov rcx, rbp
sar rbp, 0x11
sar rcx, 9
mov byte [rbx + 0x29], cl
mov rcx, rsi
shl rcx, 4
or ebp, ecx
mov rcx, rsi
sar rcx, 4
mov byte [rbx + 0x2a], bpl
mov byte [rbx + 0x2b], cl
mov rcx, rsi
sar rsi, 0x14
sar rcx, 0xc
mov byte [rbx + 0x2c], cl
lea rcx, [rdx + rdx]
or esi, ecx
mov rcx, rdx
sar rdx, 0xf
sar rcx, 7
mov byte [rbx + 0x2d], sil
mov byte [rbx + 0x2e], cl
mov rcx, rax
shl rcx, 6
or edx, ecx
lea rcx, [rsp + 0x2c0]
mov byte [rbx + 0x2f], dl
mov rdx, rax
sar rdx, 2
mov byte [rbx + 0x30], dl
mov rdx, rax
sar rax, 0x12
sar rdx, 0xa
mov byte [rbx + 0x31], dl
lea rdx, [rdi*8]
or eax, edx
mov edx, 0xd8
mov byte [rbx + 0x32], al
mov rax, rdi
sar rdi, 0xd
sar rax, 5
mov byte [rbx + 0x34], dil
mov byte [rbx + 0x33], al
mov rax, r11
shl rax, 5
or r12d, eax
mov rax, r11
sar rax, 3
mov byte [rbx + 0x37], r12b
mov byte [rbx + 0x38], al
mov rax, r11
sar r11, 0x13
sar rax, 0xb
mov byte [rbx + 0x39], al
lea rax, [r14*4]
or r11d, eax
mov rax, r14
sar r14, 0xe
sar rax, 6
mov byte [rbx + 0x3a], r11b
mov byte [rbx + 0x3b], al
mov rax, r8
shl rax, 7
or r14d, eax
mov rax, r8
sar rax, 1
mov byte [rbx + 0x3c], r14b
mov byte [rbx + 0x3d], al
mov rax, r8
sar r8, 0x11
sar rax, 9
mov byte [rbx + 0x3f], r8b
mov byte [rbx + 0x3e], al
call fcn.005fddf0
lea rcx, [rsp + 0x1a0]
mov edx, 0x40
call fcn.005fddf0
lea rcx, [rsp + 0x160]
mov edx, 0x40
call fcn.005fddf0
mov eax, 1
add rsp, 0x3a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret