Function at 0x18001fc20
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.1800232d0
mov rcx, qword [rsi + 0x120]
mov edi, eax
call fcn.180018aa0
test rax, rax
je 0x18001c88f
mov qword [rsp + 0x30], rbx
nop word [rax + rax]
test edi, edi
jne 0x18001c87d
mov edx, dword [rax + 0x30]
mov rbx, qword [rax + 0x20]
mov rcx, rsi
call fcn.18001c750
mov edi, eax
mov rax, rbx
test rbx, rbx
jne 0x18001c860
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 0x18001cbbf
mov ecx, dword [rdx + 0x18]
call fcn.180017bf0
mov r13, rax
test rax, rax
jne 0x18001cbb9
lea eax, [rdi + 7]
add rsp, 0x58
pop r14
pop r13
pop rdi
pop rbx
ret
mov eax, dword [r14 + 0x18]
jmp 0x18001cbc2
mov eax, dword [rcx + 0x24]
mov dword [rbx + 0x20], eax
movzx eax, byte [rbx + 0x10]
mov byte [rbx + 0x17], al
test r14, r14
jne 0x18001cbec
cmp qword [rbx + 0x128], rdi
je 0x18001cbec
mov rcx, rbx
add rsp, 0x58
pop r14
pop r13
pop rdi
pop rbx
jmp 0x18001c820
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 0x18001cc6a
cmp qword [rbx + 0x128], rdi
jne 0x18001cc6a
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 0x18001cc60
mov r9d, 1
mov r8, r13
mov rdx, rbp
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.18001b960
mov edi, eax
test eax, eax
je 0x18001cc33
jmp 0x18001cd17
test edi, edi
jne 0x18001cd17
jmp 0x18001cc70
mov qword [rbp], rdi
nop
cmp qword [rbp], r15
jge 0x18001cd17
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.18001aa00
mov r12d, dword [rsp + 0x88]
mov edi, eax
test r12d, r12d
jne 0x18001cce2
mov eax, dword [rbx + 0xb8]
mov rcx, qword [rbp]
add rax, qword [rbx + 0x68]
cmp rax, rcx
jne 0x18001cce2
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 0x18001cd17
cmp esi, r12d
jae 0x18001cc70
cmp qword [rbp], r15
jge 0x18001cd17
mov r9d, 1
mov r8, r13
mov rdx, rbp
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.18001b960
inc esi
mov edi, eax
test eax, eax
je 0x18001cce8
test r14, r14
je 0x18001cfc0
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 0x18001cd86
mov eax, dword [rcx + 0x88]
cmp dword [r14 + 0x30], eax
je 0x18001cd65
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 0x18001cd84
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.180020b40
xor edi, edi
mov eax, dword [r14 + 0x1c]
mov dword [rsp + 0x88], eax
test edi, edi
jne 0x18001cfc0
mov rbp, qword [rsp + 0x90]
cmp eax, dword [rbx + 0x3c]
jae 0x18001cfbb
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 0x18001cfa3
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 0x18001cfa3
mov rax, qword [rbx + 0xc8]
lea rbp, [rax + rbp + 4]
test esi, esi
je 0x18001cf9e
cmp esi, dword [rbx + 0xc0]
je 0x18001cf9e
cmp esi, dword [rbx + 0x20]
ja 0x18001cf9a
test r13, r13
je 0x18001ce59
mov edx, esi
mov rcx, r13
call fcn.180017c80
test eax, eax
jne 0x18001cf9a
mov edx, esi
mov rcx, r13
call fcn.180017d60
mov edi, eax
test eax, eax
jne 0x18001cfa3
cmp esi, 1
jne 0x18001ce73
movzx eax, byte [r14 + 0x14]
cmp word [rbx + 0xb2], ax
je 0x18001ce73
mov word [rbx + 0xb2], ax
cmp qword [rbx + 0x128], 0
je 0x18001cee5
xor eax, eax
mov qword [rsp + 0x98], rax
mov edx, 1
mov r10, qword [rbx + 0x48]
cmp qword [r10], 0
je 0x18001cf06
movzx ecx, byte [rbx + 0x15]
cmp cl, 4
jae 0x18001cea3
test cl, cl
jne 0x18001cf06
test edx, edx
je 0x18001cf06
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 0x18001ced0
mov dword [rbx + 0x28], esi
mov rcx, qword [rbx + 0x70]
test rcx, rcx
je 0x18001cf3d
mov r8, r14
mov edx, esi
call fcn.1800330c0
jmp 0x18001cf3d
mov edx, esi
mov rcx, rbx
call fcn.18001ed20
mov qword [rsp + 0x98], rax
test rax, rax
je 0x18001ce87
test byte [rax + 0x34], 8
je 0x18001ce87
xor edx, edx
jmp 0x18001ce8c
test rax, rax
jne 0x18001cf4a
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 0x18001cfa3
mov rcx, qword [rsp + 0x98]
call fcn.1800186e0
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x18001cfa3
mov r12, qword [rax + 8]
mov r8, qword [rbx + 0xc8]
mov rdx, r14
mov rcx, r12
call fcn.180128750
mov rcx, qword [rsp + 0x98]
call qword [rbx + 0x108]
cmp esi, 1
jne 0x18001cf8b
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.180018590
jmp 0x18001cfa3
xor edi, edi
jmp 0x18001cfa3
mov edi, 0x65
mov eax, dword [rsp + 0x88]
inc eax
mov dword [rsp + 0x88], eax
test edi, edi
je 0x18001cda1
mov rbp, qword [rsp + 0x30]
mov r12, qword [rsp + 0x48]
test r13, r13
je 0x18001d04c
cmp dword [r13 + 8], 0
je 0x18001cff1
lea rbx, [r13 + 0x10]
mov esi, 0x3e
nop
mov rcx, qword [rbx]
call fcn.1800180c0
add rbx, 8
dec rsi
jne 0x18001cfe0
cmp dword [0x180172920], 0
je 0x18001d043
mov rcx, qword [0x1801821a8]
test rcx, rcx
je 0x18001d00c
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 0x18001d04c
call qword [0x1801729b0]
jmp 0x18001d04c
mov rcx, r13
call qword [0x180172948]
mov rsi, qword [rsp + 0x50]
test edi, edi
jne 0x18001d059
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 0x18001fdfa
mov eax, dword [rcx + 0x80]
cmp r8d, eax
jge 0x18001fdfa
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 0x18001fd52
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 0x18001fd1f
cmp dword [rbp + 8], 0
je 0x18001fcc4
lea rbx, [rbp + 0x10]
mov edi, 0x3e
mov rcx, qword [rbx]
call fcn.1800180c0
add rbx, 8
dec rdi
jne 0x18001fcb3
cmp dword [0x180172920], 0
je 0x18001fd16
mov rcx, qword [0x1801821a8]
test rcx, rcx
je 0x18001fcdf
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 0x18001fd1f
call qword [0x1801729b0]
jmp 0x18001fd1f
mov rcx, rbp
call qword [0x180172948]
inc r14d
add r13, 0x38
cmp r14d, dword [rsi + 0x80]
jl 0x18001fc92
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 0x18001fdbd
imul r15, r15, 0x38
add r15, qword [rsi + 0x78]
cmp dword [r15 + 0x20], 0
je 0x18001fdad
mov rcx, qword [rsi + 0x58]
mov rax, qword [rcx]
test rax, rax
je 0x18001fdad
lea rdx, [0x180145cd0]
cmp rax, rdx
jne 0x18001fda6
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 0x18001fdd1
mov rax, qword [rsi + 0x50]
cmp qword [rax], 0
je 0x18001fdad
test edx, edx
je 0x18001fde3
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 0x18001cb80
mov eax, r12d
add rsp, 0x48
pop r12
pop rsi
ret