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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rdi
sub rsp, 0x88
mov rdi, r8
mov r8, rcx
xor ecx, ecx
xor r9d, r9d
mov rbx, rdx
mov dword [rsp + 0xb8], ecx
cmp dword [r8 + 0x78], ecx
jbe 0x1800f8065
mov qword [rax - 0x18], rbp
mov qword [rax - 0x20], rsi
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r13
xor edx, edx
mov qword [rax - 0x38], r14
mov qword [rax - 0x40], r15
mov qword [rsp + 0x20], rdx
nop word [rax + rax]
mov rax, qword [r8 + 0x88]
mov rdx, qword [rdx + rax]
cmp dword [rdx + 0x18], 0xffffffff
je 0x1800f8016
cmp byte [rdx + 0x1c], 0
jne 0x1800f8016
mov eax, dword [rdx]
cmp eax, 0xffffffff
jne 0x1800f7e1a
or eax, eax
jmp 0x1800f7e29
mov rcx, rax
mov rax, qword [r8 + 0x30]
shl rcx, 5
mov eax, dword [rcx + rax + 0x18]
mov rcx, qword [rdi]
mov dword [rsp + 0x30], eax
mov eax, dword [rdx + 4]
mov dword [rsp + 0x34], eax
mov eax, dword [rdx + 8]
xor r14d, r14d
mov dword [rsp + 0x38], eax
mov eax, dword [rdx + 0xc]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x3c], eax
mov ebp, dword [rdx + 0xc]
mov r15, qword [rdx + 0x10]
mov rsi, rcx
test rcx, rcx
je 0x1800f7ec7
nop dword [rax]
mov ebx, dword [rsi]
xor edi, edi
cmp ebp, ebx
ja 0x1800f7ea6
mov r13, qword [rsi + 8]
nop dword [rax]
mov ecx, edi
mov r8, rbp
mov rdx, r15
add rcx, r13
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1800f7ed6
cmp ebx, 0x2000
ja 0x1800f7ea6
cmp dword [rsi + 0x18], 0
mov eax, 1
mov ecx, 4
cmovne eax, ecx
add edi, eax
lea eax, [rdi + rbp]
cmp eax, ebx
jbe 0x1800f7e70
mov rsi, qword [rsi + 0x10]
add r14d, ebx
test rsi, rsi
jne 0x1800f7e60
mov rbx, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x28]
xor eax, eax
test ebp, ebp
jne 0x1800f7eeb
mov dword [rsp + 0x40], eax
jmp 0x1800f7f6e
mov rbx, qword [rsp + 0xa8]
lea eax, [rdi + r14]
mov dword [rsp + 0x40], eax
jmp 0x1800f7f76
test rcx, rcx
jne 0x1800f7f4a
mov ecx, 0x20
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
test rax, rax
je 0x1800f7f25
mov dword [rax], 0
mov dword [rax + 4], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax + 0x18], 0
jmp 0x1800f7f27
xor eax, eax
mov qword [rdi], rax
test rax, rax
jne 0x1800f7f36
mov eax, 0x8007000e
jmp 0x1800f7f6e
cmp dword [rdi + 0x18], 0
je 0x1800f7f43
mov dword [rax + 0x18], 1
mov rax, qword [rdi]
mov qword [rdi + 8], rax
mov eax, dword [rdi + 0x14]
mov rcx, qword [rdi + 8]
lea r9, [rdi + 8]
add eax, dword [rdi + 0x10]
mov r8d, ebp
mov rdx, r15
mov dword [rsp + 0x40], eax
call fcn.180243d5c
test eax, eax
js 0x1800f7f6e
add dword [rdi + 0x10], ebp
test eax, eax
js 0x1800f803a
cmp qword [rbx], 0
jne 0x1800f7fd7
mov ecx, 0x20
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
test rax, rax
je 0x1800f7fb1
mov dword [rax], 0
mov dword [rax + 4], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax + 0x18], 0
jmp 0x1800f7fb3
xor eax, eax
mov qword [rbx], rax
test rax, rax
jne 0x1800f7fc3
mov r9d, 0x8007000e
jmp 0x1800f7ffa
cmp dword [rbx + 0x18], 0
je 0x1800f7fd0
mov dword [rax + 0x18], 1
mov rax, qword [rbx]
mov qword [rbx + 8], rax
mov rcx, qword [rbx + 8]
lea r9, [rbx + 8]
lea rdx, [rsp + 0x30]
mov r8d, 0x14
call fcn.180243d5c
mov r9d, eax
test eax, eax
js 0x1800f7ffa
add dword [rbx + 0x10], 0x14
test r9d, r9d
js 0x1800f8037
mov rdi, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xa0]
mov ecx, dword [rsp + 0xb8]
mov rdx, qword [rsp + 0x20]
inc ecx
add rdx, 8
mov dword [rsp + 0xb8], ecx
mov qword [rsp + 0x20], rdx
cmp ecx, dword [r8 + 0x78]
jb 0x1800f7df0
mov eax, r9d
mov r14, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
mov r15, qword [rsp + 0x58]
add rsp, 0x88
pop rdi
pop rbx
ret
mov eax, r9d
add rsp, 0x88
pop rdi
pop rbx
ret