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

Disassembly:
push rbx
push rdi
push r13
push r14
push r15
sub rsp, 0x90
mov rax, qword [0x18014f0c0]
xor rax, rsp
mov qword [rsp + 0x68], rax
movzx eax, byte [r8]
mov r15, r9
mov r13, qword [rsp + 0xe8]
mov rdi, r8
mov r14, rdx
mov rbx, rcx
cmp al, 0x2c
jne 0x1800ca9de
mov eax, dword [rsp + 0xe0]
mov r8, qword [r8 + 0x18]
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], eax
call fcn.1800ca980
mov rax, qword [rdi + 0x10]
mov rdi, rax
movzx eax, byte [rax]
sub al, 0x2d
test al, 0xf7
jne 0x1800cac1e
mov qword [rsp + 0x88], rbp
mov rbp, qword [rdi + 0x10]
mov qword [rsp + 0x78], r12
mov r12, qword [rdi + 0x18]
mov qword [rsp + 0x30], rbp
cmp byte [rbp], 0xa7
jne 0x1800cac11
mov qword [rsp + 0x38], 0
mov eax, 1
mov word [rsp + 0x5c], ax
lea rax, [fcn.18005f4f0]
mov qword [rsp + 0x40], rax
lea rax, [0x18005f270]
mov qword [rsp + 0x48], rax
test r12, r12
je 0x1800caa55
mov rdx, r12
lea rcx, [rsp + 0x38]
call fcn.180057560
cmp word [rsp + 0x5c], 0
je 0x1800cac11
test dword [rdi + 4], 0x400
mov qword [rsp + 0x80], rsi
je 0x1800caa70
mov rsi, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
jmp 0x1800caa78
mov rsi, qword [rdi + 0x18]
mov rdx, qword [rdi + 0x10]
test dword [rdx + 4], 0x200
jne 0x1800caa9f
test rsi, rsi
je 0x1800caa8f
test dword [rsi + 4], 0x200
jne 0x1800caa9c
mov rcx, rbx
call fcn.18005b9a0
test rax, rax
jne 0x1800caaac
mov rdx, rsi
mov rcx, rbx
call fcn.18005b9a0
test rax, rax
je 0x1800caabd
lea rcx, [0x1800de6f0]
cmp qword [rax + 0x18], rcx
jne 0x1800cac09
movsx rdx, word [rbp + 0x30]
test dx, dx
js 0x1800cac09
mov rax, qword [r14 + 0x18]
lea rcx, [rdx + rdx*2]
mov rax, qword [rax + 8]
movzx r14d, byte [rax + rcx*8 + 0xc]
cmp r14b, 0x42
jb 0x1800cac09
test r13, r13
je 0x1800cabfa
mov rsi, qword [rbx]
test rsi, rsi
je 0x1800cab07
mov edx, 0x20
mov rcx, rsi
call fcn.180013380
jmp 0x1800cab11
mov ecx, 0x20
call fcn.180012bd0
mov rdi, rax
test rax, rax
je 0x1800cac09
movzx ebp, byte [r13 + 0x3c]
and bpl, 0x48
test r12, r12
je 0x1800cab3e
xor r9d, r9d
xor r8d, r8d
mov rdx, r12
mov rcx, rsi
call fcn.18005dae0
jmp 0x1800cab40
xor eax, eax
mov qword [rdi], rax
lea rsi, [rbx + 0x68]
mov eax, dword [r13 + 0x44]
test bpl, bpl
mov dword [rdi + 8], eax
mov eax, dword [rsp + 0xe0]
mov dword [rdi + 0xc], eax
mov rax, qword [rsp + 0x30]
movsx eax, word [rax + 0x30]
mov dword [rdi + 0x10], eax
setne al
mov byte [rdi + 0x14], al
mov rax, qword [rsi]
mov qword [rdi + 0x18], rax
mov byte [rdi + 0x15], r14b
mov qword [rsi], rdi
cmp qword [rdi + 0x18], 0
jne 0x1800cac09
mov rax, qword [0x1801500c0]
test rax, rax
je 0x1800cabb2
mov ecx, 0x12c
call rax
mov rcx, qword [rbx]
test eax, eax
je 0x1800cabb5
call fcn.180013690
mov rcx, qword [rbx]
mov rdx, rsi
call fcn.1800ca870
jmp 0x1800cac09
mov rcx, qword [rbx]
test rcx, rcx
je 0x1800cabc6
mov edx, 0x18
call fcn.180013380
jmp 0x1800cabd0
mov ecx, 0x18
call fcn.180012bd0
mov rcx, rax
test rax, rax
je 0x1800caba5
mov rax, qword [rbx + 0xc8]
mov qword [rcx], rax
lea rax, [fcn.1800ca870]
mov qword [rbx + 0xc8], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], rsi
jmp 0x1800cac09
cmp edx, 0x3f
jge 0x1800cac09
mov rax, qword [r15]
btr rax, rdx
mov qword [r15], rax
mov rsi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
mov r12, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1800f0be0
add rsp, 0x90
pop r15
pop r14
pop r13
pop rdi
pop rbx
ret