Function at 0x140010328
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 rdi, rcx
mov r14d, edx
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rcx + 0x18]
call fcn.14000fb1c
mov rcx, qword [rdi + 0x28]
call fcn.140035c58
mov r8, qword [rdi]
test r8, r8
je 0x14001036c
mov rcx, qword [r8 + 0x18]
call fcn.14000fb1c
mov r8, qword [rdi]
mov ebx, dword [rdi + 0x30]
mov ecx, ebx
call fcn.140027c4c
test eax, eax
jne 0x140010791
mov rdx, qword [rdi + 0x28]
mov rcx, rdx
call fcn.140036fa8
mov rcx, qword [rdi + 8]
mov qword [rsp + 0x28], rax
call fcn.140036fa8
and dword [rsp + 0x80], 0
mov r13, rax
mov esi, 1
test r8, r8
je 0x1400103bc
mov rcx, qword [rdx + 8]
cmp byte [rcx + 0x24], 2
jne 0x1400103bc
lea ebx, [rsi + 4]
jmp 0x140010404
xor ebx, ebx
cmp dword [rdi + 0x14], ebx
jne 0x1400103e7
mov rcx, qword [rdi + 8]
lea edx, [rbx + 2]
call fcn.140034f98
mov ebx, eax
test eax, eax
jne 0x140010404
mov rcx, qword [rdi + 8]
lea r8, [rdi + 0x10]
mov edx, esi
mov dword [rdi + 0x14], esi
call fcn.140035d68
mov rcx, qword [rdi + 0x28]
call fcn.1400363ec
test eax, eax
jne 0x140010404
xor edx, edx
call fcn.140034f98
mov ebx, eax
mov dword [rsp + 0x80], esi
mov rcx, qword [rdi + 0x28]
call fcn.140035dc8
mov rcx, qword [rdi + 8]
movsxd r12, eax
call fcn.140035dc8
mov edx, eax
mov dword [rsp + 0x98], eax
call fcn.140036fa8
mov rcx, rax
call fcn.1400460f0
mov dword [rsp + 0x90], eax
test ebx, ebx
jne 0x140010448
cmp eax, 5
jne 0x140010448
cmp r12d, edx
lea eax, [rbx + 8]
cmovne ebx, eax
mov rcx, qword [rdi + 0x28]
call fcn.1400364c8
mov ebp, eax
lea rsi, [rdi + 0x18]
xor r15d, r15d
mov eax, 0x65
test r14d, r14d
js 0x14001046d
cmp r15d, r14d
jge 0x1400104f0
lea rsi, [rdi + 0x18]
mov r14d, dword [rsi]
cmp r14d, ebp
ja 0x1400104f0
test ebx, ebx
jne 0x14001051a
mov rax, qword [rdi + 0x28]
xor edx, edx
mov rcx, qword [rax + 8]
mov eax, dword [0x1400b6918]
div dword [rcx + 0x30]
inc eax
cmp r14d, eax
je 0x1400104de
mov rcx, qword [rsp + 0x28]
lea r9d, [rbx + 2]
lea r8, [rsp + 0x20]
mov edx, r14d
call fcn.1400458e8
mov ebx, eax
test eax, eax
jne 0x1400104de
mov rcx, qword [rsp + 0x20]
call fcn.1400460e0
mov r8, rax
xor r9d, r9d
mov edx, r14d
mov rcx, rdi
call fcn.140019ca0
mov rcx, qword [rsp + 0x20]
mov ebx, eax
call fcn.140047248
inc dword [rsi]
mov r14d, dword [rsp + 0x88]
inc r15d
jmp 0x14001045a
test ebx, ebx
jne 0x14001051a
mov eax, ebp
mov dword [rdi + 0x38], ebp
sub eax, dword [rsi]
inc eax
mov dword [rdi + 0x34], eax
cmp dword [rsi], ebp
ja 0x140010522
cmp dword [rdi + 0x3c], ebx
jne 0x140010760
mov rcx, rdi
call fcn.140019a64
jmp 0x140010760
cmp ebx, eax
jne 0x140010760
test ebp, ebp
jne 0x140010543
mov rcx, qword [rdi + 8]
call fcn.140036988
mov ebx, eax
mov ebp, 1
test eax, eax
je 0x140010543
cmp eax, 0x65
jne 0x140010760
mov r8d, dword [rdi + 0x10]
mov edx, 1
mov rcx, qword [rdi + 8]
inc r8d
call fcn.1400376c8
mov ebx, eax
test eax, eax
jne 0x140010760
mov rcx, qword [rdi]
test rcx, rcx
je 0x14001056f
call fcn.14004ba24
cmp dword [rsp + 0x90], 5
jne 0x140010591
mov rcx, qword [rdi + 8]
mov edx, 2
call fcn.1400374f8
mov ebx, eax
test eax, eax
jne 0x140010760
mov r14d, dword [rsp + 0x98]
cmp r12d, r14d
jge 0x140010725
mov r9d, dword [0x1400b6918]
mov eax, r14d
cdq
movsxd r15, ebp
idiv r12d
mov ecx, eax
dec eax
add eax, ebp
cdq
idiv ecx
xor edx, edx
mov r8d, eax
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 8]
lea esi, [r8 - 1]
mov eax, r9d
div dword [rcx + 0x30]
mov rcx, r13
inc eax
cmp r8d, eax
cmovne esi, r8d
imul r15, r12
call fcn.1400460bc
lea rdx, [rsp + 0x90]
mov qword [rsp + 0x20], rax
call fcn.140046a10
cmp esi, dword [rsp + 0x90]
ja 0x14001065e
mov rcx, qword [rdi + 8]
xor edx, edx
mov eax, r9d
mov r8, qword [rcx + 8]
div dword [r8 + 0x30]
inc eax
cmp esi, eax
je 0x140010658
xor r9d, r9d
lea r8, [rsp + 0x98]
mov edx, esi
mov rcx, r13
call fcn.1400458e8
mov ebx, eax
test eax, eax
jne 0x140010651
mov rcx, qword [rsp + 0x98]
call fcn.1400472bc
mov rcx, qword [rsp + 0x98]
mov ebx, eax
call fcn.140047248
mov r9d, dword [0x1400b6918]
inc esi
test ebx, ebx
je 0x1400105fa
test ebx, ebx
jne 0x140010679
xor edx, edx
lea r8d, [rbx + 1]
mov rcx, r13
call fcn.140045ea0
mov r9d, dword [0x1400b6918]
mov ebx, eax
lea eax, [r9 + r14]
mov rbp, r15
movsxd rcx, eax
lea eax, [r9 + r12]
cmp rcx, r15
movsxd rsi, eax
cmovl rbp, rcx
test ebx, ebx
jne 0x140010760
mov r14, qword [rsp + 0x20]
cmp rsi, rbp
jge 0x140010708
mov rcx, qword [rsp + 0x28]
lea r8, [rsp + 0x90]
and qword [rsp + 0x90], 0
mov rax, rsi
cqo
xor r9d, r9d
idiv r12
lea edx, [rax + 1]
call fcn.1400458e8
mov ebx, eax
test eax, eax
jne 0x1400106f2
mov rcx, qword [rsp + 0x90]
call fcn.1400460e0
mov rdx, rax
mov r9, rsi
mov r8d, r12d
mov rcx, r14
call fcn.140045798
mov ebx, eax
mov rcx, qword [rsp + 0x90]
call fcn.140047248
add rsi, r12
test ebx, ebx
je 0x14001069e
jmp 0x140010760
mov rdx, r15
mov rcx, r14
call fcn.140019e24
mov ebx, eax
test eax, eax
jne 0x140010760
xor edx, edx
mov rcx, r13
call fcn.1400471f4
jmp 0x140010743
mov eax, r12d
mov rcx, r13
cdq
idiv r14d
imul eax, ebp
mov edx, eax
call fcn.140047244
xor r8d, r8d
xor edx, edx
call fcn.140045ea0
mov ebx, eax
test eax, eax
jne 0x140010760
mov rcx, qword [rdi + 8]
xor edx, edx
call fcn.140035564
mov ebx, eax
test eax, eax
mov eax, 0x65
cmove ebx, eax
cmp dword [rsp + 0x80], 0
je 0x140010780
mov rcx, qword [rdi + 0x28]
xor edx, edx
call fcn.1400354cc
mov rcx, qword [rdi + 0x28]
xor edx, edx
call fcn.140035564
cmp ebx, 0xc0a
mov eax, 7
cmove ebx, eax
mov dword [rdi + 0x30], ebx
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400107a2
mov rcx, qword [rcx + 0x18]
call fcn.14000fb40
mov rcx, qword [rdi + 0x28]
call fcn.1400364d4
mov rcx, qword [rdi + 0x20]
mov rcx, qword [rcx + 0x18]
call fcn.14000fb40
mov eax, ebx
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret