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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
sub rsp, 0x40
mov rax, qword [0x180005040]
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 0x18000107e
mov eax, dword [rbx + 0x3c]
test al, 0x40
je 0x180001076
mov r9d, dword [r8 + 0x20]
jmp 0x18000107e
test al, al
jns 0x18000107e
mov r9d, dword [r8 + 0x24]
mov eax, dword [rbx + 0x3c]
lea rsi, [0x180003248]
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 0x180001203
add rbx, 0x64
nop dword [rax]
nop dword [rax + rax]
mov r14d, dword [r13 + 0x50]
mov edi, r14d
mov ebp, dword [rbx - 0x1c]
neg edi
mov esi, dword [rbx - 0x14]
or rbp, rcx
and rdi, rbp
test esi, esi
jne 0x1800010ee
mov ecx, dword [rbx]
test cl, 0x40
je 0x1800010e6
mov esi, dword [r8 + 0x20]
jmp 0x1800010ee
test cl, cl
jns 0x1800010ee
mov esi, dword [r8 + 0x24]
cmp r11, rdi
je 0x1800011b2
mov r15d, r9d
lea rcx, [r15 + r10]
cmp rcx, rdi
ja 0x1800011b2
test r9d, r9d
je 0x1800011a5
bt eax, 0x19
jae 0x180001153
cmp r10, r11
jne 0x1800011a5
cmp dword [r8 + 0x38], r14d
je 0x180001131
xor edx, edx
mov eax, r9d
div r14d
test edx, edx
jne 0x1800011a5
mov r8d, 0x4000
mov rdx, r15
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, dword [rbx]
mov r10, rbp
mov r11, rdi
mov r9d, esi
jmp 0x1800011d9
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, [0x180003248]
mov r8d, dword [rcx + rdx*4]
bts r8d, 9
bt eax, 0x1a
cmovae r8d, dword [rcx + rdx*4]
mov rdx, r15
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x18000129c
mov eax, dword [rbx]
mov r10, rbp
mov r11, rdi
mov r9d, esi
jmp 0x1800011d9
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 0x1800010c0
mov edi, 1
lea rsi, [0x180003248]
test r9d, r9d
je 0x180001225
bt eax, 0x19
jae 0x180001255
cmp r10, r11
jne 0x180001225
mov edx, r9d
mov r8d, 0x4000
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.180001a50
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 0x180001225
xor eax, eax
jmp 0x180001227