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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x8a0
mov rax, qword [0x1801bb0c0]
xor rax, rsp
mov qword [rsp + 0x890], rax
mov dword [rsp + 0x20], edx
mov rsi, rcx
mov qword [rsp + 0x58], rcx
cmp byte [rcx + 0x60], 0
jne 0x1800f0bbb
mov rbx, qword [rcx + 0x68]
test rbx, rbx
jne 0x1800f089a
cmp qword [rcx + 0x70], rbx
je 0x1800f0bbb
test rbx, rbx
je 0x1800f08aa
mov r12, qword [rcx + 0x70]
test r12, r12
je 0x1800f08aa
xor edi, edi
jmp 0x1800f093e
mov qword [rsp + 0x30], rbx
xor edi, edi
mov ecx, edi
mov qword [rsp + 0x38], rcx
movsxd rdx, dword [rbx + 0x3c]
add rdx, rbx
movzx r9d, word [rdx + 6]
mov r8d, edi
test r9, r9
je 0x1800f0926
lea r10d, [r9 - 1]
mov eax, dword [rdx + 0x84]
lea rdx, [rdx + rax*8]
add rdx, 0x90
mov eax, dword [rdx + 8]
test eax, eax
jne 0x1800f08ea
mov eax, dword [rdx]
test dword [rdx + 0x1c], 0x20000000
je 0x1800f0901
mov ecx, dword [rdx + 4]
add rcx, rax
add rcx, rbx
mov qword [rsp + 0x38], rcx
cmp r8d, r10d
jne 0x1800f0919
test rcx, rcx
jne 0x1800f0919
mov ecx, dword [rdx + 0xc]
add rcx, rax
add rcx, rbx
mov qword [rsp + 0x38], rcx
inc r8d
add rdx, 0x28
sub r9, 1
jne 0x1800f08e1
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmm0, xmm1
psrldq xmm0, 8
movq r12, xmm0
movq rbx, xmm1
mov r14, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1800f094b
mov r14, qword [rsi]
lea rdx, [rsi + 0x20]
mov r15, rdx
cmp qword [rdx + 0x18], 0xf
jbe 0x1800f095c
mov r15, qword [rdx]
mov r13, qword [rsi + 0x30]
mov rcx, qword [rdx + 0x10]
jbe 0x1800f0969
mov rdx, qword [rdx]
mov r8, 0xffffffffffffffff
test rcx, rcx
je 0x1800f09a2
lea rax, [rcx - 1]
mov rcx, r8
cmp rax, rcx
cmovb rcx, rax
add rcx, rdx
cmp byte [rcx], 0xff
jne 0x1800f099d
nop dword [rax + rax]
cmp rcx, rdx
je 0x1800f09a2
dec rcx
cmp byte [rcx], 0xff
je 0x1800f0990
sub rcx, rdx
jmp 0x1800f09a5
mov rcx, r8
cmp rcx, 0xffffffffffffffff
cmove rcx, r8
test rcx, rcx
jne 0x1800f09c9
xor edx, edx
mov r8d, 0x800
lea rcx, [rsp + 0x90]
call fcn.180124510
jmp 0x1800f0a09
lea rax, [rsp + 0x90]
mov edx, 0x20
nop word [rax + rax]
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
lea rax, [rax + 0x40]
mov qword [rax - 0x28], rcx
mov qword [rax - 0x20], rcx
mov qword [rax - 0x18], rcx
mov qword [rax - 0x10], rcx
mov qword [rax - 8], rcx
sub rdx, 1
jne 0x1800f09e0
test r13, r13
jle 0x1800f0a36
nop
movzx eax, byte [r14 + rdi]
lea rdx, [rsp + 0x90]
lea rdx, [rdx + rax*8]
mov rax, rdi
cmp qword [rdx], rdi
cmovge rax, qword [rdx]
mov qword [rdx], rax
inc rdi
cmp rdi, r13
jl 0x1800f0a10
mov qword [rsp + 0x28], rbx
sub r12, r13
movabs rdi, 0x146000000
nop dword [rax + rax]
cmp rbx, r12
ja 0x1800f0bb0
mov qword [rsp + 0x48], rbx
lea rax, [r13 - 1]
mov qword [rsp + 0x40], rax
test rax, rax
js 0x1800f0a8d
movzx ecx, byte [rax + rbx]
and cl, byte [rax + r15]
cmp byte [rax + r14], cl
jne 0x1800f0a84
dec rax
mov qword [rsp + 0x40], rax
jmp 0x1800f0a67
test rax, rax
jns 0x1800f0b7d
lea rcx, [rsi + 0x48]
mov rdx, qword [rsi + 0x50]
cmp rdx, qword [rsi + 0x58]
je 0x1800f0aa5
mov qword [rdx], rbx
add qword [rsi + 0x50], 8
jmp 0x1800f0aaf
lea r8, [rsp + 0x48]
call fcn.1800d5c90
call fcn.1800f0430
mov rdx, qword [0x1801c0180]
movabs rcx, 0x140000000
add rcx, rdx
cmp rbx, rcx
jb 0x1800f0ade
lea rcx, [rdx + rdi]
cmp rbx, rcx
ja 0x1800f0ade
mov rcx, rbx
sub rcx, rdx
jmp 0x1800f0ae1
mov rcx, rbx
mov qword [rsp + 0x50], rcx
lea r9, [rsp + 0x50]
lea r8, [rsi + 0x40]
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.1800f0f30
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x80], rax
movzx eax, byte [rsp + 0x68]
mov byte [rsp + 0x88], al
mov rcx, qword [0x1801c0180]
movabs rax, 0x140000000
add rax, rcx
cmp rbx, rax
jb 0x1800f0b4d
movabs rax, 0x146000000
add rax, rcx
cmp rbx, rax
ja 0x1800f0b4d
mov rdx, rbx
sub rdx, rcx
jmp 0x1800f0b50
mov rdx, rbx
mov rcx, qword [rsi + 0x40]
call fcn.1800f01d0
mov rcx, qword [rsi + 0x50]
sub rcx, qword [rsi + 0x48]
sar rcx, 3
mov eax, dword [rsp + 0x20]
cmp rcx, rax
je 0x1800f0bb0
inc rbx
movabs rdi, 0x146000000
jmp 0x1800f0ba6
movzx ecx, byte [rax + rbx]
sub rax, qword [rsp + rcx*8 + 0x90]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x30], 1
mov ecx, 1
cmp rax, rcx
cmovg rcx, rax
add rbx, rcx
mov qword [rsp + 0x28], rbx
jmp 0x1800f0a50
jmp 0x1800f0bb7
mov byte [rsi + 0x60], 1
mov rcx, qword [rsp + 0x890]
xor rcx, rsp
call fcn.1800fbca0
lea r11, [rsp + 0x8a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret