Function at 0x1401610d0
Capabilities:
Encode data using xor
Encrypt data using aes via x86 extensions

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
push rbp
push rbx
push rsi
push rdi
lea rbp, [rax - 0x298]
sub rsp, 0x378
mov qword [rax + 8], r12
mov rdi, rdx
mov qword [rax - 0x28], r13
xor r12d, r12d
mov qword [rax - 0x30], r14
mov rsi, rcx
mov qword [rax - 0x38], r15
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
mov eax, dword [0x1402ada88]
mov qword [rsp + 0x50], r12
cmp eax, 0xffffffff
jne 0x140161198
lea rcx, str.MONERO_USE_SOFTWARE_AES
call fcn.1401d7a4c
test rax, rax
jne 0x140161161
mov dword [0x1402ada88], r12d
mov eax, r12d
jmp 0x140161198
cmp byte [rax], 0x30
jne 0x14016116c
cmp byte [rax + 1], r12b
je 0x14016117d
cmp byte [rax], 0x6e
jne 0x140161189
cmp byte [rax + 1], 0x6f
jne 0x140161189
cmp byte [rax + 2], r12b
jne 0x140161189
mov dword [0x1402ada88], r12d
mov eax, r12d
jmp 0x140161198
mov dword [0x1402ada88], 1
mov eax, 1
test eax, eax
jne 0x1401611d1
mov ecx, dword [0x1402ada8c]
test ecx, ecx
jns 0x1401611c9
xor ecx, ecx
mov eax, 1
cpuid
and ecx, 0x2000000
mov dword [rsp + 0x40], eax
mov dword [0x1402ada8c], ecx
test ecx, ecx
mov dword [rsp + 0x44], ebx
mov dword [rsp + 0x4c], edx
mov r14d, 1
jne 0x1401611d4
mov r14d, r12d
mov rax, qword gs:[0x58]
mov ecx, dword [0x1402befc0]
mov r15d, 8
mov r13d, setsockopt
mov rbx, qword [rax + rcx*8]
mov qword [rbp + 0x2b8], rbx
mov rax, qword [r15 + rbx]
mov qword [rbp - 0x10], rax
test rax, rax
jne 0x1401612c4
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r8, [rsp + 0x30]
mov edx, 0x20
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x140161284
lea r8, [rsp + 0x44]
mov dword [rsp + 0x40], 1
lea rdx, str.SeLockMemoryPrivilege
mov dword [rsp + 0x4c], 2
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
mov rcx, qword [rsp + 0x30]
test eax, eax
je 0x14016127e
mov qword [rsp + 0x28], r12
lea r8, [rsp + 0x40]
xor r9d, r9d
mov qword [rsp + 0x20], r12
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
je 0x140161279
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [r15 + rbx]
mov edx, 0x40000
mov r9d, 4
mov r8d, 0x20003000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [r15 + rbx], rax
mov dword [r13 + rbx], 1
test rax, rax
jne 0x1401612c4
mov ecx, 0x40000
mov dword [r13 + rbx], r12d
call fcn.1401d4de8
mov qword [r15 + rbx], rax
movaps xmmword [rsp + 0x2d0], xmm14
lea rcx, [rbp]
mov r8, rdi
movaps xmmword [rsp + 0x2c0], xmm15
mov rdx, rsi
call fcn.140153c80
movups xmm6, xmmword [rbp + 0x40]
movups xmm7, xmmword [rbp + 0x50]
movups xmm8, xmmword [rbp + 0x60]
movups xmm9, xmmword [rbp + 0x70]
movups xmm10, xmmword [rbp + 0x80]
movups xmm11, xmmword [rbp + 0x90]
movups xmm12, xmmword [rbp + 0xa0]
movups xmm13, xmmword [rbp + 0xb0]
movdqu xmmword [rsp + 0x70], xmm6
movdqu xmmword [rbp - 0x80], xmm7
movdqu xmmword [rbp - 0x70], xmm8
movdqu xmmword [rbp - 0x60], xmm9
movdqu xmmword [rbp - 0x50], xmm10
movdqu xmmword [rbp - 0x40], xmm11
movdqu xmmword [rbp - 0x30], xmm12
movdqu xmmword [rbp - 0x20], xmm13
test r14d, r14d
je 0x140161607
lea rdx, [rbp + 0xd0]
lea rcx, [rbp]
call fcn.140160490
movdqa xmm0, xmmword [rbp + 0x160]
mov rcx, r12
movdqa xmm1, xmmword [rbp + 0x150]
movdqa xmm2, xmmword [rbp + 0x140]
movdqa xmm3, xmmword [rbp + 0x130]
movdqa xmm4, xmmword [rbp + 0x120]
movdqa xmm5, xmmword [rbp + 0x110]
movdqa xmm14, xmmword [rbp + 0x100]
movdqa xmm15, xmmword [rbp + 0xf0]
mov esi, 8
nop dword [rax]
aesenc xmm6, xmmword [rbp + 0xd0]
aesenc xmm7, xmmword [rbp + 0xd0]
aesenc xmm8, xmmword [rbp + 0xd0]
aesenc xmm9, xmmword [rbp + 0xd0]
aesenc xmm10, xmmword [rbp + 0xd0]
aesenc xmm11, xmmword [rbp + 0xd0]
aesenc xmm12, xmmword [rbp + 0xd0]
aesenc xmm13, xmmword [rbp + 0xd0]
aesenc xmm6, xmmword [rbp + 0xe0]
aesenc xmm7, xmmword [rbp + 0xe0]
aesenc xmm8, xmmword [rbp + 0xe0]
aesenc xmm9, xmmword [rbp + 0xe0]
aesenc xmm10, xmmword [rbp + 0xe0]
aesenc xmm11, xmmword [rbp + 0xe0]
aesenc xmm12, xmmword [rbp + 0xe0]
aesenc xmm13, xmmword [rbp + 0xe0]
mov rax, qword [rsi + rbx]
aesenc xmm6, xmm15
aesenc xmm7, xmm15
aesenc xmm8, xmm15
aesenc xmm9, xmm15
aesenc xmm10, xmm15
aesenc xmm11, xmm15
aesenc xmm12, xmm15
aesenc xmm13, xmm15
aesenc xmm6, xmm14
aesenc xmm7, xmm14
aesenc xmm8, xmm14
aesenc xmm9, xmm14
aesenc xmm10, xmm14
aesenc xmm11, xmm14
aesenc xmm12, xmm14
aesenc xmm13, xmm14
aesenc xmm6, xmm5
aesenc xmm7, xmm5
aesenc xmm8, xmm5
aesenc xmm9, xmm5
aesenc xmm10, xmm5
aesenc xmm11, xmm5
aesenc xmm12, xmm5
aesenc xmm13, xmm5
aesenc xmm6, xmm4
aesenc xmm7, xmm4
aesenc xmm8, xmm4
aesenc xmm9, xmm4
aesenc xmm10, xmm4
aesenc xmm11, xmm4
aesenc xmm12, xmm4
aesenc xmm13, xmm4
aesenc xmm6, xmm3
aesenc xmm7, xmm3
aesenc xmm8, xmm3
aesenc xmm9, xmm3
aesenc xmm10, xmm3
aesenc xmm11, xmm3
aesenc xmm12, xmm3
aesenc xmm13, xmm3
aesenc xmm6, xmm2
aesenc xmm7, xmm2
aesenc xmm8, xmm2
aesenc xmm9, xmm2
aesenc xmm10, xmm2
aesenc xmm11, xmm2
aesenc xmm12, xmm2
aesenc xmm13, xmm2
aesenc xmm6, xmm1
aesenc xmm7, xmm1
aesenc xmm8, xmm1
aesenc xmm9, xmm1
aesenc xmm10, xmm1
aesenc xmm11, xmm1
aesenc xmm12, xmm1
aesenc xmm13, xmm1
aesenc xmm6, xmm0
aesenc xmm7, xmm0
aesenc xmm8, xmm0
aesenc xmm9, xmm0
aesenc xmm10, xmm0
aesenc xmm11, xmm0
aesenc xmm12, xmm0
aesenc xmm13, xmm0
movups xmmword [rax + rcx], xmm6
movups xmmword [rax + rcx + 0x10], xmm7
movups xmmword [rax + rcx + 0x20], xmm8
movups xmmword [rax + rcx + 0x30], xmm9
movups xmmword [rax + rcx + 0x40], xmm10
movups xmmword [rax + rcx + 0x50], xmm11
movups xmmword [rax + rcx + 0x60], xmm12
movups xmmword [rax + rcx + 0x70], xmm13
sub rcx, 0xffffffffffffff80
cmp rcx, 0x40000
jb 0x1401613b0
jmp 0x1401616d0
call fcn.140162820
mov r8d, 0x20
mov qword [rsp + 0x50], rax
lea rdx, [rbp]
mov rcx, rax
call fcn.1401629c0
mov rsi, r12
nop word [rax + rax]
lea rbx, [rsp + 0x70]
mov edi, 8
nop word [rax + rax]
mov rax, qword [rsp + 0x50]
mov rdx, rbx
mov rcx, rbx
mov r8, qword [rax]
mov r8, qword [r8 + 0x18]
call fcn.1401606c0
add rbx, 0x10
sub rdi, 1
jne 0x140161640
movups xmm0, xmmword [rsp + 0x70]
movups xmm1, xmmword [rbp - 0x80]
mov rbx, qword [rbp + 0x2b8]
mov rax, qword [r15 + rbx]
movups xmmword [rax + rsi], xmm0
movups xmm0, xmmword [rbp - 0x70]
movups xmmword [rax + rsi + 0x10], xmm1
movups xmm1, xmmword [rbp - 0x60]
movups xmmword [rax + rsi + 0x20], xmm0
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [rax + rsi + 0x30], xmm1
movups xmm1, xmmword [rbp - 0x40]
movups xmmword [rax + rsi + 0x40], xmm0
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rax + rsi + 0x50], xmm1
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [rax + rsi + 0x60], xmm0
movups xmmword [rax + rsi + 0x70], xmm1
sub rsi, 0xffffffffffffff80
cmp rsi, 0x40000
jb 0x140161630
mov esi, 8
nop word [rax + rax]
mov rax, qword [rbp + 0x30]
mov r13d, 0x10000
xor rax, qword [rbp + 0x10]
mov r15, qword [rbp]
xor r15, qword [rbp + 0x20]
mov r12, qword [rbp + 0x28]
xor r12, qword [rbp + 8]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp + 0x18]
xor rax, qword [rbp + 0x38]
mov qword [rsp + 0x68], rax
movdqa xmm3, xmmword [rsp + 0x60]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r12
test r14d, r14d
je 0x140161ad6
movdqa xmm0, xmmword [rsp + 0x30]
nop
mov rax, qword [rsi + rbx]
mov rcx, r15
and ecx, 0x3fff0
movdqu xmm1, xmmword [rax + rcx]
aesenc xmm1, xmm0
movq rdx, xmm1
movdqa xmm0, xmm1
pxor xmm0, xmm3
movdqa xmm3, xmm1
movdqu xmmword [rax + rcx], xmm0
mov rbx, qword [rsi + rbx]
mov rcx, rdx
and ecx, 0x3fff0
add rbx, rcx
mov rax, qword [rbx]
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x60], rax
mul rdx
mov qword [rsp + 0x68], rcx
add r15, rdx
add r12, rax
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r12
movdqa xmm0, xmmword [rsp + 0x30]
pxor xmm0, xmmword [rsp + 0x60]
mov qword [rbx], r15
movdqa xmmword [rsp + 0x30], xmm0
mov qword [rbx + 8], r12
sub r13, 1
je 0x1401617b6
mov r12, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov rbx, qword [rbp + 0x2b8]
jmp 0x140161720
movups xmm6, xmmword [rbp + 0x40]
lea rdx, [rbp + 0xd0]
movups xmm7, xmmword [rbp + 0x50]
lea rcx, [rbp + 0x20]
movups xmm8, xmmword [rbp + 0x60]
movups xmm9, xmmword [rbp + 0x70]
movups xmm10, xmmword [rbp + 0x80]
movups xmm11, xmmword [rbp + 0x90]
movups xmm12, xmmword [rbp + 0xa0]
movups xmm13, xmmword [rbp + 0xb0]
call fcn.140160490
mov rdi, qword [rbp + 0x2b8]
mov r14d, 0x800
movdqa xmm1, xmmword [rbp + 0x160]
movdqa xmm2, xmmword [rbp + 0x150]
movdqa xmm3, xmmword [rbp + 0x140]
mov rax, qword [rsi + rdi]
movdqa xmm4, xmmword [rbp + 0x130]
movdqa xmm5, xmmword [rbp + 0x120]
movdqa xmm14, xmmword [rbp + 0x110]
movdqa xmm15, xmmword [rbp + 0x100]
movdqu xmm0, xmmword [rax]
pxor xmm6, xmm0
aesenc xmm6, xmmword [rbp + 0xd0]
aesenc xmm6, xmmword [rbp + 0xe0]
aesenc xmm6, xmmword [rbp + 0xf0]
movdqu xmm0, xmmword [rax + 0x10]
aesenc xmm6, xmm15
pxor xmm7, xmm0
aesenc xmm7, xmmword [rbp + 0xd0]
aesenc xmm7, xmmword [rbp + 0xe0]
aesenc xmm7, xmmword [rbp + 0xf0]
movdqu xmm0, xmmword [rax + 0x20]
aesenc xmm7, xmm15
pxor xmm8, xmm0
aesenc xmm8, xmmword [rbp + 0xd0]
aesenc xmm8, xmmword [rbp + 0xe0]
aesenc xmm8, xmmword [rbp + 0xf0]
movdqu xmm0, xmmword [rax + 0x30]
aesenc xmm8, xmm15
pxor xmm9, xmm0
aesenc xmm9, xmmword [rbp + 0xd0]
aesenc xmm9, xmmword [rbp + 0xe0]
aesenc xmm9, xmmword [rbp + 0xf0]
movdqu xmm0, xmmword [rax + 0x40]
aesenc xmm9, xmm15
pxor xmm10, xmm0
aesenc xmm10, xmmword [rbp + 0xd0]
aesenc xmm10, xmmword [rbp + 0xe0]
aesenc xmm10, xmmword [rbp + 0xf0]
movdqu xmm0, xmmword [rax + 0x50]
aesenc xmm10, xmm15
pxor xmm11, xmm0
aesenc xmm11, xmmword [rbp + 0xd0]
aesenc xmm11, xmmword [rbp + 0xe0]
aesenc xmm11, xmmword [rbp + 0xf0]
movdqu xmm0, xmmword [rax + 0x60]
aesenc xmm11, xmm15
pxor xmm12, xmm0
aesenc xmm12, xmmword [rbp + 0xd0]
aesenc xmm12, xmmword [rbp + 0xe0]
aesenc xmm12, xmmword [rbp + 0xf0]
aesenc xmm11, xmm14
aesenc xmm6, xmm14
aesenc xmm7, xmm14
aesenc xmm8, xmm14
aesenc xmm9, xmm14
aesenc xmm10, xmm14
aesenc xmm11, xmm5
aesenc xmm6, xmm5
aesenc xmm7, xmm5
aesenc xmm8, xmm5
aesenc xmm9, xmm5
aesenc xmm10, xmm5
aesenc xmm11, xmm4
aesenc xmm6, xmm4
aesenc xmm7, xmm4
aesenc xmm8, xmm4
aesenc xmm9, xmm4
aesenc xmm10, xmm4
aesenc xmm12, xmm15
aesenc xmm11, xmm3
aesenc xmm6, xmm3
aesenc xmm7, xmm3
aesenc xmm8, xmm3
aesenc xmm9, xmm3
aesenc xmm10, xmm3
aesenc xmm12, xmm14
aesenc xmm11, xmm2
aesenc xmm6, xmm2
aesenc xmm7, xmm2
aesenc xmm8, xmm2
aesenc xmm9, xmm2
aesenc xmm10, xmm2
aesenc xmm12, xmm5
aesenc xmm11, xmm1
aesenc xmm6, xmm1
aesenc xmm7, xmm1
aesenc xmm8, xmm1
aesenc xmm9, xmm1
aesenc xmm10, xmm1
aesenc xmm12, xmm4
movdqu xmm0, xmmword [rax + 0x70]
lea rax, [rax + 0x80]
aesenc xmm12, xmm3
pxor xmm13, xmm0
aesenc xmm13, xmmword [rbp + 0xd0]
aesenc xmm13, xmmword [rbp + 0xe0]
aesenc xmm13, xmmword [rbp + 0xf0]
aesenc xmm13, xmm15
aesenc xmm13, xmm14
aesenc xmm13, xmm5
aesenc xmm13, xmm4
aesenc xmm13, xmm3
aesenc xmm13, xmm2
aesenc xmm12, xmm2
aesenc xmm13, xmm1
aesenc xmm12, xmm1
sub r14, 1
jne 0x140161843
jmp 0x140161df6
movdqa xmm2, xmmword [rsp + 0x30]
nop dword [rax]
mov r14, qword [rsi + rbx]
mov rcx, r15
and ecx, 0x3fff0
lea rbx, [0x140000000]
add r14, rcx
movdqu xmm0, xmmword [r14]
pextrd edi, xmm0, 3
pextrd r11d, xmm0, 1
pextrd r10d, xmm0, 2
movq rax, xmm0
movd r8d, xmm0
movzx ecx, al
movdqa xmmword [rsp + 0x40], xmm0
movzx edx, r11b
mov eax, edi
mov esi, dword [rbx + rcx*4 + 0x24a3e0]
shr rax, 0x18
mov r9d, dword [rbx + rdx*4 + 0x24a3e0]
xor esi, dword [rbx + rax*4 + 0x24afe0]
mov eax, r10d
shr eax, 0x10
movzx ecx, al
mov eax, r11d
shr eax, 8
xor esi, dword [rbx + rcx*4 + 0x24abe0]
movzx ecx, al
movd eax, xmm2
xor esi, dword [rbx + rcx*4 + 0x24a7e0]
xor esi, eax
mov eax, edi
shr eax, 0x10
movzx ecx, al
mov eax, r10d
shr eax, 8
mov dword [rsp + 0x40], esi
xor r9d, dword [rbx + rcx*4 + 0x24abe0]
movzx ecx, al
mov eax, r8d
shr rax, 0x18
xor r9d, dword [rbx + rcx*4 + 0x24a7e0]
xor r9d, dword [rbx + rax*4 + 0x24afe0]
pextrd eax, xmm2, 1
xor r9d, eax
pextrq rax, xmm0, 1
movzx edx, al
mov eax, edi
shr eax, 8
movzx ecx, al
mov eax, r11d
mov ebx, dword [rbx + rdx*4 + 0x24a3e0]
lea rdx, [0x140000000]
shr rax, 0x18
xor ebx, dword [rdx + rcx*4 + 0x24a7e0]
shr r11d, 0x10
mov dword [rsp + 0x44], r9d
xor ebx, dword [rdx + rax*4 + 0x24afe0]
mov eax, r8d
shr eax, 0x10
movzx ecx, al
pextrd eax, xmm2, 2
shr r8d, 8
xor ebx, dword [rdx + rcx*4 + 0x24abe0]
xor ebx, eax
movzx ecx, dil
mov eax, r10d
shr rax, 0x18
mov dword [rsp + 0x48], ebx
mov edx, dword [rdx + rcx*4 + 0x24a3e0]
lea rcx, [0x140000000]
xor edx, dword [rcx + rax*4 + 0x24afe0]
movzx eax, r11b
xor edx, dword [rcx + rax*4 + 0x24abe0]
movzx eax, r8b
xor edx, dword [rcx + rax*4 + 0x24a7e0]
pextrd eax, xmm2, 3
xor edx, eax
mov dword [rsp + 0x4c], edx
movdqa xmm1, xmmword [rsp + 0x40]
movdqa xmm0, xmm1
pxor xmm0, xmm3
movdqu xmmword [r14], xmm0
mov rax, qword [rbp + 0x2b8]
movq rdx, xmm1
mov rcx, rdx
mov esi, 8
and ecx, 0x3fff0
movdqa xmm3, xmm1
mov rbx, qword [rsi + rax]
add rbx, rcx
mov rax, qword [rbx]
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x60], rax
mul rdx
mov qword [rsp + 0x68], rcx
add r15, rdx
add r12, rax
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r12
movdqa xmm2, xmmword [rsp + 0x30]
pxor xmm2, xmmword [rsp + 0x60]
mov qword [rbx], r15
movdqa xmmword [rsp + 0x30], xmm2
mov qword [rbx + 8], r12
sub r13, 1
je 0x140161cd7
mov r12, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov rbx, qword [rbp + 0x2b8]
jmp 0x140161ae0
movups xmm0, xmmword [rbp + 0x40]
lea rdx, [rbp + 0x20]
movups xmm1, xmmword [rbp + 0x50]
mov r8d, 0x20
mov rcx, qword [rsp + 0x50]
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [rbp + 0x60]
movups xmmword [rbp - 0x80], xmm1
movups xmm1, xmmword [rbp + 0x70]
movups xmmword [rbp - 0x70], xmm0
movups xmm0, xmmword [rbp + 0x80]
movups xmmword [rbp - 0x60], xmm1
movups xmm1, xmmword [rbp + 0x90]
movups xmmword [rbp - 0x50], xmm0
movups xmm0, xmmword [rbp + 0xa0]
movups xmmword [rbp - 0x40], xmm1
movups xmm1, xmmword [rbp + 0xb0]
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm1
call fcn.1401629c0
lea rsi, [rsp + 0x78]
mov r15d, 8
mov r14d, 0x800
neg rsi
mov qword [rsp + 0x30], r14
mov r14, qword [rbp + 0x2b8]
lea rbx, [rsp + 0x70]
mov edi, 8
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [r15 + r14]
mov rdx, rbx
add rcx, rsi
mov rax, qword [rcx + rbx + 8]
xor qword [rbx], rax
mov rax, qword [rcx + rbx + 0x10]
mov rcx, rbx
xor qword [rbx + 8], rax
mov rax, qword [rsp + 0x50]
mov r8, qword [rax]
mov r8, qword [r8 + 0x18]
call fcn.1401606c0
add rbx, 0x10
sub rdi, 1
jne 0x140161d70
sub rsi, 0xffffffffffffff80
sub qword [rsp + 0x30], 1
jne 0x140161d51
lea rcx, [rsp + 0x50]
call fcn.1401628f0
movdqu xmm13, xmmword [rbp - 0x20]
mov rdi, r14
movdqu xmm12, xmmword [rbp - 0x30]
movdqu xmm11, xmmword [rbp - 0x40]
movdqu xmm10, xmmword [rbp - 0x50]
movdqu xmm9, xmmword [rbp - 0x60]
movdqu xmm8, xmmword [rbp - 0x70]
movdqu xmm7, xmmword [rbp - 0x80]
movdqu xmm6, xmmword [rsp + 0x70]
mov esi, 8
lea rcx, [rbp]
movups xmmword [rbp + 0x40], xmm6
movups xmmword [rbp + 0x50], xmm7
movups xmmword [rbp + 0x60], xmm8
movups xmmword [rbp + 0x70], xmm9
movups xmmword [rbp + 0x80], xmm10
movups xmmword [rbp + 0x90], xmm11
movups xmmword [rbp + 0xa0], xmm12
movups xmmword [rbp + 0xb0], xmm13
call fcn.140153c70
movzx eax, byte [rbp]
lea rcx, [rbp]
mov r8, qword [rbp + 0x2b0]
lea rbx, [0x140000000]
and eax, 3
mov edx, 0xc8
call qword [rbx + rax*8 + 0x24b3e0]
cmp qword [rbp - 0x10], 0
movaps xmm15, xmmword [rsp + 0x2c0]
movaps xmm14, xmmword [rsp + 0x2d0]
movaps xmm13, xmmword [rsp + 0x2e0]
movaps xmm12, xmmword [rsp + 0x2f0]
movaps xmm11, xmmword [rsp + 0x300]
movaps xmm10, xmmword [rsp + 0x310]
movaps xmm9, xmmword [rsp + 0x320]
movaps xmm8, xmmword [rsp + 0x330]
movaps xmm7, xmmword [rsp + 0x340]
movaps xmm6, xmmword [rsp + 0x350]
mov r15, qword [rsp + 0x360]
mov r14, qword [rsp + 0x368]
mov r13, qword [rsp + 0x370]
mov r12, qword [rsp + 0x3a0]
jne 0x140161f09
mov rcx, qword [rsi + rdi]
test rcx, rcx
je 0x140161f09
mov eax, 0x10
mov ebx, eax
cmp dword [rax + rdi], 0
jne 0x140161ef2
call fcn.1401cc150
jmp 0x140161f00
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
mov qword [rsi + rdi], rax
mov dword [rbx + rdi], eax
add rsp, 0x378
pop rdi
pop rsi
pop rbx
pop rbp
ret