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

Disassembly:
mov rax, rsp
sub rsp, 0x78
mov r9, qword [rcx + 8]
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax - 0x10], r13
mov r13, qword [rcx + 0x28]
mov rdi, rcx
mov qword [rax - 0x18], r14
mov r14, qword [rcx]
movzx ecx, byte [rdx]
mov rbx, rdx
sub ecx, 0x95
je 0x18003c01a
sub ecx, 1
je 0x18003bef2
cmp ecx, 1
je 0x18003c01a
cmp qword [rdx + 0x60], 0
je 0x18003beeb
add dword [rdi + 0x24], 1
mov rcx, qword [rbx + 0x60]
lea rdx, [fcn.18003be80]
mov r8, rdi
call fcn.18003b720
add dword [rdi + 0x24], 0xffffffff
xor eax, eax
jmp 0x18003c16e
cmp dword [rdi + 0x24], 0
jne 0x18003bec9
mov qword [rsp + 0x88], rbp
mov rbp, qword [r13 + 0x30]
xor esi, esi
cmp dword [r13 + 0x38], esi
mov qword [rsp + 0x70], r12
lea r12, [r13 + 0x38]
mov edi, esi
jle 0x18003bf3d
nop
nop
nop
mov rcx, qword [rbp]
mov rdx, rbx
call fcn.18003ab00
test eax, eax
jne 0x18003bf3d
add edi, 1
add rbp, 0x18
cmp edi, dword [r12]
jl 0x18003bf20
cmp edi, dword [r12]
jl 0x18003c005
mov rcx, qword [r14]
mov r9d, 3
mov qword [rsp + 0x58], r15
mov rax, qword [rcx + 0x10]
lea r8d, [r9 + 0x15]
mov rdx, qword [rax + 0x28]
lea rax, [r13 + 0x3c]
movzx r15d, byte [rdx + 0x91]
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov rdx, qword [r13 + 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
call fcn.180019440
movsxd rdi, dword [rsp + 0x40]
test edi, edi
mov r12, rax
mov qword [r13 + 0x30], rax
js 0x18003c000
lea rbp, [rdi + rdi*2]
mov qword [rax + rbp*8], rbx
add dword [r14 + 0x58], 1
mov ecx, dword [r14 + 0x58]
mov dword [rax + rbp*8 + 0x10], ecx
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x18003bfbd
mov r9d, dword [rax]
jmp 0x18003bfc0
mov r9d, esi
mov r8d, dword [rbx + 0x30]
mov rdx, qword [rbx + 0x28]
mov rcx, qword [r14]
shr r8d, 1
mov dword [rsp + 0x28], esi
mov byte [rsp + 0x20], r15b
call fcn.180020930
mov qword [r12 + rbp*8 + 8], rax
test byte [rbx + 2], 0x10
je 0x18003bff7
mov eax, dword [r14 + 0x54]
mov dword [r12 + rbp*8 + 0x14], eax
add dword [r14 + 0x54], 1
jmp 0x18003c000
mov dword [r12 + rbp*8 + 0x14], 0xffffffff
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x88]
mov dword [rbx + 0x58], edi
jmp 0x18003c165
test r9, r9
je 0x18003c169
movsx r8d, word [r9]
xor esi, esi
test r8d, r8d
mov ecx, esi
jle 0x18003c169
mov edx, dword [rdx + 0x48]
lea rax, [r9 + 0x34]
nop
nop
cmp edx, dword [rax]
je 0x18003c055
add ecx, 1
add rax, 0x48
cmp ecx, r8d
jl 0x18003c040
jmp 0x18003c169
mov r10d, dword [r13 + 0x20]
mov r11, qword [r13 + 0x18]
lea r9, [r13 + 0x20]
test r10d, r10d
mov r8d, esi
jle 0x18003c089
lea rcx, [r11 + 0xc]
nop
cmp dword [rcx - 4], edx
jne 0x18003c07c
mov eax, dword [rbx + 0x4c]
cmp dword [rcx], eax
je 0x18003c089
add r8d, 1
add rcx, 0x20
cmp r8d, r10d
jl 0x18003c070
cmp r8d, r10d
jl 0x18003c15e
lea rcx, [rsp + 0x40]
lea rax, [r13 + 0x24]
mov rdx, r11
mov qword [rsp + 0x30], rcx
mov rcx, qword [r14]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r9
mov r9d, 3
lea r8d, [r9 + 0x1d]
call fcn.180019440
movsxd r8, dword [rsp + 0x40]
test r8d, r8d
mov qword [r13 + 0x18], rax
js 0x18003c15e
mov r9, r8
shl r9, 5
add r9, rax
mov rax, qword [rbx + 0x68]
mov qword [r9], rax
mov eax, dword [rbx + 0x48]
mov dword [r9 + 8], eax
mov eax, dword [rbx + 0x4c]
mov dword [r9 + 0xc], eax
add dword [r14 + 0x58], 1
mov eax, dword [r14 + 0x58]
mov dword [r9 + 0x14], eax
mov dword [r9 + 0x10], 0xffffffff
mov qword [r9 + 0x18], rbx
mov rax, qword [r13 + 8]
test rax, rax
je 0x18003c14a
mov r10d, dword [rax]
mov rdx, qword [rax + 0x10]
test r10d, r10d
jle 0x18003c14a
nop
mov rcx, qword [rdx]
cmp byte [rcx], 0x95
jne 0x18003c138
mov eax, dword [rbx + 0x48]
cmp dword [rcx + 0x48], eax
jne 0x18003c138
mov eax, dword [rbx + 0x4c]
cmp dword [rcx + 0x4c], eax
je 0x18003c146
add esi, 1
add rdx, 0x18
cmp esi, r10d
jl 0x18003c120
jmp 0x18003c14a
mov dword [r9 + 0x10], esi
cmp dword [r9 + 0x10], 0
jge 0x18003c15e
mov eax, dword [r13 + 0x10]
mov dword [r9 + 0x10], eax
add dword [r13 + 0x10], 1
mov byte [rbx], 0x97
mov dword [rbx + 0x58], r8d
mov qword [rbx + 0x50], r13
mov eax, 1
mov r14, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x80]
add rsp, 0x78
ret