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

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov eax, dword [rcx + 0x24]
mov rsi, rcx
mov rdx, rcx
mov dword [rcx + 0x20], eax
mov rcx, qword [rcx + 0x128]
call fcn.1800232c0
mov rcx, qword [rsi + 0x120]
mov edi, eax
call fcn.180018a90
test rax, rax
je 0x18001c87f
mov qword [rsp + 0x30], rbx
nop word [rax + rax]
test edi, edi
jne 0x18001c86d
mov edx, dword [rax + 0x30]
mov rbx, qword [rax + 0x20]
mov rcx, rsi
call fcn.18001c740
mov edi, eax
mov rax, rbx
test rbx, rbx
jne 0x18001c850
mov eax, edi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov eax, edi
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
push rbx
push rdi
push r13
push r14
sub rsp, 0x58
xor edi, edi
xor r13d, r13d
mov r14, rdx
mov rbx, rcx
test rdx, rdx
je 0x18001cbaf
mov ecx, dword [rdx + 0x18]
call fcn.180017be0
mov r13, rax
test rax, rax
jne 0x18001cba9
lea eax, [rdi + 7]
add rsp, 0x58
pop r14
pop r13
pop rdi
pop rbx
ret
mov eax, dword [r14 + 0x18]
jmp 0x18001cbb2
mov eax, dword [rcx + 0x24]
mov dword [rbx + 0x20], eax
movzx eax, byte [rbx + 0x10]
mov byte [rbx + 0x17], al
test r14, r14
jne 0x18001cbdc
cmp qword [rbx + 0x128], rdi
je 0x18001cbdc
mov rcx, rbx
add rsp, 0x58
pop r14
pop r13
pop rdi
pop rbx
jmp 0x18001c810
mov qword [rsp + 0x80], rbp
lea rbp, [rbx + 0x60]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r15
mov r15, qword [rbp]
mov qword [rsp + 0x30], rbp
test r14, r14
je 0x18001cc5a
cmp qword [rbx + 0x128], rdi
jne 0x18001cc5a
mov rax, qword [r14 + 8]
mov rsi, r15
test rax, rax
cmovne rsi, rax
mov rax, qword [r14]
mov qword [rbp], rax
cmp qword [rbp], rsi
jge 0x18001cc50
mov r9d, 1
mov r8, r13
mov rdx, rbp
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.18001b950
mov edi, eax
test eax, eax
je 0x18001cc23
jmp 0x18001cd07
test edi, edi
jne 0x18001cd07
jmp 0x18001cc60
mov qword [rbp], rdi
nop
cmp qword [rbp], r15
jge 0x18001cd07
lea rax, [rsp + 0x90]
lea r9, [rsp + 0x88]
mov r8, r15
xor edx, edx
mov rcx, rbx
mov dword [rsp + 0x88], 0
mov qword [rsp + 0x20], rax
call fcn.18001a9f0
mov r12d, dword [rsp + 0x88]
mov edi, eax
test r12d, r12d
jne 0x18001ccd2
mov eax, dword [rbx + 0xb8]
mov rcx, qword [rbp]
add rax, qword [rbx + 0x68]
cmp rax, rcx
jne 0x18001ccd2
mov rax, r15
sub rax, rcx
mov rcx, qword [rbx + 0xc8]
add rcx, 8
cqo
idiv rcx
mov r12, rax
xor esi, esi
test edi, edi
jne 0x18001cd07
cmp esi, r12d
jae 0x18001cc60
cmp qword [rbp], r15
jge 0x18001cd07
mov r9d, 1
mov r8, r13
mov rdx, rbp
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.18001b950
inc esi
mov edi, eax
test eax, eax
je 0x18001ccd8
test r14, r14
je 0x18001cfb0
mov rcx, qword [rbx + 0xc8]
mov eax, dword [r14 + 0x1c]
add rcx, 4
imul rcx, rax
mov qword [rsp + 0x90], rcx
mov rcx, qword [rbx + 0x128]
test rcx, rcx
je 0x18001cd76
mov eax, dword [rcx + 0x88]
cmp dword [r14 + 0x30], eax
je 0x18001cd55
mov dword [r14 + 0x24], 0
mov eax, dword [rcx + 0x88]
mov dword [r14 + 0x30], eax
mov eax, dword [r14 + 0x24]
cmp eax, dword [rcx + 0x58]
jae 0x18001cd74
mov dword [rcx + 0x58], eax
mov eax, dword [r14 + 0x28]
mov dword [rcx + 0x60], eax
mov eax, dword [r14 + 0x2c]
mov dword [rcx + 0x64], eax
call fcn.180020b30
xor edi, edi
mov eax, dword [r14 + 0x1c]
mov dword [rsp + 0x88], eax
test edi, edi
jne 0x18001cfb0
mov rbp, qword [rsp + 0x90]
cmp eax, dword [rbx + 0x3c]
jae 0x18001cfab
mov r12, qword [rbx + 0x58]
mov r14, qword [rbx + 0x118]
lea rdx, [rsp + 0x90]
mov rax, qword [r12]
mov r9, rbp
mov r8d, 4
mov rcx, r12
call qword [rax + 0x10]
mov edi, eax
test eax, eax
jne 0x18001cf93
mov esi, dword [rsp + 0x90]
mov rax, qword [r12]
mov r8d, dword [rbx + 0xc8]
lea r9, [rbp + 4]
mov rdx, r14
mov rcx, r12
bswap esi
call qword [rax + 0x10]
mov edi, eax
test eax, eax
jne 0x18001cf93
mov rax, qword [rbx + 0xc8]
lea rbp, [rax + rbp + 4]
test esi, esi
je 0x18001cf8e
cmp esi, dword [rbx + 0xc0]
je 0x18001cf8e
cmp esi, dword [rbx + 0x20]
ja 0x18001cf8a
test r13, r13
je 0x18001ce49
mov edx, esi
mov rcx, r13
call fcn.180017c70
test eax, eax
jne 0x18001cf8a
mov edx, esi
mov rcx, r13
call fcn.180017d50
mov edi, eax
test eax, eax
jne 0x18001cf93
cmp esi, 1
jne 0x18001ce63
movzx eax, byte [r14 + 0x14]
cmp word [rbx + 0xb2], ax
je 0x18001ce63
mov word [rbx + 0xb2], ax
cmp qword [rbx + 0x128], 0
je 0x18001ced5
xor eax, eax
mov qword [rsp + 0x98], rax
mov edx, 1
mov r10, qword [rbx + 0x48]
cmp qword [r10], 0
je 0x18001cef6
movzx ecx, byte [rbx + 0x15]
cmp cl, 4
jae 0x18001ce93
test cl, cl
jne 0x18001cef6
test edx, edx
je 0x18001cef6
mov rax, qword [r10]
mov r8d, dword [rbx + 0xc8]
lea r9d, [rsi - 1]
imul r9, qword [rbx + 0xc8]
mov rdx, r14
mov rcx, r10
call qword [rax + 0x18]
mov edi, eax
cmp esi, dword [rbx + 0x28]
jbe 0x18001cec0
mov dword [rbx + 0x28], esi
mov rcx, qword [rbx + 0x70]
test rcx, rcx
je 0x18001cf2d
mov r8, r14
mov edx, esi
call fcn.1800330b0
jmp 0x18001cf2d
mov edx, esi
mov rcx, rbx
call fcn.18001ed10
mov qword [rsp + 0x98], rax
test rax, rax
je 0x18001ce77
test byte [rax + 0x34], 8
je 0x18001ce77
xor edx, edx
jmp 0x18001ce7c
test rax, rax
jne 0x18001cf3a
or byte [rbx + 0x19], 2
lea r9d, [rax + 1]
lea r8, [rsp + 0x98]
mov edx, esi
mov rcx, rbx
call qword [rbx + 0x110]
and byte [rbx + 0x19], 0xfd
mov edi, eax
test eax, eax
jne 0x18001cf93
mov rcx, qword [rsp + 0x98]
call fcn.1800186d0
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x18001cf93
mov r12, qword [rax + 8]
mov r8, qword [rbx + 0xc8]
mov rdx, r14
mov rcx, r12
call fcn.180128740
mov rcx, qword [rsp + 0x98]
call qword [rbx + 0x108]
cmp esi, 1
jne 0x18001cf7b
mov rax, qword [r12 + 0x18]
mov qword [rbx + 0x88], rax
mov rax, qword [r12 + 0x20]
mov qword [rbx + 0x90], rax
mov rcx, qword [rsp + 0x98]
call fcn.180018580
jmp 0x18001cf93
xor edi, edi
jmp 0x18001cf93
mov edi, 0x65
mov eax, dword [rsp + 0x88]
inc eax
mov dword [rsp + 0x88], eax
test edi, edi
je 0x18001cd91
mov rbp, qword [rsp + 0x30]
mov r12, qword [rsp + 0x48]
test r13, r13
je 0x18001d03c
cmp dword [r13 + 8], 0
je 0x18001cfe1
lea rbx, [r13 + 0x10]
mov esi, 0x3e
nop
mov rcx, qword [rbx]
call fcn.1800180b0
add rbx, 8
dec rsi
jne 0x18001cfd0
cmp dword [0x180172920], 0
je 0x18001d033
mov rcx, qword [0x1801821a8]
test rcx, rcx
je 0x18001cffc
call qword [0x1801729a0]
mov rcx, r13
call qword [0x180172958]
dec qword [0x180182138]
movsxd rcx, eax
sub qword [0x1801820f0], rcx
mov rcx, r13
call qword [0x180172948]
mov rcx, qword [0x1801821a8]
test rcx, rcx
je 0x18001d03c
call qword [0x1801729b0]
jmp 0x18001d03c
mov rcx, r13
call qword [0x180172948]
mov rsi, qword [rsp + 0x50]
test edi, edi
jne 0x18001d049
mov qword [rbp], r15
mov r15, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x80]
mov eax, edi
add rsp, 0x58
pop r14
pop r13
pop rdi
pop rbx
ret
mov dword [rsp + 0x10], edx
push rsi
push r12
sub rsp, 0x48
mov r12d, dword [rcx + 0x30]
mov r9d, edx
mov rsi, rcx
test r12d, r12d
jne 0x18001fdea
mov eax, dword [rcx + 0x80]
cmp r8d, eax
jge 0x18001fdea
xor ecx, ecx
cmp r9d, 1
mov qword [rsp + 0x28], r14
mov edx, ecx
setne dl
mov qword [rsp + 0x20], r15
add edx, r8d
mov dword [rsp + 0x60], edx
mov r14d, edx
movsxd r15, edx
cmp edx, eax
jge 0x18001fd42
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], r13
mov r13, r15
imul r13, r13, 0x38
mov rax, qword [rsi + 0x78]
mov rbp, qword [r13 + rax + 0x10]
test rbp, rbp
je 0x18001fd0f
cmp dword [rbp + 8], 0
je 0x18001fcb4
lea rbx, [rbp + 0x10]
mov edi, 0x3e
mov rcx, qword [rbx]
call fcn.1800180b0
add rbx, 8
dec rdi
jne 0x18001fca3
cmp dword [0x180172920], 0
je 0x18001fd06
mov rcx, qword [0x1801821a8]
test rcx, rcx
je 0x18001fccf
call qword [0x1801729a0]
mov rcx, rbp
call qword [0x180172958]
dec qword [0x180182138]
mov rcx, rbp
movsxd rdx, eax
sub qword [0x1801820f0], rdx
call qword [0x180172948]
mov rcx, qword [0x1801821a8]
test rcx, rcx
je 0x18001fd0f
call qword [0x1801729b0]
jmp 0x18001fd0f
mov rcx, rbp
call qword [0x180172948]
inc r14d
add r13, 0x38
cmp r14d, dword [rsi + 0x80]
jl 0x18001fc82
mov edx, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x68]
mov r13, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x70]
xor ecx, ecx
mov r14, qword [rsp + 0x28]
mov dword [rsi + 0x80], edx
cmp r9d, 1
jne 0x18001fdad
imul r15, r15, 0x38
add r15, qword [rsi + 0x78]
cmp dword [r15 + 0x20], 0
je 0x18001fd9d
mov rcx, qword [rsi + 0x58]
mov rax, qword [rcx]
test rax, rax
je 0x18001fd9d
lea rdx, [0x180145cc0]
cmp rax, rdx
jne 0x18001fd96
mov eax, dword [r15 + 0x1c]
mov rdx, qword [rsi + 0xc8]
add rdx, 4
imul rdx, rax
mov rax, qword [rcx]
call qword [rax + 0x20]
mov r12d, eax
mov ecx, dword [r15 + 0x1c]
mov dword [rsi + 0x3c], ecx
mov eax, r12d
mov r15, qword [rsp + 0x20]
add rsp, 0x48
pop r12
pop rsi
ret
cmp qword [rsi + 0x128], 0
jne 0x18001fdc1
mov rax, qword [rsi + 0x50]
cmp qword [rax], 0
je 0x18001fd9d
test edx, edx
je 0x18001fdd3
lea eax, [rdx - 1]
movsxd rcx, eax
imul rcx, rcx, 0x38
add rcx, qword [rsi + 0x78]
mov rdx, rcx
mov rcx, rsi
mov r15, qword [rsp + 0x20]
add rsp, 0x48
pop r12
pop rsi
jmp 0x18001cb70
mov eax, r12d
add rsp, 0x48
pop r12
pop rsi
ret