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