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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
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
xor r12d, r12d
mov rcx, qword [rax + 0x58]
cmp rcx, r12
je 0x140037f5a
call qword [0x140089088]
mov rax, qword [rsi]
cmp rax, r12
je 0x140037f71
mov rcx, qword [rax + 0x58]
cmp rcx, r12
je 0x140037f71
call qword [0x140089088]
mov edi, dword [rsi + 0x30]
cmp edi, r12d
je 0x140037f87
cmp edi, 5
je 0x140037f87
cmp edi, 6
jne 0x140038363
cmp qword [rsi], r12
mov rcx, qword [rsi + 0x28]
mov r8, qword [rsi + 8]
mov rax, qword [rcx + 8]
mov dword [rsp + 0x80], r12d
mov r13d, 1
mov rbx, qword [rax]
mov rax, qword [r8 + 8]
mov rdx, qword [rax]
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x20], rdx
je 0x140037fd0
mov rax, qword [rcx + 8]
cmp byte [rax + 0x25], 2
jne 0x140037fd0
lea edi, [r13 + 4]
jmp 0x1400380a0
cmp dword [rsi + 0x14], r12d
mov edi, r12d
jne 0x140038005
mov edx, 2
mov rcx, r8
call fcn.140037418
cmp eax, r12d
mov edi, eax
jne 0x1400380a0
mov rcx, qword [rsi + 8]
lea r8, [rsi + 0x10]
mov edx, r13d
mov dword [rsi + 0x14], r13d
call fcn.140010048
mov rbp, qword [rsi + 0x28]
cmp byte [rbp + 0x10], r12b
jne 0x1400380a0
mov al, byte [rbp + 0x10]
mov rbx, qword [rbp + 8]
mov edi, r12d
cmp al, 2
je 0x140038090
cmp al, r13b
je 0x140038090
cmp dword [rbx + 0x3c], r12d
sete al
mov byte [rbx + 0x23], al
cmp qword [rbx + 0x18], r12
jne 0x140038045
mov rcx, rbx
call fcn.140035958
cmp eax, r12d
mov edi, eax
je 0x140038030
cmp edi, r12d
je 0x140038052
mov rcx, rbx
call fcn.140020738
cmp dil, 5
jne 0x140038073
cmp byte [rbx + 0x25], r12b
jne 0x140038073
mov rcx, qword [rbx + 8]
add rcx, 0x290
call fcn.14000a648
cmp eax, r12d
jne 0x140038030
cmp edi, r12d
jne 0x140038090
cmp byte [rbp + 0x10], r12b
jne 0x140038082
add dword [rbx + 0x38], r13d
mov byte [rbp + 0x10], r13b
cmp byte [rbx + 0x25], r13b
jae 0x140038090
mov byte [rbx + 0x25], r13b
mov rbx, qword [rsp + 0x88]
mov dword [rsp + 0x80], r13d
cmp edi, r12d
mov rax, qword [rsi + 0x28]
mov rcx, qword [rax + 8]
mov rax, qword [rsi + 8]
mov rax, qword [rax + 8]
movsxd r15, dword [rcx + 0x30]
mov r14d, dword [rax + 0x30]
jne 0x1400380d1
mov rax, qword [rax]
cmp byte [rax + 9], 5
jne 0x1400380d1
mov eax, 8
cmp r15d, r14d
cmovne edi, eax
movsxd r13, dword [rcx + 0x3c]
cmp r12d, 0x7fffffff
mov r8d, 0x65
jge 0x140038153
mov ebp, dword [rsi + 0x18]
cmp ebp, r13d
ja 0x140038153
test edi, edi
jne 0x140038194
mov rax, qword [rsi + 0x28]
xor edx, edx
mov rcx, qword [rax + 8]
mov eax, 0x40000000
div dword [rcx + 0x30]
add eax, 1
cmp ebp, eax
je 0x140038141
lea r8, [rsp + 0x28]
xor r9d, r9d
mov edx, ebp
mov rcx, rbx
call fcn.140028818
test eax, eax
mov edi, eax
jne 0x140038141
mov rbx, qword [rsp + 0x28]
mov edx, ebp
mov rcx, rsi
mov r8, qword [rbx]
call fcn.14002db28
mov rcx, rbx
mov edi, eax
call fcn.14001d428
add dword [rsi + 0x18], 1
mov rbx, qword [rsp + 0x88]
add r12d, 1
jmp 0x1400380d5
test edi, edi
jne 0x140038194
mov eax, r13d
mov dword [rsi + 0x38], r13d
sub eax, dword [rsi + 0x18]
add eax, 1
cmp dword [rsi + 0x18], r13d
mov dword [rsi + 0x34], eax
ja 0x14003819d
cmp dword [rsi + 0x3c], edi
jne 0x140038321
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], 1
cmp edi, r8d
jne 0x140038321
mov r8d, dword [rsi + 0x10]
mov rcx, qword [rsi + 8]
mov edx, 1
add r8d, 1
call fcn.14002dc68
test eax, eax
mov edi, eax
jne 0x140038321
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400381cc
xor edx, edx
call fcn.14001c818
cmp r15d, r14d
jge 0x140038206
mov eax, r14d
cdq
idiv r15d
mov ecx, eax
lea eax, [rax + r13 - 1]
cdq
idiv ecx
mov rcx, qword [rsi + 8]
xor edx, edx
mov r8, qword [rcx + 8]
mov r9d, eax
mov eax, 0x40000000
div dword [r8 + 0x30]
add eax, 1
cmp r9d, eax
jne 0x140038214
sub r9d, 1
jmp 0x140038214
mov eax, r15d
cdq
idiv r14d
mov r9d, eax
imul r9d, r13d
mov rbx, qword [rsp + 0x20]
xor edx, edx
cmp r15d, r14d
mov dword [rbx + 0x1c], r9d
mov rcx, rbx
jge 0x1400382fe
mov r12, qword [rbx + 0x48]
imul r13, r15
lea r8d, [rdx + 1]
mov qword [rsp + 0x28], r13
call fcn.140034e18
mov edi, eax
lea eax, [r14 + 0x40000000]
mov r14, r13
movsxd rcx, eax
lea eax, [r15 + 0x40000000]
cmp rcx, r13
movsxd rbx, eax
cmovl r14, rcx
test edi, edi
jne 0x140038321
mov r13, qword [rsp + 0x88]
mov rsi, r15
cmp rbx, r14
jge 0x1400382d3
and qword [rsp + 0x88], 0
mov rax, rbx
lea r8, [rsp + 0x88]
cqo
xor r9d, r9d
mov rcx, r13
idiv rsi
lea edx, [rax + 1]
call fcn.140028818
mov rbp, qword [rsp + 0x88]
test eax, eax
mov edi, eax
jne 0x1400382c4
mov rax, qword [r12]
mov rdx, qword [rbp]
mov r9, rbx
mov r8d, r15d
mov rcx, r12
call qword [rax + 0x18]
mov edi, eax
mov rcx, rbp
call fcn.14001d428
add rbx, r15
test edi, edi
je 0x140038274
test edi, edi
mov rsi, qword [rsp + 0x70]
mov r13, qword [rsp + 0x28]
jne 0x140038321
mov rdx, r13
mov rcx, r12
call fcn.14000ffb8
test eax, eax
mov edi, eax
jne 0x140038321
mov rcx, qword [rsp + 0x20]
call fcn.1400106b8
jmp 0x140038306
xor r8d, r8d
call fcn.140034e18
test eax, eax
mov edi, eax
jne 0x140038321
mov rcx, qword [rsi + 8]
call fcn.140027fa8
mov edi, eax
test eax, eax
mov eax, 0x65
cmove edi, eax
xor r12d, r12d
cmp dword [rsp + 0x80], r12d
je 0x140038352
mov rcx, qword [rsi + 0x28]
cmp byte [rcx + 0x10], 2
jne 0x140038349
mov rcx, qword [rcx + 8]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rcx]
call fcn.140034e18
mov rcx, qword [rsi + 0x28]
call fcn.140027fa8
mov eax, 7
cmp edi, 0xc0a
cmove edi, eax
mov dword [rsi + 0x30], edi
mov rax, qword [rsi]
cmp rax, r12
je 0x14003837a
mov rcx, qword [rax + 0x58]
cmp rcx, r12
je 0x14003837a
call qword [0x140089098]
mov rcx, qword [rsi + 0x20]
mov rcx, qword [rcx + 0x58]
cmp rcx, r12
je 0x14003838d
call qword [0x140089098]
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