Function at 0x1800f2840
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 [0x1801bc0c0]
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 0x1800f2bbb
mov rbx, qword [rcx + 0x68]
test rbx, rbx
jne 0x1800f289a
cmp qword [rcx + 0x70], rbx
je 0x1800f2bbb
test rbx, rbx
je 0x1800f28aa
mov r12, qword [rcx + 0x70]
test r12, r12
je 0x1800f28aa
xor edi, edi
jmp 0x1800f293e
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 0x1800f2926
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 0x1800f28ea
mov eax, dword [rdx]
test dword [rdx + 0x1c], 0x20000000
je 0x1800f2901
mov ecx, dword [rdx + 4]
add rcx, rax
add rcx, rbx
mov qword [rsp + 0x38], rcx
cmp r8d, r10d
jne 0x1800f2919
test rcx, rcx
jne 0x1800f2919
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 0x1800f28e1
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 0x1800f294b
mov r14, qword [rsi]
lea rdx, [rsi + 0x20]
mov r15, rdx
cmp qword [rdx + 0x18], 0xf
jbe 0x1800f295c
mov r15, qword [rdx]
mov r13, qword [rsi + 0x30]
mov rcx, qword [rdx + 0x10]
jbe 0x1800f2969
mov rdx, qword [rdx]
mov r8, 0xffffffffffffffff
test rcx, rcx
je 0x1800f29a2
lea rax, [rcx - 1]
mov rcx, r8
cmp rax, rcx
cmovb rcx, rax
add rcx, rdx
cmp byte [rcx], 0xff
jne 0x1800f299d
nop dword [rax + rax]
cmp rcx, rdx
je 0x1800f29a2
dec rcx
cmp byte [rcx], 0xff
je 0x1800f2990
sub rcx, rdx
jmp 0x1800f29a5
mov rcx, r8
cmp rcx, 0xffffffffffffffff
cmove rcx, r8
test rcx, rcx
jne 0x1800f29c9
xor edx, edx
mov r8d, 0x800
lea rcx, [rsp + 0x90]
call fcn.180125170
jmp 0x1800f2a09
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 0x1800f29e0
test r13, r13
jle 0x1800f2a36
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 0x1800f2a10
mov qword [rsp + 0x28], rbx
sub r12, r13
movabs rdi, 0x146000000
nop dword [rax + rax]
cmp rbx, r12
ja 0x1800f2bb0
mov qword [rsp + 0x48], rbx
lea rax, [r13 - 1]
mov qword [rsp + 0x40], rax
test rax, rax
js 0x1800f2a8d
movzx ecx, byte [rax + rbx]
and cl, byte [rax + r15]
cmp byte [rax + r14], cl
jne 0x1800f2a84
dec rax
mov qword [rsp + 0x40], rax
jmp 0x1800f2a67
test rax, rax
jns 0x1800f2b7d
lea rcx, [rsi + 0x48]
mov rdx, qword [rsi + 0x50]
cmp rdx, qword [rsi + 0x58]
je 0x1800f2aa5
mov qword [rdx], rbx
add qword [rsi + 0x50], 8
jmp 0x1800f2aaf
lea r8, [rsp + 0x48]
call fcn.1800d8650
call fcn.1800f2430
mov rdx, qword [0x1801c1020]
movabs rcx, 0x140000000
add rcx, rdx
cmp rbx, rcx
jb 0x1800f2ade
lea rcx, [rdx + rdi]
cmp rbx, rcx
ja 0x1800f2ade
mov rcx, rbx
sub rcx, rdx
jmp 0x1800f2ae1
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.1800f2f30
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 [0x1801c1020]
movabs rax, 0x140000000
add rax, rcx
cmp rbx, rax
jb 0x1800f2b4d
movabs rax, 0x146000000
add rax, rcx
cmp rbx, rax
ja 0x1800f2b4d
mov rdx, rbx
sub rdx, rcx
jmp 0x1800f2b50
mov rdx, rbx
mov rcx, qword [rsi + 0x40]
call fcn.1800f21d0
mov rcx, qword [rsi + 0x50]
sub rcx, qword [rsi + 0x48]
sar rcx, 3
mov eax, dword [rsp + 0x20]
cmp rcx, rax
je 0x1800f2bb0
inc rbx
movabs rdi, 0x146000000
jmp 0x1800f2ba6
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 0x1800f2a50
jmp 0x1800f2bb7
mov byte [rsi + 0x60], 1
mov rcx, qword [rsp + 0x890]
xor rcx, rsp
call fcn.1800fc900
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