Function at 0x180003220
Capabilities:
Allocate or change rwx memory
Check for software breakpoints
Execute shellcode via indirect call

Disassembly:
push rbx
push rdi
push r14
sub rsp, 0x150
mov rax, qword [0x180011058]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov rbx, rdx
mov r14, rcx
xor edi, edi
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x180014830], eax
je 0x18000325e
mov eax, 0x10dd
jmp 0x180003636
mov eax, dword [0x180014834]
test eax, eax
jne 0x180003636
test r14, r14
je 0x18000328a
mov rcx, qword [r14]
test rcx, rcx
jne 0x180003294
mov dword [0x180014834], 6
mov qword [0x180014838], r14
mov eax, 6
jmp 0x180003636
mov qword [rsp + 0x180], rbp
mov qword [rsp + 0x148], rsi
mov qword [rsp + 0x140], r12
xor edx, edx
mov qword [rsp + 0x138], r13
mov rsi, rdi
mov qword [rsp + 0x130], r15
mov r12, rdi
call fcn.180002b00
xor edx, edx
mov rcx, rbx
mov r13, rax
call fcn.180002b00
mov qword [rsp + 0x30], rax
cmp rax, r13
jne 0x1800032f1
cmp dword [0x1800146c4], esi
jne 0x1800035d2
jmp 0x180003596
mov ecx, 0x30
call fcn.1800048d0
mov r12, rax
test rax, rax
jne 0x18000330b
lea edi, [rax + 8]
jmp 0x180003596
mov rcx, r13
call fcn.180002860
mov rsi, rax
test rax, rax
jne 0x180003323
lea edi, [rax + 8]
jmp 0x180003596
xor eax, eax
mov rdx, r13
mov rbp, rsi
lea r15, [rsi + 0x1e]
lea rcx, [0x18000d220]
mov qword [rsi + 0x40], rax
nop word [rax + rax]
lea rax, [rsp + 0x68]
test rbp, rbp
lea r8, [rsp + 0x70]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x28]
cmovne r8, rbp
mov rbx, rdx
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x44], edi
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x48], edi
mov qword [rsp + 0x68], rdi
mov dword [rsp + 0x28], edi
test rdx, rdx
jne 0x18000338b
lea ecx, [rdx + 0xd]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdx, rdi
jmp 0x1800033a6
movzx eax, byte [rdx]
mov r9, rdx
shl rax, 4
add rax, rcx
lea rcx, [rsp + 0x40]
mov rdx, rax
call qword [rax + 8]
mov rdx, rax
movsxd rax, dword [rsp + 0x28]
mov r8d, edx
sub rax, rbx
sub r8d, r13d
add rax, rdx
add rbp, rax
movzx eax, r8b
and al, 7
movzx ecx, bpl
sub cl, sil
shl cl, 3
xor cl, al
mov byte [rsi + 0x40], cl
movzx eax, byte [rbx]
cmp al, 0xeb
je 0x18000342e
cmp al, 0xe9
je 0x18000342e
cmp al, 0xe0
je 0x18000342e
cmp al, 0xc2
je 0x18000342e
cmp al, 0xc3
je 0x18000342e
cmp al, 0xcc
je 0x18000342e
cmp al, 0xff
jne 0x1800033f4
cmp byte [rbx + 1], 0x25
je 0x18000342e
cmp al, 0x26
je 0x18000340c
cmp al, 0x2e
je 0x18000340c
cmp al, 0x36
je 0x18000340c
cmp al, 0xe3
je 0x18000340c
cmp al, 0x64
je 0x18000340c
cmp al, 0x65
jne 0x180003418
cmp byte [rbx + 1], 0xff
jne 0x180003418
cmp byte [rbx + 2], 0x25
je 0x18000342e
cmp r8d, 5
jae 0x1800034f1
lea rcx, [0x18000d220]
jmp 0x180003340
cmp r8d, 5
jae 0x1800034f1
nop dword [rax + rax]
cmp byte [rdx], 0x90
jne 0x18000351d
lea rax, [rsp + 0xd8]
mov dword [rsp + 0xb0], edi
mov dword [rsp + 0xb4], edi
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0x24]
mov dword [rsp + 0xb8], edi
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0x24], edi
movzx eax, byte [rdx]
lea rcx, [0x18000d220]
mov rbx, rdx
mov r9, rdx
lea r8, [rsp + 0xe0]
test rbp, rbp
cmovne r8, rbp
shl rax, 4
add rax, rcx
lea rcx, [rsp + 0xb0]
mov rdx, rax
call qword [rax + 8]
mov rdx, rax
movsxd rax, dword [rsp + 0x24]
sub rax, rbx
mov r8d, edx
add rax, rdx
sub r8d, r13d
add rbp, rax
movzx eax, r8b
and al, 7
movzx ecx, bpl
sub cl, sil
shl cl, 3
xor cl, al
mov byte [rsi + 0x40], cl
cmp r8d, 5
jb 0x180003440
cmp rbp, r15
jbe 0x1800034f7
int3
lea rcx, [rsi + 0x20]
sub bpl, sil
mov rdx, r13
mov byte [rsi + 0x3e], r8b
mov ebx, r8d
mov byte [r15], bpl
call fcn.1800082a0
cmp rbx, 0x19
jbe 0x180003533
mov edi, 6
jmp 0x180003596
cmp r8d, 5
jae 0x1800034f1
cmp dword [0x1800146c4], 0
mov edi, 9
jne 0x18000359c
jmp 0x180003596
movzx r8d, byte [r15]
lea rax, [rbx + r13]
mov rdx, r15
mov qword [rsi + 0x48], rax
mov rax, qword [rsp + 0x30]
add r8, rsi
mov qword [rsi + 0x50], rax
lea rcx, [r8 + 6]
mov byte [r8], 0xff
mov eax, esi
mov byte [r8 + 1], 0x25
sub eax, ecx
lea rcx, [r8 + 6]
add eax, 0x48
mov dword [r8 + 2], eax
call fcn.180002620
lea r9, [rsp + 0x20]
mov r8d, 0x40
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x20], edi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1800035dd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov dword [0x180014834], edi
test rsi, rsi
je 0x1800035c5
xor edx, edx
mov rbx, rsi
mov rcx, rsi
lea r8d, [rdx + 0x60]
and rbx, 0xffffffffffff0000
call fcn.180008050
mov rax, qword [rbx + 0x10]
mov qword [rsi + 0x48], rax
mov qword [rbx + 0x10], rsi
test r12, r12
je 0x1800035d2
mov rcx, r12
call fcn.180004858
mov qword [0x180014838], r14
mov eax, edi
jmp 0x18000360e
mov dword [r12 + 8], edi
mov qword [r12 + 0x10], r14
mov qword [r12 + 0x20], rsi
mov qword [r12 + 0x18], r13
mov eax, dword [rsp + 0x20]
mov dword [r12 + 0x28], eax
mov rax, qword [0x180014848]
mov qword [0x180014848], r12
mov qword [r12], rax
xor eax, eax
mov r13, qword [rsp + 0x138]
mov r12, qword [rsp + 0x140]
mov rsi, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x180]
mov r15, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.180004310
add rsp, 0x150
pop r14
pop rdi
pop rbx
ret