Function at 0x1402c2d10
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 r12, [rsp + 0x2c0]
mov r15, r9
mov r14, rdx
mov rbx, r8
mov qword [rsp + 0x3f0], rcx
mov rcx, r12
lea r13, [rsp + 0x1a0]
lea rbp, [rsp + 0x220]
call fcn.1402437a0
mov rdx, qword [rsp + 0x410]
mov r8d, 0x20
mov rcx, r12
lea rsi, [rsp + 0x100]
lea rdi, [rsp + 0x130]
call fcn.140244030
mov rdx, r12
lea rcx, [rsp + 0x160]
call fcn.1402437f0
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.1402437a0
lea rdx, [rsp + 0x180]
mov rcx, r12
mov r8d, 0x20
call fcn.140244030
mov r8, rbx
mov rdx, r14
mov rcx, r12
call fcn.140244030
mov rdx, r12
mov rcx, r13
call fcn.1402437f0
mov rcx, r13
call fcn.1402c06e0
mov rdx, r13
mov rcx, rbp
lea r13, [rsp + 0x1e0]
call fcn.1402c28b0
lea rdx, [rsp + 0x270]
mov rcx, rsi
call fcn.1402bf380
mov r8, rsi
mov rdx, rbp
mov rcx, rdi
call fcn.1402be5b0
mov r8, rsi
lea rdx, [rsp + 0x248]
mov rcx, r13
call fcn.1402be5b0
mov rcx, qword [rsp + 0x3f0]
mov rdx, r13
call fcn.1402be1b0
lea rcx, [rsp + 0xe0]
mov rdx, rdi
call fcn.1402be1b0
mov rdx, qword [rsp + 0x3f0]
movzx eax, byte [rsp + 0xe0]
mov rcx, r12
shl eax, 7
xor byte [rdx + 0x1f], al
call fcn.1402437a0
mov rdx, qword [rsp + 0x3f0]
mov rcx, r12
mov r8d, 0x20
call fcn.140244030
mov rdx, r15
mov rcx, r12
mov r8d, 0x20
call fcn.140244030
mov r8, rbx
mov rdx, r14
mov rcx, r12
call fcn.140244030
mov rdx, r12
mov rcx, r13
call fcn.1402437f0
mov rcx, r13
call fcn.1402c06e0
movzx eax, byte [rsp + 0x1e2]
movzx r9d, byte [rsp + 0x1e1]
movzx edx, byte [rsp + 0x1e0]
mov r12d, dword [rsp + 0x1e2]
shl rax, 0x10
shl r9, 8
movzx r8d, byte [rsp + 0x1e6]
movzx ecx, byte [rsp + 0x1f5]
or r9, rax
movzx eax, byte [rsp + 0x1e7]
shr r12, 5
mov edi, dword [rsp + 0x1e7]
or r9, rdx
and r12d, 0x1fffff
movzx edx, byte [rsp + 0x1ef]
mov ebx, dword [rsp + 0x1ea]
and r9d, 0x1fffff
shl r8, 8
shl rax, 0x10
shl rdx, 0x10
shr rdi, 7
or r8, rax
movzx eax, byte [rsp + 0x1e5]
shr rbx, 4
and edi, 0x1fffff
and ebx, 0x1fffff
or r8, rax
movzx eax, byte [rsp + 0x1ee]
shr r8, 2
shl rax, 8
and r8d, 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 + 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
mov rdx, rax
movzx eax, byte [rsp + 0x1f6]
shr rdx, 3
mov qword [rsp + 0x68], rdx
movzx edx, byte [rsp + 0x1f7]
shl rax, 8
shl rdx, 0x10
or rax, rdx
movzx edx, byte [rsp + 0x1fc]
or rax, rcx
mov rsi, rax
mov eax, dword [rsp + 0x1f7]
shl rdx, 0x10
and esi, 0x1fffff
shr rax, 5
mov qword [rsp + 0x70], rsi
mov rcx, rax
movzx eax, byte [rsp + 0x1fb]
and ecx, 0x1fffff
shl rax, 8
mov qword [rsp + 0x78], rcx
movzx ecx, byte [rsp + 0x160]
or rax, rdx
movzx edx, byte [rsp + 0x1fa]
or rax, rdx
shr rax, 2
mov r15, rax
mov eax, dword [rsp + 0x1fc]
and r15d, 0x1fffff
mov r10, rax
mov qword [rsp + 0x80], r15
shr r10, 7
mov qword [rsp + 0x50], r10
movzx eax, byte [rsp + 0x161]
movzx edx, byte [rsp + 0x162]
mov ebp, dword [rsp + 0x162]
shl rax, 8
mov esi, dword [rsp + 0x167]
movzx r14d, byte [rsp + 0x175]
shl rdx, 0x10
mov r11, rax
movzx eax, byte [rsp + 0x166]
shr rbp, 5
or r11, rdx
movzx edx, byte [rsp + 0x16f]
shr rsi, 7
and ebp, 0x1fffff
mov r10, r11
shl rax, 8
and esi, 0x1fffff
mov r11d, dword [rsp + 0x16a]
or r10, rcx
movzx ecx, byte [rsp + 0x167]
shl rdx, 0x10
shr r11, 4
and r10d, 0x1fffff
shl rcx, 0x10
and r11d, 0x1fffff
or rcx, rax
movzx eax, byte [rsp + 0x165]
or rcx, rax
movzx eax, byte [rsp + 0x16e]
shr rcx, 2
shl rax, 8
and ecx, 0x1fffff
or rdx, rax
movzx eax, byte [rsp + 0x16d]
or rdx, rax
mov eax, dword [rsp + 0x16f]
shr rdx, 1
shr rax, 6
and edx, 0x1fffff
mov r13, rax
movzx eax, byte [rsp + 0x174]
and r13d, 0x1fffff
mov qword [rsp + 0x20], r13
shl rax, 0x10
movzx r13d, byte [rsp + 0x173]
shl r13, 8
or rax, r13
movzx r13d, byte [rsp + 0x172]
or rax, r13
movzx r13d, byte [rsp + 0x177]
shr rax, 3
mov qword [rsp + 0x40], rax
movzx eax, byte [rsp + 0x176]
shl r13, 0x10
shl rax, 8
or rax, r13
or rax, r14
mov r15, rax
mov eax, dword [rsp + 0x177]
and r15d, 0x1fffff
shr rax, 5
mov qword [rsp + 0x30], r15
mov r13, rax
movzx eax, byte [rsp + 0x17c]
and r13d, 0x1fffff
mov qword [rsp + 0x48], r13
shl rax, 0x10
movzx r13d, byte [rsp + 0x17b]
shl r13, 8
or rax, r13
movzx r13d, byte [rsp + 0x17a]
or rax, r13
mov r13d, dword [rsp + 0x17c]
shr rax, 2
mov r15, r13
and eax, 0x1fffff
movzx r13d, byte [rsp + 0x1a0]
shr r15, 7
mov qword [rsp + 0x88], r13
movzx r13d, byte [rsp + 0x1b5]
mov qword [rsp + 0x90], r13
movzx r13d, byte [rsp + 0x1a1]
movzx r14d, byte [rsp + 0x1a2]
shl r13, 8
shl r14, 0x10
or r13, r14
mov r14, r9
or r13, qword [rsp + 0x88]
imul r14, r10
and r13d, 0x1fffff
add r13, r14
mov r14, r9
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, r10
add r13, r14
movzx r14d, byte [rsp + 0x1a6]
mov qword [rsp + 0x98], 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, r9
imul r14, rcx
shr r13, 2
and r13d, 0x1fffff
add r14, r13
mov r13, r12
imul r13, rbp
add r13, r14
mov r14, r8
imul r14, r10
add r13, r14
mov r14, r9
mov qword [rsp + 0xa0], r13
mov r13d, dword [rsp + 0x1a7]
imul r14, rsi
shr r13, 7
and r13d, 0x1fffff
add r13, r14
mov r14, r12
imul r14, rcx
add r14, r13
mov r13, r8
imul r13, rbp
add r13, r14
mov r14, rdi
imul r14, r10
add r14, r13
mov r13d, dword [rsp + 0x1aa]
mov qword [rsp + 0xa8], r14
mov r14, r9
imul r14, r11
shr r13, 4
and r13d, 0x1fffff
add r14, r13
mov r13, r12
imul r13, rsi
add r13, r14
mov r14, r8
imul r14, rcx
add r14, r13
mov r13, rdi
imul r13, rbp
add r13, r14
mov r14, rbx
imul r14, r10
add r13, r14
movzx r14d, byte [rsp + 0x1ae]
mov qword [rsp + 0xb0], 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, r9
imul r14, rdx
shr r13, 1
and r13d, 0x1fffff
add r13, r14
mov r14, r12
imul r14, r11
add r14, r13
mov r13, r8
imul r13, rsi
add r13, r14
mov r14, rdi
imul r14, rcx
add r14, r13
mov r13, rbx
imul r13, rbp
add r13, r14
mov r14, qword [rsp + 0x58]
imul r14, r10
add r13, r14
mov r14, qword [rsp + 0x20]
mov qword [rsp + 0xb8], r13
mov r13d, dword [rsp + 0x1af]
imul r14, r9
shr r13, 6
and r13d, 0x1fffff
add r14, r13
mov r13, r12
imul r13, rdx
add r13, r14
mov r14, r8
imul r14, r11
add r14, r13
mov r13, rdi
imul r13, rsi
add r13, r14
mov r14, rbx
imul r14, rcx
add r14, r13
mov r13, qword [rsp + 0x58]
imul r13, rbp
add r13, r14
mov r14, qword [rsp + 0x60]
imul r14, r10
add r13, r14
movzx r14d, byte [rsp + 0x1b3]
mov qword [rsp + 0xc0], r13
movzx r13d, byte [rsp + 0x1b4]
shl r14, 8
shl r13, 0x10
or r13, r14
movzx r14d, byte [rsp + 0x1b2]
or r13, r14
mov r14, qword [rsp + 0x40]
shr r13, 3
imul r14, r9
add r13, r14
mov r14, qword [rsp + 0x20]
imul r14, r12
add r14, r13
mov r13, r8
imul r13, rdx
add r13, r14
mov r14, rdi
imul r14, r11
add r14, r13
mov r13, rbx
imul r13, rsi
add r13, r14
mov r14, qword [rsp + 0x58]
imul r14, rcx
add r14, r13
mov r13, qword [rsp + 0x60]
imul r13, rbp
add r13, r14
mov r14, qword [rsp + 0x68]
imul r14, r10
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 + 0x30]
or r13, qword [rsp + 0x90]
and r13d, 0x1fffff
imul r14, r9
add r14, r13
mov r13, qword [rsp + 0x40]
imul r13, r12
add r13, r14
mov r14, qword [rsp + 0x20]
imul r14, r8
add r14, r13
mov r13, rdi
imul r13, rdx
add r13, r14
mov r14, rbx
imul r14, r11
add r14, r13
mov r13, qword [rsp + 0x58]
imul r13, rsi
add r13, r14
mov r14, qword [rsp + 0x60]
imul r14, rcx
add r14, r13
mov r13, qword [rsp + 0x68]
imul r13, rbp
add r13, r14
mov r14, qword [rsp + 0x70]
imul r14, r10
add r14, r13
mov r13d, dword [rsp + 0x1b7]
mov qword [rsp + 0x90], r14
mov r14, qword [rsp + 0x48]
shr r13, 5
imul r14, r9
and r13d, 0x1fffff
add r13, r14
mov r14, qword [rsp + 0x30]
imul r14, r12
add r14, r13
mov r13, qword [rsp + 0x40]
imul r13, r8
add r13, r14
mov r14, qword [rsp + 0x20]
imul r14, rdi
add r14, r13
mov r13, rbx
imul r13, rdx
add r13, r14
mov r14, qword [rsp + 0x58]
imul r14, r11
add r14, r13
mov r13, qword [rsp + 0x60]
imul r13, rsi
add r13, r14
mov r14, qword [rsp + 0x68]
imul r14, rcx
add r14, r13
mov r13, qword [rsp + 0x70]
imul r13, rbp
add r13, r14
mov r14, qword [rsp + 0x78]
imul r14, r10
add r14, r13
movzx r13d, byte [rsp + 0x1bc]
mov qword [rsp + 0xd0], r14
movzx r14d, byte [rsp + 0x1bb]
shl r13, 0x10
shl r14, 8
or r13, r14
movzx r14d, byte [rsp + 0x1ba]
or r13, r14
mov r14, r9
imul r14, rax
shr r13, 2
and r13d, 0x1fffff
add r14, r13
mov r13, qword [rsp + 0x48]
imul r13, r12
add r13, r14
mov r14, qword [rsp + 0x30]
imul r14, r8
add r14, r13
mov r13, qword [rsp + 0x40]
imul r13, rdi
add r13, r14
mov r14, qword [rsp + 0x20]
imul r14, rbx
add r14, r13
mov r13, qword [rsp + 0x58]
imul r13, rdx
add r13, r14
mov r14, qword [rsp + 0x60]
imul r14, r11
add r14, r13
mov r13, qword [rsp + 0x68]
imul r13, rsi
add r13, r14
mov r14, qword [rsp + 0x70]
imul r14, rcx
add r14, r13
mov r13, qword [rsp + 0x78]
imul r13, rbp
add r13, r14
mov r14, qword [rsp + 0x80]
imul r14, r10
add r14, r13
mov r13d, dword [rsp + 0x1bc]
shr r13, 7
imul r9, r15
imul r10, qword [rsp + 0x50]
add r9, r13
mov r13, r12
imul r13, rax
imul r12, r15
add r13, r9
mov r9, qword [rsp + 0x48]
imul r9, r8
add r9, r13
mov r13, qword [rsp + 0x30]
imul r13, rdi
add r13, r9
mov r9, qword [rsp + 0x40]
imul r9, rbx
add r9, r13
mov r13, qword [rsp + 0x58]
imul r13, qword [rsp + 0x20]
add r13, r9
mov r9, qword [rsp + 0x60]
imul r9, rdx
add r9, r13
mov r13, qword [rsp + 0x68]
imul r13, r11
add r13, r9
mov r9, qword [rsp + 0x70]
imul r9, rsi
add r9, r13
mov r13, qword [rsp + 0x78]
imul r13, rcx
add r13, r9
mov r9, qword [rsp + 0x80]
imul r9, rbp
add r9, r13
mov r13, qword [rsp + 0x60]
add r10, r9
mov qword [rsp + 0xd8], r10
mov r10, r8
imul r10, rax
mov r9, r10
mov r10, qword [rsp + 0x48]
add r9, r12
mov r12, qword [rsp + 0x30]
imul r10, rdi
imul r12, rbx
add r10, r9
mov r9, r12
mov r12, qword [rsp + 0x58]
add r9, r10
mov r10, qword [rsp + 0x40]
imul r10, r12
imul rbp, qword [rsp + 0x50]
imul r8, r15
add r10, r9
mov r9, qword [rsp + 0x20]
imul r9, r13
add r9, r10
mov r10, qword [rsp + 0x68]
imul r10, rdx
add r10, r9
mov r9, qword [rsp + 0x70]
imul r9, r11
add r9, r10
mov r10, qword [rsp + 0x78]
imul r10, rsi
add r10, r9
mov r9, qword [rsp + 0x80]
imul r9, rcx
add r9, r10
lea r10, [r9 + rbp]
mov rbp, rdi
imul rbp, rax
mov r9, rbp
mov rbp, qword [rsp + 0x68]
add r9, r8
mov r8, qword [rsp + 0x48]
imul r8, rbx
add r8, r9
mov r9, qword [rsp + 0x30]
imul r9, r12
add r9, r8
mov r8, qword [rsp + 0x40]
imul r8, r13
add r8, r9
mov r9, qword [rsp + 0x20]
imul r9, rbp
add r9, r8
mov r8, qword [rsp + 0x70]
imul rcx, qword [rsp + 0x50]
imul r8, rdx
add r8, r9
mov r9, qword [rsp + 0x78]
imul r9, r11
add r9, r8
mov r8, qword [rsp + 0x80]
imul r8, rsi
add r8, r9
mov r9, qword [rsp + 0x78]
add rcx, r8
mov r8, qword [rsp + 0x48]
imul rdi, r15
mov qword [rsp + 0x58], rcx
mov rcx, rbx
imul rsi, qword [rsp + 0x50]
imul rcx, rax
imul r8, r12
imul rbx, r15
add rcx, rdi
mov rdi, qword [rsp + 0x70]
add r8, rcx
mov rcx, qword [rsp + 0x30]
imul rcx, r13
add rcx, r8
mov r8, qword [rsp + 0x40]
imul r8, rbp
add r8, rcx
mov rcx, qword [rsp + 0x20]
imul rcx, rdi
add rcx, r8
mov r8, r9
imul r8, rdx
add r8, rcx
mov rcx, qword [rsp + 0x80]
imul rcx, r11
imul r11, qword [rsp + 0x50]
add rcx, r8
mov r8, r12
add rsi, rcx
mov rcx, qword [rsp + 0x48]
imul r8, rax
imul rcx, r13
add r8, rbx
mov rbx, qword [rsp + 0x80]
add rcx, r8
mov r8, qword [rsp + 0x30]
imul r8, rbp
add r8, rcx
mov rcx, qword [rsp + 0x40]
imul rcx, rdi
add rcx, r8
mov r8, qword [rsp + 0x20]
imul r8, r9
add r8, rcx
mov rcx, rbx
imul rcx, rdx
add rcx, r8
mov r8, r13
add rcx, r11
imul r12, r15
mov r11, qword [rsp + 0x20]
imul r8, rax
mov qword [rsp + 0x60], rcx
imul rdx, qword [rsp + 0x50]
mov rcx, r12
mov r12, qword [rsp + 0x40]
imul r13, r15
add rcx, r8
mov r8, qword [rsp + 0x48]
imul r8, rbp
add r8, rcx
mov rcx, qword [rsp + 0x30]
imul rcx, rdi
add rcx, r8
mov r8, r9
imul r8, r12
add r8, rcx
mov rcx, rbx
imul rcx, r11
imul r11, qword [rsp + 0x50]
add rcx, r8
mov r8, rbp
add rdx, rcx
mov rcx, qword [rsp + 0x48]
imul r8, rax
imul rbp, r15
imul rcx, rdi
add r8, r13
mov r13, qword [rsp + 0x30]
add rcx, r8
mov r8, r9
imul r8, r13
add r8, rcx
mov rcx, rbx
imul rcx, r12
imul r12, qword [rsp + 0x50]
add rcx, r8
mov r8, r11
mov r11, rbx
add r8, rcx
mov rcx, r9
mov qword [rsp + 0x40], r8
mov r8, rdi
imul r8, rax
add r8, rbp
mov rbp, qword [rsp + 0x48]
imul rcx, rbp
add rcx, r8
mov r8, rbx
mov rbx, r9
imul r8, r13
add r8, rcx
mov rcx, r11
add r8, r12
imul rdi, r15
imul r9, rax
imul rcx, rbp
add r9, rdi
mov rdi, qword [rsp + 0x50]
add rcx, r9
imul r13, rdi
imul rbp, rdi
mov r9, r13
add r9, rcx
mov rcx, r11
mov qword [rsp + 0x30], r9
mov r9, rbx
imul rcx, rax
mov rbx, qword [rsp + 0x88]
imul r9, r15
mov r12, qword [rsp + 0xa8]
imul r11, r15
imul rax, rdi
add rcx, r9
imul r15, rdi
lea r9, [rbx + 0x100000]
mov rdi, qword [rsp + 0xa0]
add rcx, rbp
mov rbp, qword [rsp + 0x98]
sar r9, 0x15
add rax, r11
mov r11, qword [rsp + 0xb0]
add rbp, r9
shl r9, 0x15
sub rbx, r9
lea r9, [rdi + 0x100000]
mov qword [rsp + 0x20], rbp
mov rbp, qword [rsp + 0xc8]
sar r9, 0x15
mov qword [rsp + 0x48], rbx
mov rbx, qword [rsp + 0xc0]
lea r13, [r12 + r9]
shl r9, 0x15
mov r12, qword [rsp + 0xb8]
sub rdi, r9
lea r9, [r11 + 0x100000]
sar r9, 0x15
mov qword [rsp + 0x50], rdi
mov rdi, qword [rsp + 0xd0]
add r12, r9
shl r9, 0x15
sub r11, r9
mov r9, rbx
add r9, 0x100000
mov qword [rsp + 0x68], r11
mov r11, qword [rsp + 0x90]
sar r9, 0x15
add rbp, r9
shl r9, 0x15
sub rbx, r9
mov r9, r11
add r9, 0x100000
mov qword [rsp + 0x70], rbx
mov rbx, qword [rsp + 0xd8]
sar r9, 0x15
add rdi, r9
shl r9, 0x15
sub r11, r9
lea r9, [r14 + 0x100000]
sar r9, 0x15
mov qword [rsp + 0x78], r11
mov r11, r14
mov r14, qword [rsp + 0x50]
add rbx, r9
shl r9, 0x15
sub r11, r9
lea r9, [r10 + 0x100000]
mov qword [rsp + 0x80], r11
mov r11, qword [rsp + 0x58]
sar r9, 0x15
add r11, r9
shl r9, 0x15
sub r10, r9
lea r9, [rsi + 0x100000]
mov qword [rsp + 0x58], r10
mov r10, qword [rsp + 0x60]
sar r9, 0x15
add r10, r9
shl r9, 0x15
sub rsi, r9
lea r9, [rdx + 0x100000]
mov qword [rsp + 0x60], rsi
mov rsi, qword [rsp + 0x40]
sar r9, 0x15
add rsi, r9
shl r9, 0x15
sub rdx, r9
mov r9, qword [rsp + 0x30]
mov qword [rsp + 0x40], rdx
lea rdx, [r8 + 0x100000]
sar rdx, 0x15
add r9, rdx
shl rdx, 0x15
sub r8, rdx
lea rdx, [rcx + 0x100000]
sar rdx, 0x15
add rax, rdx
shl rdx, 0x15
sub rcx, rdx
lea rdx, [r15 + 0x100000]
sar rdx, 0x15
mov qword [rsp + 0x30], rcx
mov rcx, rdx
shl rcx, 0x15
sub r15, rcx
mov rcx, qword [rsp + 0x20]
add rcx, 0x100000
sar rcx, 0x15
add r14, rcx
shl rcx, 0x15
mov qword [rsp + 0x50], r14
mov r14, qword [rsp + 0x20]
sub r14, rcx
lea rcx, [r13 + 0x100000]
mov qword [rsp + 0x20], r14
mov r14, qword [rsp + 0x68]
sar rcx, 0x15
add r14, rcx
shl rcx, 0x15
mov qword [rsp + 0x68], r14
sub r13, rcx
mov r14, qword [rsp + 0x70]
lea rcx, [r12 + 0x100000]
sar rcx, 0x15
mov qword [rsp + 0x88], r13
lea r13, [r14 + rcx]
shl rcx, 0x15
mov r14, qword [rsp + 0x78]
sub r12, rcx
lea rcx, [rbp + 0x100000]
mov qword [rsp + 0x70], r13
sar rcx, 0x15
mov qword [rsp + 0x90], r12
lea r12, [r14 + rcx]
shl rcx, 0x15
mov r14, rdi
sub rbp, rcx
lea rcx, [rdi + 0x100000]
mov rdi, qword [rsp + 0x58]
mov qword [rsp + 0x78], rbp
mov rbp, qword [rsp + 0x80]
sar rcx, 0x15
add rbp, rcx
shl rcx, 0x15
sub r14, rcx
lea rcx, [rbx + 0x100000]
sar rcx, 0x15
mov qword [rsp + 0x80], r14
add rdi, rcx
shl rcx, 0x15
mov qword [rsp + 0x58], rdi
sub rbx, rcx
mov rdi, qword [rsp + 0x60]
lea rcx, [r11 + 0x100000]
sar rcx, 0x15
lea r14, [rdi + rcx]
shl rcx, 0x15
mov rdi, qword [rsp + 0x40]
sub r11, rcx
lea rcx, [r10 + 0x100000]
sar rcx, 0x15
lea r13, [rdi + rcx]
shl rcx, 0x15
sub r10, rcx
lea rcx, [rsi + 0x100000]
sar rcx, 0x15
lea rdi, [r8 + rcx]
shl rcx, 0x15
sub rsi, rcx
lea rcx, [r9 + 0x100000]
mov qword [rsp + 0x40], rsi
mov rsi, qword [rsp + 0x30]
sar rcx, 0x15
lea r8, [rsi + rcx]
lea rsi, [rax + 0x100000]
shl rcx, 0x15
sar rsi, 0x15
sub r9, rcx
lea rcx, [r15 + rsi]
shl rsi, 0x15
imul r15, rdx, 0x9fb67
sub rax, rsi
imul rsi, rdx, 0xa2c13
add r15, r11
imul r11, rdx, 0xfffffffffff0c653
add rbx, rsi
imul rsi, rdx, 0x72d18
add rsi, qword [rsp + 0x58]
add r14, r11
imul r11, rdx, 0x215d1
imul rdx, rdx, 0xfffffffffff59083
add r11, r10
imul r10, rcx, 0xa2c13
add rdx, r13
imul r13, rcx, 0xfffffffffff0c653
add rbp, r10
imul r10, rcx, 0x72d18
add r13, r15
add rbx, r10
imul r10, rcx, 0x9fb67
add rsi, r10
imul r10, rcx, 0x215d1
imul rcx, rcx, 0xfffffffffff59083
add r10, r14
add rcx, r11
imul r11, rax, 0xa2c13
add r11, qword [rsp + 0x80]
imul r14, rax, 0x72d18
imul r15, rax, 0x215d1
add rbp, r14
imul r14, rax, 0x9fb67
add r15, r13
imul r13, r9, 0x9fb67
add r14, rbx
imul rbx, rax, 0xfffffffffff0c653
imul rax, rax, 0xfffffffffff59083
add rsi, rbx
lea rbx, [rax + r10]
imul rax, r8, 0x72d18
imul r10, r8, 0xa2c13
add r11, rax
imul rax, r8, 0x9fb67
add r10, r12
add r13, r11
imul r11, r9, 0x215d1
add rbp, rax
imul rax, r8, 0xfffffffffff0c653
add r14, rax
imul rax, r8, 0x215d1
imul r8, r8, 0xfffffffffff59083
add r11, r14
add rax, rsi
imul rsi, r9, 0xa2c13
add rsi, qword [rsp + 0x78]
add r8, r15
imul r15, r9, 0x72d18
add r15, r10
imul r10, r9, 0xfffffffffff0c653
add rbp, r10
imul r10, r9, 0xfffffffffff59083
imul r12, rdi, 0x72d18
imul r14, rdi, 0xa2c13
add r14, qword [rsp + 0x70]
add r10, rax
imul rax, rdi, 0xfffffffffff0c653
imul r9, rdi, 0x9fb67
add r12, rsi
imul rsi, rdi, 0x215d1
add r13, rax
imul rax, rdi, 0xfffffffffff59083
add r9, r15
mov r15, qword [rsp + 0x40]
add rsi, rbp
add rax, r11
lea r11, [r14 + 0x100000]
sar r11, 0x15
lea rdi, [r12 + r11]
shl r11, 0x15
sub r14, r11
lea r11, [r9 + 0x100000]
sar r11, 0x15
add r13, r11
shl r11, 0x15
sub r9, r11
mov r12, r9
lea r9, [rsi + 0x100000]
sar r9, 0x15
add rax, r9
shl r9, 0x15
sub rsi, r9
lea r9, [r10 + 0x100000]
sar r9, 0x15
add r8, r9
shl r9, 0x15
sub r10, r9
lea r9, [rbx + 0x100000]
sar r9, 0x15
lea r11, [rcx + r9]
shl r9, 0x15
lea rcx, [rdx + 0x100000]
sub rbx, r9
sar rcx, 0x15
lea rbp, [r15 + rcx]
shl rcx, 0x15
sub rdx, rcx
lea rcx, [rdi + 0x100000]
sar rcx, 0x15
imul r15, rbp, 0xa2c13
add r15, qword [rsp + 0x90]
lea r9, [r12 + rcx]
shl rcx, 0x15
sub rdi, rcx
lea rcx, [r13 + 0x100000]
sar rcx, 0x15
imul r12, rbp, 0x72d18
add rsi, rcx
shl rcx, 0x15
sub r13, rcx
lea rcx, [rax + 0x100000]
sar rcx, 0x15
add r12, r14
add r10, rcx
shl rcx, 0x15
imul r14, rbp, 0x215d1
sub rax, rcx
lea rcx, [r8 + 0x100000]
sar rcx, 0x15
add rbx, rcx
shl rcx, 0x15
add r14, r13
sub r8, rcx
lea rcx, [r11 + 0x100000]
sar rcx, 0x15
add rdx, rcx
shl rcx, 0x15
sub r11, rcx
imul rcx, rbp, 0x9fb67
add rdi, rcx
imul rcx, rbp, 0xfffffffffff0c653
add rcx, r9
imul r9, rbp, 0xfffffffffff59083
imul rbp, rdx, 0xfffffffffff0c653
imul r13, rdx, 0xa2c13
add r13, qword [rsp + 0x68]
add r9, rsi
imul rsi, rdx, 0x72d18
add rbp, rdi
imul rdi, rdx, 0x215d1
add r15, rsi
imul rsi, rdx, 0x9fb67
add rdi, rcx
imul rcx, rdx, 0xfffffffffff59083
imul rdx, r11, 0xfffffffffff0c653
add r12, rsi
imul rsi, r11, 0xa2c13
add rsi, qword [rsp + 0x88]
add rcx, r14
imul r14, r11, 0x72d18
add rdx, r12
imul r12, r11, 0x215d1
add r14, r13
imul r13, r11, 0x9fb67
add r12, rbp
imul rbp, rbx, 0x72d18
imul r11, r11, 0xfffffffffff59083
add r13, r15
add rbp, rsi
imul rsi, rbx, 0x9fb67
add r11, rdi
imul rdi, rbx, 0xa2c13
add rdi, qword [rsp + 0x50]
add rsi, r14
imul r15, rbx, 0xfffffffffff0c653
imul r14, rbx, 0x215d1
add r15, r13
imul r13, r8, 0xa2c13
add r13, qword [rsp + 0x20]
add r14, rdx
imul rdx, rbx, 0xfffffffffff59083
imul rbx, r10, 0x72d18
add rdx, r12
imul r12, r8, 0x72d18
add rbx, r13
imul r13, r10, 0x9fb67
add r12, rdi
imul rdi, r8, 0x9fb67
add r13, r12
add rdi, rbp
imul rbp, r8, 0xfffffffffff0c653
add rbp, rsi
imul rsi, r8, 0x215d1
imul r8, r8, 0xfffffffffff59083
add rsi, r15
imul r15, r10, 0xa2c13
add r15, qword [rsp + 0x48]
add r8, r14
imul r14, r10, 0xfffffffffff0c653
add r14, rdi
imul rdi, r10, 0x215d1
imul r10, r10, 0xfffffffffff59083
add rdi, rbp
add r10, rsi
lea rsi, [r15 + 0x100000]
sar rsi, 0x15
add rbx, rsi
shl rsi, 0x15
sub r15, rsi
lea rsi, [r13 + 0x100000]
sar rsi, 0x15
add r14, rsi
shl rsi, 0x15
sub r13, rsi
lea rsi, [rdi + 0x100000]
sar rsi, 0x15
add r10, rsi
shl rsi, 0x15
sub rdi, rsi
lea rsi, [r8 + 0x100000]
sar rsi, 0x15
add rdx, rsi
shl rsi, 0x15
sub r8, rsi
lea rsi, [r11 + 0x100000]
sar rsi, 0x15
add rcx, rsi
shl rsi, 0x15
sub r11, rsi
lea rsi, [r9 + 0x100000]
sar rsi, 0x15
add rax, rsi
shl rsi, 0x15
sub r9, rsi
lea rsi, [rbx + 0x100000]
sar rsi, 0x15
add r13, rsi
shl rsi, 0x15
sub rbx, rsi
lea rsi, [r14 + 0x100000]
sar rsi, 0x15
add rdi, rsi
shl rsi, 0x15
sub r14, rsi
lea rsi, [r10 + 0x100000]
sar rsi, 0x15
add r8, rsi
shl rsi, 0x15
sub r10, rsi
lea rsi, [rdx + 0x100000]
sar rsi, 0x15
add r11, rsi
shl rsi, 0x15
sub rdx, rsi
lea rsi, [rcx + 0x100000]
sar rsi, 0x15
add r9, rsi
shl rsi, 0x15
sub rcx, rsi
lea rsi, [rax + 0x100000]
mov r12, rsi
and rsi, 0xffffffffffe00000
sar r12, 0x15
sub rax, rsi
imul rbp, r12, 0x72d18
imul rsi, r12, 0xa2c13
add rbp, rbx
imul rbx, r12, 0x9fb67
add rsi, r15
add rbx, r13
imul r13, r12, 0xfffffffffff0c653
add r13, r14
imul r14, r12, 0x215d1
imul r12, r12, 0xfffffffffff59083
add r14, rdi
mov rdi, rsi
sar rdi, 0x15
add r12, r10
lea r10, [rbp + rdi]
shl rdi, 0x15
sub rsi, rdi
mov rdi, r10
sar rdi, 0x15
add rbx, rdi
shl rdi, 0x15
sub r10, rdi
mov rdi, rbx
sar rdi, 0x15
add r13, rdi
shl rdi, 0x15
sub rbx, rdi
mov rdi, r13
sar rdi, 0x15
add r14, rdi
shl rdi, 0x15
sub r13, rdi
mov rdi, r14
sar rdi, 0x15
add r12, rdi
shl rdi, 0x15
sub r14, rdi
mov rdi, r12
sar rdi, 0x15
add r8, rdi
shl rdi, 0x15
sub r12, rdi
mov rdi, r8
sar rdi, 0x15
add rdx, rdi
shl rdi, 0x15
sub r8, rdi
mov rdi, rdx
sar rdi, 0x15
lea rbp, [r11 + rdi]
shl rdi, 0x15
sub rdx, rdi
mov rdi, rbp
sar rdi, 0x15
add rcx, rdi
shl rdi, 0x15
mov r11, rcx
sub rbp, rdi
sar r11, 0x15
add r9, r11
shl r11, 0x15
sub rcx, r11
mov r11, r9
sar r11, 0x15
add rax, r11
shl r11, 0x15
sub r9, r11
mov r11, rax
and eax, 0x1fffff
sar r11, 0x15
imul rdi, r11, 0xa2c13
add rdi, rsi
imul rsi, r11, 0x72d18
add rsi, r10
imul r10, r11, 0x9fb67
add r10, rbx
imul rbx, r11, 0xfffffffffff0c653
add rbx, r13
imul r13, r11, 0x215d1
imul r11, r11, 0xfffffffffff59083
add r13, r14
add r11, r12
mov r12, rdi
sar r12, 0x15
add rsi, r12
shl r12, 0x15
sub rdi, r12
mov r12, rsi
sar r12, 0x15
add r10, r12
shl r12, 0x15
sub rsi, r12
mov r12, r10
sar r12, 0x15
mov r15, rsi
add rbx, r12
shl r12, 0x15
sub r10, r12
mov r12, rbx
sar r12, 0x15
add r13, r12
shl r12, 0x15
sub rbx, r12
mov r12, r13
sar r15, 3
sar r12, 0x15
movzx r15d, r15b
add r11, r12
shl r12, 0x15
sub r13, r12
mov r12, r11
sar r12, 0x15
add r8, r12
shl r12, 0x15
sub r11, r12
mov r12, r8
sar r12, 0x15
add rdx, r12
shl r12, 0x15
sub r8, r12
mov r12, rdx
sar r12, 0x15
add rbp, r12
shl r12, 0x15
sub rdx, r12
mov r12, rbp
sar r12, 0x15
add rcx, r12
shl r12, 0x15
mov r14, rcx
sub rbp, r12
sar r14, 0x15
mov qword [rsp + 0x20], rbp
add r9, r14
mov rbp, r14
mov r14, r9
shl rbp, 0x15
sar r14, 0x15
sub rcx, rbp
lea r12, [rax + r14]
mov rbp, r14
mov rax, rsi
mov r14, rsi
mov qword [rsp + 0x40], r12
shl rbp, 0x15
mov r12, rdi
shl rax, 5
sar r12, 0x10
sub r9, rbp
mov rbp, rax
mov eax, r12d
lea r12, [r10*4]
or eax, ebp
sar r14, 0xb
mov rbp, r14
sar rsi, 0x13
mov r14, rbx
mov byte [rsp + 0x30], al
or esi, r12d
shl r14, 7
mov r12, r10
movzx ebp, bpl
sar r10, 0xe
sar r12, 6
movzx esi, sil
mov rax, r8
or r10d, r14d
mov r14, rbx
movzx r12d, r12b
shl rax, 6
sar r14, 1
movzx r10d, r10b
mov qword [rsp + 0x48], r14
mov r14, rbx
shl r10, 8
sar r14, 9
or r10, r12
sar rbx, 0x11
mov qword [rsp + 0x50], r14
mov r14, r13
shl r10, 8
shl r14, 4
or r10, rsi
or r14d, ebx
mov rbx, r13
shl r10, 8
sar rbx, 4
or r10, rbp
mov qword [rsp + 0x58], rbx
mov rbx, r13
shl r10, 8
sar rbx, 0xc
or r10, r15
sar r13, 0x14
mov qword [rsp + 0x60], rbx
movzx esi, byte [rsp + 0x30]
lea rbx, [r11 + r11]
shl r10, 8
or r13d, ebx
mov rbx, r11
sar r11, 0xf
mov r15, qword [rsp + 0x20]
or r11d, eax
or r10, rsi
mov rax, rdi
sar rbx, 7
movzx esi, ah
shl r10, 8
movzx r11d, r11b
movzx ebx, bl
or r10, rsi
movzx r13d, r13b
movzx edi, dil
mov r12, qword [rsp + 0x40]
shl r10, 8
shl r11, 8
mov rax, qword [rsp + 0x3f0]
mov rsi, rcx
or r11, rbx
movzx ebx, byte [rsp + 0x60]
or r10, rdi
sar rsi, 0xb
shl r11, 8
mov qword [rsp + 0x30], r10
lea r10, [rdx*8]
movzx esi, sil
or r11, r13
mov r13, r8
lea rdi, [r9*4]
shl r11, 8
sar r13, 0xa
or r11, rbx
movzx ebx, byte [rsp + 0x58]
movzx r13d, r13b
shl r11, 8
or r11, rbx
movzx ebx, r14b
mov r14, rdx
sar rdx, 0xd
shl r11, 8
sar r14, 5
movzx edx, dl
or r11, rbx
movzx ebx, byte [rsp + 0x50]
movzx r14d, r14b
shl r11, 8
or r11, rbx
movzx ebx, byte [rsp + 0x48]
shl r11, 8
or r11, rbx
mov rbx, r8
sar r8, 0x12
mov qword [rsp + 0x38], r11
or r8d, r10d
mov r11, rcx
mov r10, r15
movdqu xmm0, xmmword [rsp + 0x30]
shl r11, 5
sar r10, 0x10
movzx r8d, r8b
or r10d, r11d
mov r11, rcx
sar rcx, 0x13
movups xmmword [rax + 0x20], xmm0
mov rax, r12
or ecx, edi
mov rdi, r9
shl rax, 7
sar r9, 0xe
movzx r10d, r10b
movzx ecx, cl
sar rbx, 2
sar r11, 3
sar rdi, 6
or r9d, eax
mov rax, r12
shl r10, 8
sar rax, 1
movzx r9d, r9b
movzx edi, dil
movzx r11d, r11b
mov rbp, rax
mov rax, r12
movzx ebx, bl
sar rax, 9
movzx ebp, bpl
mov r12, rax
mov rax, r15
movzx r15d, byte [rsp + 0x20]
movzx eax, ah
movzx r12d, r12b
or r10, rax
mov rax, qword [rsp + 0x40]
shl r10, 8
shr rax, 9
or r10, r15
and eax, 0xff00
shl r10, 8
or rax, r12
or r10, rdx
mov edx, 0xd8
shl rax, 8
shl r10, 8
or rax, rbp
or r10, r14
shl rax, 8
shl r10, 8
or rax, r9
or r10, r8
shl rax, 8
shl r10, 8
or rax, rdi
or r10, r13
shl rax, 8
shl r10, 8
or rax, rcx
or r10, rbx
lea rcx, [rsp + 0x2c0]
shl rax, 8
mov qword [rsp + 0x20], r10
or rax, rsi
shl rax, 8
or rax, r11
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x3f0]
movdqu xmm1, xmmword [rsp + 0x20]
movups xmmword [rax + 0x30], xmm1
call fcn.1402746b0
lea rcx, [rsp + 0x1a0]
mov edx, 0x40
call fcn.1402746b0
lea rcx, [rsp + 0x160]
mov edx, 0x40
call fcn.1402746b0
mov eax, 1
add rsp, 0x3a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret