Function at 0x1800321b8
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 0x1800321e2
call qword [0x18011b1f8]
mov rcx, qword [rsi + 0x28]
mov r14d, 1
cmp byte [rcx + 0x11], 0
je 0x180032201
add dword [rcx + 0x14], r14d
cmp byte [rcx + 0x12], 0
jne 0x180032201
call fcn.180028664
mov rdx, qword [rsi]
test rdx, rdx
je 0x18003221b
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x18003221b
call qword [0x18011b1f8]
mov rdx, qword [rsi]
mov edi, dword [rsi + 0x30]
test edi, edi
je 0x18003222e
lea eax, [rdi - 5]
cmp eax, r14d
ja 0x180032697
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 0x18003226f
cmp byte [r8 + 0x24], 2
jne 0x18003226f
mov edi, 5
jmp 0x1800322b6
xor edi, edi
cmp dword [rsi + 0x14], edi
jne 0x18003229f
lea edx, [rdi + 2]
mov rcx, r9
call fcn.18002a8f0
mov edi, eax
test eax, eax
jne 0x1800322b6
mov rcx, qword [rsi + 8]
lea r8, [rsi + 0x10]
mov edx, r14d
mov dword [rsi + 0x14], r14d
call fcn.180030e28
mov rcx, qword [rsi + 0x28]
cmp byte [rcx + 0x10], 0
jne 0x1800322b6
xor edx, edx
call fcn.18002a8f0
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 0x1800322ee
cmp r12b, 5
jne 0x1800322ee
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 0x180032388
mov r14d, dword [rsi + 0x18]
cmp r14d, ebp
ja 0x180032382
test edi, edi
jne 0x1800323c8
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 0x180032370
mov rcx, qword [rsp + 0x98]
lea r9d, [rdi + 2]
lea r8, [rsp + 0x20]
mov edx, r14d
call fcn.180024fa0
mov edi, eax
test eax, eax
jne 0x180032370
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov edx, r14d
mov rcx, rsi
mov r8, qword [rbx + 8]
call fcn.180032050
mov rcx, rbx
mov edi, eax
call fcn.18002536c
mov r14d, 1
add dword [rsi + 0x18], r14d
add r15d, r14d
jmp 0x1800322f4
mov r14d, 1
test edi, edi
jne 0x1800323c8
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 0x1800323d6
cmp dword [rsi + 0x3c], edi
jne 0x180032663
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 0x180032663
cmp edi, eax
jne 0x180032663
mov r14d, 1
test ebp, ebp
jne 0x18003242d
mov rbx, qword [rsi + 8]
cmp byte [rbx + 0x11], bpl
je 0x1800323f6
add dword [rbx + 0x14], r14d
cmp byte [rbx + 0x12], bpl
jne 0x1800323f6
mov rcx, rbx
call fcn.180028664
mov rax, qword [rbx + 8]
and dword [rax + 0x3c], 0
mov rcx, qword [rbx + 8]
call fcn.18002a7ec
cmp byte [rbx + 0x11], 0
mov edi, eax
je 0x18003241d
sub dword [rbx + 0x14], 1
jne 0x18003241d
mov rcx, rbx
call fcn.18002861c
mov ebp, r14d
test edi, edi
je 0x18003242d
cmp edi, 0x65
jne 0x180032663
mov r8d, dword [rsi + 0x10]
mov edx, r14d
mov rcx, qword [rsi + 8]
add r8d, r14d
call fcn.180030ed0
mov edi, eax
test eax, eax
jne 0x180032663
mov rcx, qword [rsi]
test rcx, rcx
je 0x180032457
call fcn.18004a1f4
cmp r12b, 5
jne 0x180032475
mov rcx, qword [rsi + 8]
mov edx, 2
call fcn.180031f8c
mov edi, eax
test eax, eax
jne 0x180032663
mov ebx, dword [rsp + 0x88]
cmp r13d, ebx
jge 0x180032628
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 0x180032540
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 0x18003253a
xor r9d, r9d
lea r8, [rsp + 0x20]
mov edx, ebp
mov rcx, r14
call fcn.180024fa0
mov edi, eax
test eax, eax
jne 0x18003253a
mov rbx, qword [rsp + 0x20]
mov rcx, qword [rbx + 0x20]
mov eax, dword [rcx + 0xbc]
cmp dword [rcx + 0xb8], eax
mov rcx, rbx
jbe 0x18003252b
call fcn.1800256ac
jmp 0x180032530
call fcn.1800253d0
mov rcx, rbx
mov edi, eax
call fcn.18002536c
inc ebp
test edi, edi
je 0x1800324d5
mov r14, qword [rsp + 0x28]
test edi, edi
jne 0x18003255e
mov rcx, qword [rsp + 0x90]
xor edx, edx
lea r8d, [rdx + 1]
call fcn.180025890
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 0x1800325de
cmp rbx, r15
jge 0x1800325e4
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.180024fa0
mov rbp, qword [rsp + 0x20]
mov edi, eax
test eax, eax
jne 0x1800325ce
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 0x1800325db
mov rcx, rbp
call fcn.18002536c
add rbx, r13
test edi, edi
je 0x180032583
jmp 0x180032663
mov rax, qword [r14]
lea rdx, [rsp + 0x98]
mov rcx, r14
call qword [rax + 0x30]
mov edi, eax
test eax, eax
jne 0x180032613
cmp qword [rsp + 0x98], r12
jle 0x180032613
mov rax, qword [r14]
mov rdx, r12
mov rcx, r14
call qword [rax + 0x20]
mov edi, eax
test edi, edi
jne 0x180032663
mov rcx, qword [rsp + 0x90]
xor edx, edx
call fcn.180025848
jmp 0x180032646
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.180025890
mov edi, eax
test eax, eax
jne 0x180032663
mov rcx, qword [rsi + 8]
xor edx, edx
call fcn.18002b9bc
mov edi, eax
test eax, eax
mov eax, 0x65
cmove edi, eax
cmp dword [rsp + 0x80], 0
je 0x180032683
mov rcx, qword [rsi + 0x28]
xor edx, edx
call fcn.18002b6b8
mov rcx, qword [rsi + 0x28]
xor edx, edx
call fcn.18002b9bc
mov rdx, qword [rsi]
cmp edi, 0xc0a
mov eax, 7
cmove edi, eax
mov dword [rsi + 0x30], edi
test rdx, rdx
je 0x1800326ab
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x1800326ab
call qword [0x18011b208]
mov rcx, qword [rsi + 0x28]
cmp byte [rcx + 0x11], 0
je 0x1800326c0
sub dword [rcx + 0x14], 1
jne 0x1800326c0
call fcn.18002861c
mov rcx, qword [rsi + 0x20]
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x1800326d3
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