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

Disassembly:
sub rsp, 0x28
cmp byte [rcx + 0x18], 0
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x48], rdi
mov rdi, rcx
je 0x180188988
mov qword [rsp + 0x38], rbp
lea rbp, [rcx + 0xc0]
mov qword [rsp + 0x40], rsi
mov rbx, qword [rbp]
mov qword [rsp + 0x20], r12
xor r12d, r12d
test rbx, rbx
je 0x1801888a3
nop
cmp byte [rbx + 0x39], r12b
je 0x18018889a
movsxd rsi, dword [rdi + 0x40]
mov rdx, qword [rsi + rbx + 0x58]
test rdx, rdx
je 0x180188851
movsxd r8, dword [rdi + 0x44]
mov rcx, qword [rbx + 0x50]
call fcn.1800b54c0
mov rcx, qword [rsi + rbx + 0x58]
call fcn.180169b50
mov rcx, qword [rsi + rbx + 0x60]
call fcn.180169b50
mov qword [rsi + rbx + 0x58], r12
mov qword [rsi + rbx + 0x60], r12
mov byte [rbx + 0x39], r12b
mov byte [rbx + 0x38], r12b
mov byte [rsi + rbx + 0x78], r12b
mov qword [rsi + rbx + 0x68], r12
mov qword [rsi + rbx + 0x70], r12
mov rax, qword [rdi + 0x110]
test rax, rax
je 0x18018889a
mov edx, dword [rdi + 0x44]
mov rcx, rbx
call rax
mov rbx, qword [rbx + 0x30]
test rbx, rbx
jne 0x180188830
mov esi, dword [rdi + 0x2c]
mov qword [rdi + 0xd0], r12
mov qword [rdi + 0xc8], r12
mov r12, qword [rsp + 0x20]
mov dword [rdi + 0x28], esi
mov rbx, qword [rbp]
test rbx, rbx
je 0x180188965
nop
nop
cmp dword [rbx + 8], esi
ja 0x1801888db
lea rbp, [rbx + 0x30]
jmp 0x180188958
cmp word [rbx + 0x3e], 0
jle 0x1801888f7
movsxd r8, dword [rdi + 0x44]
mov rcx, qword [rbx + 0x50]
xor edx, edx
call fcn.1800be330
lea rbp, [rbx + 0x30]
jmp 0x180188958
mov rax, qword [rbx + 0x30]
mov rcx, rbx
mov qword [rbp], rax
call fcn.1801856d0
cmp byte [rbx + 0x39], 0
je 0x180188943
mov rcx, qword [rbx + 0x40]
mov byte [rbx + 0x39], 0
test rcx, rcx
je 0x180188922
mov rax, qword [rbx + 0x48]
mov qword [rcx + 0x48], rax
mov rcx, qword [rbx + 0x48]
test rcx, rcx
je 0x180188935
mov rax, qword [rbx + 0x40]
mov qword [rcx + 0x40], rax
jmp 0x180188943
mov rdx, qword [rbx]
mov rax, qword [rbx + 0x40]
mov qword [rdx + 0xd0], rax
mov rcx, qword [rbx + 0x50]
call fcn.180169b50
mov rcx, rbx
call fcn.180169b50
add dword [rdi + 0x48], 0xffffffff
mov rbx, qword [rbp]
test rbx, rbx
jne 0x1801888d0
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
mov byte [rdi + 0xd], 0
mov byte [rdi + 0x12], 1
xor eax, eax
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x30]
add rsp, 0x28
ret
cmp byte [rcx + 0x16], 0
je 0x180188a34
cmp byte [rcx + 8], 0
je 0x180188a34
mov eax, dword [rcx + 0x24]
test eax, eax
je 0x1801889c7
cmp eax, 0xd
je 0x1801889c7
cmp byte [rcx + 0x12], 4
jb 0x1801889b5
xor edx, edx
call fcn.180187810
mov eax, dword [rdi + 0x24]
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x30]
add rsp, 0x28
ret
cmp byte [rcx + 0x12], 2
jne 0x1801889ea
xor edx, edx
call fcn.180187810
movzx edx, byte [rdi + 0x19]
mov rcx, rdi
mov ebx, eax
call fcn.180186660
test ebx, ebx
jne 0x1801889f3
mov ebx, eax
jmp 0x1801889f3
xor edx, edx
call fcn.180187810
mov ebx, eax
movzx eax, bl
mov dword [rdi + 0x28], 0xffffffff
cmp eax, 0xd
je 0x180188a0c
cmp eax, 0xa
je 0x180188a0c
cmp eax, 0xb
jne 0x180188a23
cmp byte [rdi + 0x12], 0
mov dword [rdi + 0x24], ebx
jne 0x180188a23
cmp dword [rdi + 0x4c], 0
jne 0x180188a23
mov rcx, rdi
call fcn.180184be0
mov eax, ebx
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x30]
add rsp, 0x28
ret
movzx edx, byte [rcx + 0x19]
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x30]
add rsp, 0x28
jmp fcn.180186660