Function at 0x180001200
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
sub rsp, 0x40
mov rax, qword [0x180005010]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r8, qword [rdx]
movabs rax, 0xffffffff00000000
mov r11d, dword [rdx + 0x50]
mov r13, rdx
neg r11d
movzx ebx, word [r8 + 0x14]
mov rcx, qword [r8 + 0x30]
add rbx, r8
and rcx, rax
mov qword [rsp + 0x20], rcx
mov r10d, dword [rbx + 0x20]
mov r9d, dword [rbx + 0x28]
or r10, rcx
and r11, r10
test r9d, r9d
jne 0x18000126e
mov eax, dword [rbx + 0x3c]
test al, 0x40
je 0x180001266
mov r9d, dword [r8 + 0x20]
jmp 0x18000126e
test al, al
jns 0x18000126e
mov r9d, dword [r8 + 0x24]
mov eax, dword [rbx + 0x3c]
lea rsi, [0x180003238]
mov edi, 1
mov qword [rsp + 0x70], rbp
mov r12d, edi
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x88], r15
cmp di, word [r8 + 6]
jae 0x1800013f3
add rbx, 0x64
nop dword [rax]
nop dword [rax + rax]
mov r15d, dword [r13 + 0x50]
mov edi, r15d
mov ebp, dword [rbx - 0x1c]
neg edi
mov esi, dword [rbx - 0x14]
or rbp, rcx
and rdi, rbp
test esi, esi
jne 0x1800012de
mov ecx, dword [rbx]
test cl, 0x40
je 0x1800012d6
mov esi, dword [r8 + 0x20]
jmp 0x1800012de
test cl, cl
jns 0x1800012de
mov esi, dword [r8 + 0x24]
cmp r11, rdi
je 0x1800013a2
mov r14d, r9d
lea rcx, [r14 + r10]
cmp rcx, rdi
ja 0x1800013a2
test r9d, r9d
je 0x180001395
bt eax, 0x19
jae 0x180001343
cmp r10, r11
jne 0x180001395
cmp dword [r8 + 0x38], r15d
je 0x180001321
xor edx, edx
mov eax, r9d
div r15d
test edx, edx
jne 0x180001395
mov r8d, TerminateProcess
mov rdx, r14
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, dword [rbx]
mov r10, rbp
mov r11, rdi
mov r9d, esi
jmp 0x1800013c9
mov edx, eax
lea r9, [rsp + 0x28]
shr rdx, 0x1d
mov ecx, eax
shr rcx, 0x1e
and edx, 1
and ecx, 1
lea rdx, [rcx + rdx*2]
mov ecx, eax
shr rcx, 0x1f
lea rdx, [rcx + rdx*2]
lea rcx, [0x180003238]
mov r8d, dword [rcx + rdx*4]
bts r8d, 9
bt eax, 0x1a
cmovae r8d, dword [rcx + rdx*4]
mov rdx, r14
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x18000148c
mov eax, dword [rbx]
mov r10, rbp
mov r11, rdi
mov r9d, esi
jmp 0x1800013c9
mov r8d, eax
mov r9d, ebp
or r8d, dword [rbx]
sub r9d, r10d
and eax, dword [rbx]
add r9d, esi
bt eax, 0x19
mov edx, r8d
mov eax, r8d
setb cl
btr edx, 0x19
test cl, cl
cmove eax, edx
mov r8, qword [r13]
inc r12d
add rbx, 0x28
movzx ecx, word [r8 + 6]
cmp r12d, ecx
mov rcx, qword [rsp + 0x20]
jl 0x1800012b0
mov edi, 1
lea rsi, [0x180003238]
test r9d, r9d
je 0x180001415
bt eax, 0x19
jae 0x180001445
cmp r10, r11
jne 0x180001415
mov edx, r9d
mov r8d, TerminateProcess
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, edi
mov r15, qword [rsp + 0x88]
mov r14, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.180001bb0
add rsp, 0x40
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov edx, eax
mov ecx, eax
shr rcx, 0x1e
shr rdx, 0x1d
and ecx, 1
and edx, 1
lea rdx, [rcx + rdx*2]
mov ecx, eax
shr rcx, 0x1f
lea rdx, [rcx + rdx*2]
mov rcx, r10
mov r8d, dword [rsi + rdx*4]
bts r8d, 9
bt eax, 0x1a
cmovae r8d, dword [rsi + rdx*4]
mov edx, r9d
lea r9, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x180001415
xor eax, eax
jmp 0x180001417