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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x18], r8
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r15, qword [rsp + 0x90]
mov ebp, r9d
mov r11, r8
mov r12, rdx
mov rsi, rcx
test r9d, r9d
jns 0x1800fcad3
movzx edi, byte [rcx]
movzx eax, byte [rcx + 1]
jmp 0x1800fcada
movzx edi, byte [rcx + 1]
movzx eax, byte [rcx]
mov rbx, qword [rsp + 0xa8]
mov edx, 4
mov r14, qword [rsp + 0xa0]
mov r13d, dword [rsp + 0x98]
shl edi, 8
or edi, eax
test dl, bpl
je 0x1800fcb67
mov eax, edi
and eax, 0xf007
cmp eax, 0x3001
je 0x1800fcb17
test edi, 0xf00e
jne 0x1800fcb67
cmp r13d, edx
jl 0x1800fcdcf
mov word [r15], dx
mov r9, r14
movzx ecx, byte [rcx + 2]
mov r8, r12
movzx eax, byte [rsi + 3]
mov rdx, r11
shl ecx, 8
or ecx, eax
mov qword [rsp + 0x20], rbx
mov eax, edi
mov edi, ecx
shl eax, 0x10
or edi, eax
mov ecx, edi
call fcn.1800fc0f0
test al, al
je 0x1800fcb5a
mov al, 1
jmp 0x1800fcdd1
mov r11, qword [rsp + 0x80]
mov edx, 4
mov eax, edi
and eax, 0xf000
cmp eax, 0xf000
jne 0x1800fcdb3
test bpl, bpl
jns 0x1800fcd63
mov eax, edi
xor cl, cl
shr eax, 0xa
and eax, 3
je 0x1800fcd3c
sub eax, 1
je 0x1800fcbf9
cmp eax, 1
jne 0x1800fcd5e
cmp r13d, 4
jl 0x1800fcdcf
mov word [r15], dx
test ebp, ebp
jns 0x1800fcbca
movzx ecx, byte [rsi + 2]
mov eax, edi
shl eax, 0x10
shl ecx, 8
mov edi, ecx
or edi, eax
movzx eax, byte [rsi + 3]
or edi, eax
jmp 0x1800fcbdc
movzx edx, byte [rsi + 3]
movzx eax, byte [rsi + 2]
shl edx, 8
or edx, eax
shl edx, 0x10
or edi, edx
mov r9, r14
mov qword [rsp + 0x20], rbx
mov r8d, ebp
mov rdx, r12
mov ecx, edi
call fcn.1800fbc00
movzx ecx, al
jmp 0x1800fcdd1
movzx eax, di
lea r10, [0x180000000]
mov ebp, eax
mov edi, eax
mov r13d, eax
shr edi, 2
shr r13d, 8
mov esi, 2
mov word [r15], si
and ebp, 1
mov r15d, eax
and edi, 3
shr rax, 4
and r13d, 3
and eax, 0xf
shr r15d, 1
and r15d, 1
lea rax, [rax*4 + 0x54e920]
add rax, r10
mov qword [rsp + 0x30], rax
cmp dword [rax], 0
je 0x1800fcd5e
mov edx, 0x9e
mov rcx, r12
call fcn.18007f110
mov dword [r14 + 0x10], esi
lea eax, [rdi + 1]
mov r10d, 1
mov r8d, ebp
mov edx, 5
mov ecx, r10d
sub rcx, r8
cmp r13d, esi
mov dword [r14 + rcx*4 + 0x14], edx
cmovae edx, r10d
mov dword [r14 + rbp*4 + 0x14], eax
mov rax, qword [rsp + 0x30]
mov r9d, dword [rax]
mov dword [r14 + rcx*4 + 0x1c], r9d
lea ecx, [rdx + r13]
mov dword [r14 + rbp*4 + 0x1c], ecx
test edi, edi
je 0x1800fccdf
sub edi, r10d
je 0x1800fccc7
sub edi, r10d
je 0x1800fccdf
cmp edi, r10d
jne 0x1800fccf0
test rbx, rbx
je 0x1800fccf0
movzx eax, byte [rbx + 0x28]
mov ecx, 9
mov word [rbx + rax*2], cx
inc byte [rbx + 0x28]
jmp 0x1800fcccc
test rbx, rbx
je 0x1800fccf0
movzx ecx, byte [rbx + 0x28]
movzx eax, word [r14 + rbp*4 + 0x1c]
mov word [rbx + rcx*2], ax
inc byte [rbx + 0x28]
jmp 0x1800fccf0
test rbx, rbx
je 0x1800fccf0
movzx eax, byte [rbx + 0x52]
mov word [rbx + rax*2 + 0x2a], cx
inc byte [rbx + 0x52]
test ebp, ebp
je 0x1800fcd0d
cmp ebp, r10d
jne 0x1800fcd1e
test rbx, rbx
je 0x1800fcd1e
movzx eax, byte [rbx + 0x52]
mov word [rbx + rax*2 + 0x2a], r9w
inc byte [rbx + 0x52]
jmp 0x1800fcd1e
test rbx, rbx
je 0x1800fcd1e
movzx eax, byte [rbx + 0x28]
mov word [rbx + rax*2], r9w
inc byte [rbx + 0x28]
mov ecx, r15d
mov byte [r14 + 5], r10b
mov eax, 0x10
shl eax, cl
movzx ecx, r10b
mov dword [r14 + 0x3c], eax
movzx eax, cl
jmp 0x1800fcdd1
mov esi, 2
mov qword [rsp + 0x20], rbx
mov r9, r14
mov word [r15], si
mov r8d, ebp
mov rdx, r12
movzx ecx, di
call fcn.1800fb690
movzx ecx, al
movzx eax, cl
jmp 0x1800fcdd1
test bpl, 0x40
je 0x1800fcdcf
mov esi, 2
mov word [r15], si
mov ecx, edi
mov eax, edi
shr ecx, 8
and eax, 0xf
and ecx, 0xf0
or ecx, eax
lea r10, [0x180000000]
mov r10, qword [r10 + rcx*8 + 0x6557d0]
test r10, r10
je 0x1800fcdcf
mov qword [rsp + 0x28], rbx
mov r9d, ebp
mov r8, r12
mov qword [rsp + 0x20], r14
mov rdx, r11
movzx ecx, di
call r10
jmp 0x1800fcdd1
add eax, 0xffff8000
mov esi, 2
mov word [r15], si
cmp eax, 0x6fff
ja 0x1800fcd72
mov ecx, edi
shr ecx, 8
jmp 0x1800fcd84
xor al, al
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret