Function at 0x14001c750
Capabilities:
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x38]
sub rsp, 0x110
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140063040]
xor rax, rsp
mov qword [rbp - 0x18], rax
xorps xmm0, xmm0
movups xmmword [0x140113830], xmm0
movups xmmword [0x140113840], xmm0
movups xmmword [0x140113850], xmm0
lea r15, [rbp + 0x38]
xor r14d, r14d
movabs r12, 0xff00ff00ff00ff00
lea r8, [0x140020c00]
lea rsi, [0x140000000]
lea rdi, [0x140020c80]
lea r13, [0x140020cb0]
movss xmm7, dword [0x14005a9f8]
nop word [rax + rax]
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
movups xmmword [rbp - 0x28], xmm0
cmp byte [0x140113970], 0
je 0x14001c809
cmp byte [0x14011358e], 0
jne 0x14001c828
mov r8d, 0x11
jmp 0x14001c815
cmp byte [0x14011358e], 0
je 0x14001c828
xor r8d, r8d
call fcn.140051260
lea r8, [0x140020c00]
mov byte [0x14011358e], 0
mov dword [rsp + 0x44], 1
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x40], r14d
mov qword [rsp + 0x70], r14
lea rax, [rbp - 0x48]
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], r15
mov rbx, qword [r15]
xor rbx, r12
mov qword [rbp - 0x70], rbx
mov qword [r15], r14
mov ecx, r14d
mov rax, qword [0x140114910]
test rax, rax
je 0x14001c89f
mov rdx, r14
cmp rax, r8
je 0x14001c88e
inc ecx
mov edx, ecx
mov rax, qword [rsi + rcx*8 + 0x114910]
test rax, rax
jne 0x14001c876
jmp 0x14001c89f
mov r10, qword [rsi + rdx*8 + 0x1169a0]
test r10, r10
jne 0x14001c98f
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
lea r8, [0x140020c00]
test rax, rax
jne 0x14001c8cd
mov r10, r14
jmp 0x14001c96e
mov rax, r8
mov rcx, r10
mov edx, 3
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14001c8e0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140116630]
mov qword [rsi + rax*8 + 0x114910], r8
mov qword [rsi + rax*8 + 0x1169a0], r10
inc rax
mov qword [0x140116630], rax
lea rax, [rsp + 0x44]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
mov rcx, qword [sym.imp.USER32.dll_PeekMessageA]
call r10
nop
xor rbx, r12
mov qword [r15], rbx
test eax, eax
je 0x14001cc91
lea rax, [rbp - 0x48]
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], r15
xor rbx, r12
mov qword [rbp - 0x70], rbx
mov qword [r15], r14
mov ecx, r14d
mov rax, qword [0x1401159a0]
test rax, rax
je 0x14001ca29
mov rdx, r14
nop
cmp rax, rdi
je 0x14001ca18
inc ecx
mov edx, ecx
mov rax, qword [rsi + rcx*8 + 0x1159a0]
test rax, rax
jne 0x14001ca00
jmp 0x14001ca29
mov r8, qword [rsi + rdx*8 + 0x115cd0]
test r8, r8
jne 0x14001cb0f
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14001ca50
mov r8, r14
jmp 0x14001caee
mov rax, rdi
mov rcx, r8
mov edx, 3
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14001ca60
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140116638]
mov qword [rsi + rax*8 + 0x1159a0], rdi
mov qword [rsi + rax*8 + 0x115cd0], r8
inc rax
mov qword [0x140116638], rax
lea rdx, [rsp + 0x60]
mov rcx, qword [sym.imp.USER32.dll_TranslateMessage]
call r8
nop
lea rax, [rbp - 0x48]
mov qword [rsp + 0x78], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x70], rbx
mov qword [r15], r14
mov ecx, r14d
mov rax, qword [0x140114c90]
test rax, rax
je 0x14001cb80
mov rdx, r14
lea r8, [0x140020c80]
cmp rax, r8
je 0x14001cb6f
inc ecx
mov edx, ecx
mov rax, qword [rsi + rcx*8 + 0x114c90]
test rax, rax
jne 0x14001cb57
jmp 0x14001cb80
mov r8, qword [rsi + rdx*8 + 0x114fe0]
test r8, r8
jne 0x14001cc76
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14001cba7
mov r8, r14
jmp 0x14001cc4e
lea rax, [0x140020c80]
mov rcx, r8
mov edx, 3
nop word [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14001cbc0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140116990]
lea rcx, [0x140020c80]
mov qword [rsi + rax*8 + 0x114c90], rcx
mov qword [rsi + rax*8 + 0x114fe0], r8
inc rax
mov qword [0x140116990], rax
lea rdx, [rsp + 0x78]
mov rcx, qword [sym.imp.USER32.dll_DispatchMessageA]
call r8
nop
xor rbx, r12
mov qword [r15], rbx
jmp 0x14001dcb0
cmp byte [0x14011358c], 0
jne 0x14001dcc4
mov dword [rsp + 0x48], 0xffffffec
xorps xmm0, xmm0
mov qword [rbp - 0x60], r15
xor rbx, r12
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x70], rbx
cmp byte [0x1401138c7], 0
je 0x14001d11d
mov dword [rsp + 0x40], 0x80080
mov qword [r15], r14
mov ecx, r14d
mov rax, qword [0x140118010]
lea rdi, [0x140020cb0]
test rax, rax
je 0x14001cd19
mov rdx, r14
nop dword [rax]
cmp rax, rdi
je 0x14001cd08
inc ecx
mov edx, ecx
mov rax, qword [rsi + rcx*8 + 0x118010]
test rax, rax
jne 0x14001ccf0
jmp 0x14001cd19
mov r10, qword [rsi + rdx*8 + 0x117cd0]
test r10, r10
jne 0x14001cdff
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x14001cd40
mov r10, r14
jmp 0x14001cdde
mov rax, rdi
mov rcx, r10
mov edx, 3
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14001cd50
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140115300]
mov qword [rsi + rax*8 + 0x118010], rdi
mov qword [rsi + rax*8 + 0x117cd0], r10
inc rax
mov qword [0x140115300], rax
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x48]
lea rdx, [0x140113508]
lea rcx, [0x140008450]
call r10
nop
mov rdi, qword [0x140113898]
mov dword [rsp + 0x44], 1
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x70], rbx
mov qword [r15], r14
mov ecx, r14d
mov rax, qword [0x140115660]
test rax, rax
je 0x14001ce89
mov rdx, r14
lea r8, [0x140020810]
nop dword [rax]
cmp rax, r8
je 0x14001ce78
inc ecx
mov edx, ecx
mov rax, qword [rsi + rcx*8 + 0x115660]
test rax, rax
jne 0x14001ce60
jmp 0x14001ce89
mov r8, qword [rsi + rdx*8 + 0x115310]
test r8, r8
jne 0x14001cf76
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14001ceb0
mov r8, r14
jmp 0x14001cf4e
lea rax, [0x140020810]
mov rcx, r8
mov edx, 3
nop
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14001cec0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140116cc0]
lea rcx, [0x140020810]
mov qword [rsi + rax*8 + 0x115660], rcx
mov qword [rsi + rax*8 + 0x115310], r8
inc rax
mov qword [0x140116cc0], rax
lea rdx, [rsp + 0x44]
lea rcx, [0x140008470]
call r8
nop
xor rbx, r12
mov qword [r15], rbx
cwde
shr eax, 0xf
and al, 1
mov byte [rdi + 0x130], al
mov dword [rsp + 0x44], 2
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], r15
mov rbx, qword [r15]
xor rbx, r12
mov qword [rbp - 0x70], rbx
mov qword [r15], r14
mov ecx, r14d
mov rax, qword [0x140115660]
test rax, rax
je 0x14001cffe
mov rdx, r14
lea r8, [0x140020810]
cmp rax, r8
je 0x14001cfed
inc ecx
mov edx, ecx
mov rax, qword [rsi + rcx*8 + 0x115660]
test rax, rax
jne 0x14001cfd5
jmp 0x14001cffe
mov r8, qword [rsi + rdx*8 + 0x115310]
test r8, r8
jne 0x14001d0f6
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14001d025
mov r8, r14
jmp 0x14001d0ce
lea rax, [0x140020810]
mov rcx, r8
mov edx, 3
nop dword [rax]
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14001d040
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140116cc0]
lea rcx, [0x140020810]
mov qword [rsi + rax*8 + 0x115660], rcx
mov qword [rsi + rax*8 + 0x115310], r8
inc rax
mov qword [0x140116cc0], rax
lea rdx, [rsp + 0x44]
lea rcx, [0x140008470]
call r8
nop
xor rbx, r12
mov qword [r15], rbx
cwde
shr eax, 0xf
and al, 1
mov byte [rdi + 0x131], al
jmp 0x14001d271
mov dword [rsp + 0x40], 0x80808a8
mov qword [r15], r14
mov ecx, r14d
mov rax, qword [0x140116cf0]
lea rdi, [0x140020cb0]
test rax, rax
je 0x14001d16a
mov rdx, r14
cmp rax, rdi
je 0x14001d159
inc ecx
mov edx, ecx
mov rax, qword [rsi + rcx*8 + 0x116cf0]
test rax, rax
jne 0x14001d141
jmp 0x14001d16a
mov r10, qword [rsi + rdx*8 + 0x115ff0]
test r10, r10
jne 0x14001d24f
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x14001d191
mov r10, r14
jmp 0x14001d22e
mov rax, rdi
mov rcx, r10
mov edx, 3
nop dword [rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14001d1a0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x1401148f8]
mov qword [rsi + rax*8 + 0x116cf0], rdi
mov qword [rsi + rax*8 + 0x115ff0], r10
inc rax
mov qword [0x1401148f8], rax
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x48]
lea rdx, [0x140113508]
lea rcx, [0x140008450]
call r10
nop
xor rbx, r12
mov qword [r15], rbx
mov dword [rsp + 0x40], 0xffffffec
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], r15
mov rbx, qword [r15]
xor rbx, r12
mov qword [rbp - 0x70], rbx
mov qword [r15], r14
mov ecx, r14d
mov rax, qword [0x140117680]
lea rdi, [0x140020cf0]
test rax, rax
je 0x14001d2d9
mov rdx, r14
nop
cmp rax, rdi
je 0x14001d2c8
inc ecx
mov edx, ecx
mov rax, qword [rsi + rcx*8 + 0x117680]
test rax, rax
jne 0x14001d2b0
jmp 0x14001d2d9
mov r9, qword [rsi + rdx*8 + 0x116310]
test r9, r9
jne 0x14001d3bf
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r9, rax
test rax, rax
jne 0x14001d300
mov r9, r14
jmp 0x14001d39e
mov rax, rdi
mov rcx, r9
mov edx, 3
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14001d310
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140114c38]
mov qword [rsi + rax*8 + 0x117680], rdi
mov qword [rsi + rax*8 + 0x116310], r9
inc rax
mov qword [0x140114c38], rax
lea r8, [rsp + 0x40]
lea rdx, [0x140113508]
lea rcx, [0x140008460]
call r9
nop
xor rbx, r12
mov qword [r15], rbx
mov dword [rsp + 0x40], 0xffffffec
xorps xmm0, xmm0
mov qword [rbp - 0x60], r15
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x68], r12
cmp byte [0x1401138c7], 0
je 0x14001d6a9
btr eax, 0x13
mov dword [rbp - 0x58], eax
mov rbx, qword [r15]
xor rbx, r12
mov qword [rbp - 0x70], rbx
mov qword [r15], r14
mov ecx, r14d
mov rax, qword [0x140117340]
test rax, rax
je 0x14001d44f
mov rdx, r14
cmp rax, r13
je 0x14001d43e
inc ecx
mov edx, ecx
mov rax, qword [rsi + rcx*8 + 0x117340]
test rax, rax
jne 0x14001d426
jmp 0x14001d44f
mov r10, qword [rsi + rdx*8 + 0x118650]
test r10, r10
jne 0x14001d530
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x14001d476
mov r10, r14
jmp 0x14001d50f
mov rax, r13
mov rcx, r10
mov edx, 3
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14001d481
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140117330]
mov qword [rsi + rax*8 + 0x117340], r13
mov qword [rsi + rax*8 + 0x118650], r10
inc rax
mov qword [0x140117330], rax
lea r9, [rbp - 0x58]
lea r8, [rsp + 0x40]
lea rdx, [0x140113508]
lea rcx, [0x140008450]
call r10
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x70], rbx
mov qword [r15], r14
mov ecx, r14d
mov rax, qword [0x1401145d0]
lea rdi, [0x140020c80]
test rax, rax
je 0x14001d5a9
mov rdx, r14
nop word [rax + rax]
cmp rax, rdi
je 0x14001d598
inc ecx
mov edx, ecx
mov rax, qword [rsi + rcx*8 + 0x1145d0]
test rax, rax
jne 0x14001d580
jmp 0x14001d5a9
mov r8, qword [rsi + rdx*8 + 0x117010]
test r8, r8
jne 0x14001d68f
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14001d5d0
mov r8, r14
jmp 0x14001d66e
mov rax, rdi
mov rcx, r8
mov edx, 3
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14001d5e0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140118c90]
mov qword [rsi + rax*8 + 0x1145d0], rdi
mov qword [rsi + rax*8 + 0x117010], r8
inc rax
mov qword [0x140118c90], rax
lea rdx, [0x140113508]
mov rcx, qword [sym.imp.USER32.dll_SetForegroundWindow]
call r8
nop
mov rdi, r15
jmp 0x14001d7fa
bts eax, 0x13
mov dword [rbp - 0x58], eax
mov rdi, r15
mov rbx, qword [r15]
xor rbx, r12
mov qword [rbp - 0x70], rbx
mov qword [r15], r14
mov ecx, r14d
mov rax, qword [0x140117340]
test rax, rax
je 0x14001d6fb
mov rdx, r14
cmp rax, r13
je 0x14001d6ea
inc ecx
mov edx, ecx
mov rax, qword [rsi + rcx*8 + 0x117340]
test rax, rax
jne 0x14001d6d2
jmp 0x14001d6fb
mov r10, qword [rsi + rdx*8 + 0x118650]
test r10, r10
jne 0x14001d7df
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x14001d722
mov r10, r14
jmp 0x14001d7be
mov rax, r13
mov rcx, r10
mov edx, 3
nop dword [rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14001d730
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140117330]
mov qword [rsi + rax*8 + 0x117340], r13
mov qword [rsi + rax*8 + 0x118650], r10
inc rax
mov qword [0x140117330], rax
lea r9, [rbp - 0x58]
lea r8, [rsp + 0x40]
lea rdx, [0x140113508]
lea rcx, [0x140008450]
call r10
nop
xor rbx, r12
mov qword [rdi], rbx
call fcn.140045720
call fcn.140045ce0
call fcn.140025dd0
mov dword [rsp + 0x50], 0x93989086
mov dword [rsp + 0x54], 0x1008b9d
mov rcx, r14
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0xc]
xor byte [rsp + rcx + 0x50], al
inc rcx
cmp rcx, 6
jb 0x14001d830
mov byte [rsp + 0x57], 0
lea rcx, [rsp + 0x50]
call qword [sym.imp.VMProtectSDK64.dll_VMProtectBeginMutation]
cmp byte [0x1401138c7], 0
jne 0x14001d85e
call fcn.140017310
cmp byte [0x1401139a9], 0
je 0x14001d8ee
cmp byte [0x1401138cf], 0
je 0x14001d8ee
cmp byte [0x1401138b0], 0
jne 0x14001d8ee
mov rbx, qword [0x140113898]
movaps xmm0, xmmword [0x14005ae30]
movups xmmword [rsp + 0x60], xmm0
xor ecx, ecx
call fcn.14000f430
movaps xmm6, xmm0
mov eax, dword [0x140113794]
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
movss dword [rsp + 0x58], xmm1
mov eax, dword [0x140113568]
xorps xmm2, xmm2
cvtsi2ss xmm2, rax
movss dword [rsp + 0x5c], xmm2
lea rcx, [rsp + 0x60]
call fcn.1400235f0
mov r9d, eax
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], r14d
movaps xmm2, xmm6
lea rdx, [rsp + 0x58]
lea rcx, [rbx + 0x1e70]
call fcn.14003f320
mov edx, 0xffffffec
mov rcx, qword [0x1401137e0]
call qword [sym.imp.USER32.dll_GetWindowLongA]
mov edx, 0xffffffec
mov rcx, qword [0x1401137e0]
cmp byte [0x1401138c7], 0
je 0x14001d931
btr eax, 0x13
mov r8d, eax
call qword [sym.imp.USER32.dll_SetWindowLongA]
mov rcx, qword [0x1401137e0]
call qword [sym.imp.USER32.dll_SetForegroundWindow]
jmp 0x14001d93e
bts eax, 0x13
mov r8d, eax
call qword [sym.imp.USER32.dll_SetWindowLongA]
cmp byte [0x1401138c7], 0
je 0x14001d94c
call fcn.14001a590
call qword [sym.imp.VMProtectSDK64.dll_VMProtectEnd]
cmp byte [0x140113505], 0
jne 0x14001d962
mov byte [0x140113505], 1
call fcn.140027230
mov dword [rbp - 0x54], r14d
mov dword [rbp - 0x50], r14d
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], r14
mov rcx, qword [0x140113518]
test rcx, rcx
je 0x14001dca9
mov rax, qword [rcx]
lea r8, [rbp - 0x54]
mov edx, 0xa8
call qword [rax + 0x1d0]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
lea r8, [rbp - 0x50]
mov edx, 0xc2
call qword [rax + 0x1d0]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
lea rdx, [rbp - 0x80]
call qword [rax + 0x2c0]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
lea rdx, [rbp - 0x78]
call qword [rax + 0x2e8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x2e0]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x358]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
mov edx, 0x44
call qword [rax + 0x2c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
xor r8d, r8d
mov edx, 0x89
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
xor r8d, r8d
lea edx, [r8 + 0x1c]
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
mov edx, 0x16
lea r8d, [rdx - 0x15]
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
mov edx, 8
lea r8d, [rdx - 5]
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
xor r8d, r8d
lea edx, [r8 + 7]
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
mov edx, 0xae
mov r8d, 1
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
xor r8d, r8d
lea edx, [r8 + 0xe]
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
xor r8d, r8d
lea edx, [r8 + 0x34]
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
xor r8d, r8d
mov edx, 0xa1
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
xor r8d, r8d
mov edx, 0xb0
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
mov edx, 0x1b
lea r8d, [rdx - 0x1a]
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
xor r8d, r8d
lea edx, [r8 + 0xf]
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
mov edx, 0xce
mov r8d, 1
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
mov edx, 0x13
lea r8d, [rdx - 0xe]
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
mov edx, 0xcf
mov r8d, 8
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
mov edx, 0x14
lea r8d, [rdx - 0xe]
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
mov edx, 0xd0
mov r8d, 2
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
mov edx, 0xa8
mov r8d, 0xf
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
xor r8d, r8d
mov edx, 0xc2
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
mov dword [rsp + 0x30], r14d
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], r14d
mov r9d, 3
xor r8d, r8d
xor edx, edx
call qword [rax + 0x158]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
call qword [rax + 0x148]
test eax, eax
js 0x14001dc5a
call fcn.1400275c0
mov rax, qword [0x140113898]
add rax, 0x1e10
mov rcx, r14
cmp byte [rax], r14b
cmovne rcx, rax
call fcn.140045170
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
call qword [rax + 0x150]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [rax + 0x88]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
mov r8d, dword [rbp - 0x54]
mov edx, 0xa8
call qword [rax + 0x1c8]
mov rcx, qword [0x140113518]
mov rax, qword [rcx]
mov r8d, dword [rbp - 0x50]
mov edx, 0xc2
call qword [rax + 0x1c8]
lea rdi, [0x140020c80]
cmp dword [0x140113838], 0x12
lea r8, [0x140020c00]
jne 0x14001c7e0
xor al, al
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.140051cb0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret