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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rax, qword [rcx + 0x20]
mov rsi, rcx
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x1800879ca
call qword [0x180157f98]
mov rcx, qword [rsi + 0x28]
call fcn.18007ebe0
mov r11, qword [rsi]
test r11, r11
je 0x1800879ea
mov rcx, qword [r11 + 0x58]
test rcx, rcx
je 0x1800879ea
call qword [0x180157f98]
mov edi, dword [rsi + 0x30]
test edi, edi
je 0x1800879ff
cmp edi, 5
je 0x1800879ff
cmp edi, 6
jne 0x180087d72
mov rcx, qword [rsi + 0x28]
mov r8, qword [rsi + 8]
and dword [rsp + 0x70], 0
cmp qword [rsi], 0
mov rax, qword [rcx + 8]
mov rbx, qword [rax]
mov rax, qword [r8 + 8]
mov rdx, qword [rax]
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x20], rdx
mov edx, 2
lea r12d, [rdx - 1]
je 0x180087a44
mov rax, qword [rcx + 8]
cmp byte [rax + 0x2e], dl
jne 0x180087a44
lea edi, [rdx + 3]
jmp 0x180087a85
xor edi, edi
cmp dword [rsi + 0x14], edi
jne 0x180087a6d
mov rcx, r8
call fcn.180080cec
mov edi, eax
test eax, eax
jne 0x180087a85
mov rcx, qword [rsi + 8]
lea r8, [rsi + 0x10]
mov edx, r12d
mov dword [rsi + 0x14], r12d
call fcn.180086548
mov rcx, qword [rsi + 0x28]
cmp byte [rcx + 0x10], 0
jne 0x180087a85
xor edx, edx
call fcn.180080cec
mov dword [rsp + 0x70], r12d
mov edi, eax
mov rax, qword [rsi + 0x28]
mov rcx, qword [rax + 8]
mov rax, qword [rsi + 8]
mov rax, qword [rax + 8]
movsxd r14, dword [rcx + 0x30]
mov r15d, dword [rax + 0x30]
test edi, edi
jne 0x180087ab3
mov rax, qword [rax]
cmp byte [rax + 9], 5
jne 0x180087ab3
lea eax, [rdi + 8]
cmp r14d, r15d
cmovne edi, eax
movsxd rbp, dword [rcx + 0x3c]
xor r13d, r13d
cmp r13d, 0x7fffffff
mov r8d, 0x65
jge 0x180087b54
mov r12d, dword [rsi + 0x18]
cmp r12d, ebp
ja 0x180087b4e
test edi, edi
jne 0x180087b8f
mov rax, qword [rsi + 0x28]
xor edx, edx
mov rcx, qword [rax + 8]
mov eax, dword [0x180157f18]
div dword [rcx + 0x30]
inc eax
cmp r12d, eax
je 0x180087b3c
lea r8, [rsp + 0x88]
xor r9d, r9d
mov edx, r12d
mov rcx, rbx
call fcn.18007bb88
mov edi, eax
test eax, eax
jne 0x180087b3c
mov rbx, qword [rsp + 0x88]
mov edx, r12d
mov rcx, rsi
mov r8, qword [rbx]
call fcn.180087868
mov rcx, rbx
mov edi, eax
call fcn.18007bcfc
mov rbx, qword [rsp + 0x80]
mov r12d, 1
add dword [rsi + 0x18], r12d
add r13d, r12d
jmp 0x180087aba
mov r12d, 1
test edi, edi
jne 0x180087b8f
mov eax, ebp
mov dword [rsi + 0x38], ebp
sub eax, dword [rsi + 0x18]
add eax, r12d
mov dword [rsi + 0x34], eax
cmp dword [rsi + 0x18], ebp
ja 0x180087b9e
cmp dword [rsi + 0x3c], edi
jne 0x180087d46
mov rax, qword [rsi + 0x28]
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x70]
mov qword [rsi + 0x40], rax
mov qword [rdx + 0x70], rsi
mov dword [rsi + 0x3c], r12d
cmp edi, r8d
jne 0x180087d46
mov r12d, 1
mov r8d, dword [rsi + 0x10]
mov rcx, qword [rsi + 8]
mov edx, r12d
add r8d, r12d
call fcn.1800865c4
mov edi, eax
test eax, eax
jne 0x180087d46
mov rcx, qword [rsi]
test rcx, rcx
je 0x180087bca
xor edx, edx
call fcn.18009d2a0
cmp r14d, r15d
jge 0x180087c02
mov eax, r15d
cdq
idiv r14d
mov ecx, eax
lea eax, [rax + rbp - 1]
cdq
idiv ecx
xor edx, edx
mov r8d, eax
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 8]
mov eax, dword [0x180157f18]
div dword [rcx + 0x30]
add eax, r12d
cmp r8d, eax
jne 0x180087c10
sub r8d, r12d
jmp 0x180087c10
mov eax, r14d
cdq
idiv r15d
mov r8d, eax
imul r8d, ebp
mov rbx, qword [rsp + 0x20]
xor edx, edx
cmp r14d, r15d
mov dword [rbx + 0x1c], r8d
mov rcx, rbx
jge 0x180087d23
mov r12, qword [rbx + 0x48]
lea r8d, [rdx + 1]
mov r13, r14
imul rbp, r14
call fcn.18007c41c
mov edi, eax
test eax, eax
jne 0x180087d46
mov rax, qword [r12]
lea rdx, [rsp + 0x88]
mov rcx, r12
call qword [rax + 0x30]
mov edi, eax
test eax, eax
jne 0x180087c76
cmp qword [rsp + 0x88], rbp
jle 0x180087c76
mov rax, qword [r12]
mov rdx, rbp
mov rcx, r12
call qword [rax + 0x20]
mov edi, eax
test edi, edi
jne 0x180087d46
cmp byte [rbx + 0xc], dil
jne 0x180087c94
mov rcx, qword [rbx + 0x48]
movzx edx, byte [rbx + 0xe]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov edi, eax
test edi, edi
jne 0x180087d46
mov edx, dword [0x180157f18]
lea eax, [rdx + r15]
mov r15, qword [rsp + 0x80]
movsxd rcx, eax
lea eax, [rdx + r14]
cmp rcx, rbp
movsxd rbx, eax
cmovl rbp, rcx
cmp rbx, rbp
jge 0x180087d2d
and qword [rsp + 0x80], 0
mov rax, rbx
lea r8, [rsp + 0x80]
cqo
xor r9d, r9d
mov rcx, r15
idiv r13
lea edx, [rax + 1]
call fcn.18007bb88
mov r13, qword [rsp + 0x80]
mov edi, eax
test eax, eax
jne 0x180087d0f
mov rax, qword [r12]
mov rdx, qword [r13]
mov r9, rbx
mov r8d, r14d
mov rcx, r12
call qword [rax + 0x18]
mov edi, eax
mov rcx, r13
call fcn.18007bcfc
add rbx, r14
mov r13, r14
test edi, edi
je 0x180087cbf
jmp 0x180087d2d
xor r8d, r8d
call fcn.18007c41c
mov edi, eax
test edi, edi
jne 0x180087d46
mov rcx, qword [rsi + 8]
call fcn.180081c00
mov edi, eax
test eax, eax
mov eax, 0x65
cmove edi, eax
cmp dword [rsp + 0x70], 0
je 0x180087d61
mov rcx, qword [rsi + 0x28]
xor edx, edx
call fcn.180081a60
mov rcx, qword [rsi + 0x28]
call fcn.180081c00
mov eax, 7
cmp edi, 0xc0a
cmove edi, eax
mov dword [rsi + 0x30], edi
mov rax, qword [rsi]
test rax, rax
je 0x180087d89
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x180087d89
call qword [0x180157fa8]
mov rcx, qword [rsi + 0x28]
call fcn.18007ec78
mov r11, qword [rsi + 0x20]
mov rcx, qword [r11 + 0x58]
test rcx, rcx
je 0x180087da5
call qword [0x180157fa8]
mov eax, edi
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret