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

Disassembly:
mov dword [rsp + 0x10], edx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov rax, qword [rcx + 0x20]
mov rsi, rcx
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1800320d2
call qword [0x18011b1f8]
mov rcx, qword [rsi + 0x28]
mov r14d, 1
cmp byte [rcx + 0x11], 0
je 0x1800320f1
add dword [rcx + 0x14], r14d
cmp byte [rcx + 0x12], 0
jne 0x1800320f1
call fcn.180028550
mov rdx, qword [rsi]
test rdx, rdx
je 0x18003210b
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x18003210b
call qword [0x18011b1f8]
mov rdx, qword [rsi]
mov edi, dword [rsi + 0x30]
test edi, edi
je 0x18003211e
lea eax, [rdi - 5]
cmp eax, r14d
ja 0x180032587
mov rcx, qword [rsi + 0x28]
mov r9, qword [rsi + 8]
and dword [rsp + 0x80], 0
mov r8, qword [rcx + 8]
mov rax, qword [r8]
mov qword [rsp + 0x98], rax
mov rax, qword [r9 + 8]
mov rax, qword [rax]
mov qword [rsp + 0x90], rax
test rdx, rdx
je 0x18003215f
cmp byte [r8 + 0x24], 2
jne 0x18003215f
mov edi, 5
jmp 0x1800321a6
xor edi, edi
cmp dword [rsi + 0x14], edi
jne 0x18003218f
lea edx, [rdi + 2]
mov rcx, r9
call fcn.18002a7e0
mov edi, eax
test eax, eax
jne 0x1800321a6
mov rcx, qword [rsi + 8]
lea r8, [rsi + 0x10]
mov edx, r14d
mov dword [rsi + 0x14], r14d
call fcn.180030d18
mov rcx, qword [rsi + 0x28]
cmp byte [rcx + 0x10], 0
jne 0x1800321a6
xor edx, edx
call fcn.18002a7e0
mov edi, eax
mov dword [rsp + 0x80], r14d
mov rax, qword [rsi + 0x28]
mov rcx, qword [rax + 8]
mov rax, qword [rsi + 8]
movsxd r13, dword [rcx + 0x30]
mov rax, qword [rax + 8]
mov ebx, dword [rax + 0x30]
mov rax, qword [rax]
mov dword [rsp + 0x88], ebx
mov r12b, byte [rax + 9]
test edi, edi
jne 0x1800321de
cmp r12b, 5
jne 0x1800321de
cmp r13d, ebx
lea eax, [rdi + 8]
cmovne edi, eax
mov ebp, dword [rcx + 0x3c]
xor r15d, r15d
mov eax, 0x65
cmp r15d, 0x7fffffff
jge 0x180032278
mov r14d, dword [rsi + 0x18]
cmp r14d, ebp
ja 0x180032272
test edi, edi
jne 0x1800322b8
mov rax, qword [rsi + 0x28]
xor edx, edx
mov rcx, qword [rax + 8]
mov eax, 0x40000000
div dword [rcx + 0x30]
inc eax
cmp r14d, eax
je 0x180032260
mov rcx, qword [rsp + 0x98]
lea r9d, [rdi + 2]
lea r8, [rsp + 0x20]
mov edx, r14d
call fcn.180024e8c
mov edi, eax
test eax, eax
jne 0x180032260
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov edx, r14d
mov rcx, rsi
mov r8, qword [rbx + 8]
call fcn.180031f40
mov rcx, rbx
mov edi, eax
call fcn.180025258
mov r14d, 1
add dword [rsi + 0x18], r14d
add r15d, r14d
jmp 0x1800321e4
mov r14d, 1
test edi, edi
jne 0x1800322b8
mov eax, ebp
mov dword [rsi + 0x38], ebp
sub eax, dword [rsi + 0x18]
add eax, r14d
mov dword [rsi + 0x34], eax
cmp dword [rsi + 0x18], ebp
ja 0x1800322c6
cmp dword [rsi + 0x3c], edi
jne 0x180032553
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], r14d
jmp 0x180032553
cmp edi, eax
jne 0x180032553
mov r14d, 1
test ebp, ebp
jne 0x18003231d
mov rbx, qword [rsi + 8]
cmp byte [rbx + 0x11], bpl
je 0x1800322e6
add dword [rbx + 0x14], r14d
cmp byte [rbx + 0x12], bpl
jne 0x1800322e6
mov rcx, rbx
call fcn.180028550
mov rax, qword [rbx + 8]
and dword [rax + 0x3c], 0
mov rcx, qword [rbx + 8]
call fcn.18002a6dc
cmp byte [rbx + 0x11], 0
mov edi, eax
je 0x18003230d
sub dword [rbx + 0x14], 1
jne 0x18003230d
mov rcx, rbx
call fcn.180028508
mov ebp, r14d
test edi, edi
je 0x18003231d
cmp edi, 0x65
jne 0x180032553
mov r8d, dword [rsi + 0x10]
mov edx, r14d
mov rcx, qword [rsi + 8]
add r8d, r14d
call fcn.180030dc0
mov edi, eax
test eax, eax
jne 0x180032553
mov rcx, qword [rsi]
test rcx, rcx
je 0x180032347
call fcn.18004a0b0
cmp r12b, 5
jne 0x180032365
mov rcx, qword [rsi + 8]
mov edx, 2
call fcn.180031e7c
mov edi, eax
test eax, eax
jne 0x180032553
mov ebx, dword [rsp + 0x88]
cmp r13d, ebx
jge 0x180032518
mov eax, ebx
movsxd r12, ebp
cdq
idiv r13d
imul r12, r13
mov ecx, eax
dec eax
add eax, ebp
cdq
idiv ecx
mov rcx, qword [rsp + 0x90]
xor edx, edx
mov r8d, eax
mov rax, qword [rsi + 8]
mov r14, qword [rcx + 0x48]
mov r15d, dword [rcx + 0x1c]
lea ebp, [r8 - 1]
mov qword [rsp + 0x28], r14
mov r14, rcx
mov rcx, qword [rax + 8]
mov eax, 0x40000000
div dword [rcx + 0x30]
inc eax
cmp r8d, eax
cmovne ebp, r8d
cmp ebp, r15d
ja 0x180032430
mov rax, qword [rsi + 8]
xor edx, edx
mov rcx, qword [rax + 8]
mov eax, 0x40000000
div dword [rcx + 0x30]
inc eax
cmp ebp, eax
je 0x18003242a
xor r9d, r9d
lea r8, [rsp + 0x20]
mov edx, ebp
mov rcx, r14
call fcn.180024e8c
mov edi, eax
test eax, eax
jne 0x18003242a
mov rbx, qword [rsp + 0x20]
mov rcx, qword [rbx + 0x20]
mov eax, dword [rcx + 0xbc]
cmp dword [rcx + 0xb8], eax
mov rcx, rbx
jbe 0x18003241b
call fcn.180025598
jmp 0x180032420
call fcn.1800252bc
mov rcx, rbx
mov edi, eax
call fcn.180025258
inc ebp
test edi, edi
je 0x1800323c5
mov r14, qword [rsp + 0x28]
test edi, edi
jne 0x18003244e
mov rcx, qword [rsp + 0x90]
xor edx, edx
lea r8d, [rdx + 1]
call fcn.18002577c
mov edi, eax
mov eax, dword [rsp + 0x88]
mov r15, r12
add eax, 0x40000000
movsxd rcx, eax
lea eax, [r13 + 0x40000000]
cmp rcx, r12
movsxd rbx, eax
cmovl r15, rcx
jmp 0x1800324ce
cmp rbx, r15
jge 0x1800324d4
mov rcx, qword [rsp + 0x98]
lea r8, [rsp + 0x20]
and qword [rsp + 0x20], 0
mov rax, rbx
cqo
xor r9d, r9d
idiv r13
lea edx, [rax + 1]
call fcn.180024e8c
mov rbp, qword [rsp + 0x20]
mov edi, eax
test eax, eax
jne 0x1800324be
mov rax, qword [r14]
mov r9, rbx
mov rdx, qword [rbp + 8]
mov r8d, r13d
mov rcx, r14
call qword [rax + 0x18]
mov edi, eax
test rbp, rbp
je 0x1800324cb
mov rcx, rbp
call fcn.180025258
add rbx, r13
test edi, edi
je 0x180032473
jmp 0x180032553
mov rax, qword [r14]
lea rdx, [rsp + 0x98]
mov rcx, r14
call qword [rax + 0x30]
mov edi, eax
test eax, eax
jne 0x180032503
cmp qword [rsp + 0x98], r12
jle 0x180032503
mov rax, qword [r14]
mov rdx, r12
mov rcx, r14
call qword [rax + 0x20]
mov edi, eax
test edi, edi
jne 0x180032553
mov rcx, qword [rsp + 0x90]
xor edx, edx
call fcn.180025734
jmp 0x180032536
mov rcx, qword [rsp + 0x90]
mov eax, r13d
cdq
xor r8d, r8d
idiv ebx
xor edx, edx
imul eax, ebp
mov dword [rcx + 0x1c], eax
call fcn.18002577c
mov edi, eax
test eax, eax
jne 0x180032553
mov rcx, qword [rsi + 8]
xor edx, edx
call fcn.18002b8ac
mov edi, eax
test eax, eax
mov eax, 0x65
cmove edi, eax
cmp dword [rsp + 0x80], 0
je 0x180032573
mov rcx, qword [rsi + 0x28]
xor edx, edx
call fcn.18002b5a8
mov rcx, qword [rsi + 0x28]
xor edx, edx
call fcn.18002b8ac
mov rdx, qword [rsi]
cmp edi, 0xc0a
mov eax, 7
cmove edi, eax
mov dword [rsi + 0x30], edi
test rdx, rdx
je 0x18003259b
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x18003259b
call qword [0x18011b208]
mov rcx, qword [rsi + 0x28]
cmp byte [rcx + 0x11], 0
je 0x1800325b0
sub dword [rcx + 0x14], 1
jne 0x1800325b0
call fcn.180028508
mov rcx, qword [rsi + 0x20]
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x1800325c3
call qword [0x18011b208]
mov eax, edi
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret