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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rbx, rcx
mov ebp, edx
cmp dword [rcx + 0x80], r8d
jg 0x1401e78f5
xor ebp, ebp
jmp 0x1401e7c67
xor edi, edi
cmp edx, 1
setne dil
add edi, r8d
movsxd rsi, edi
mov r12d, edi
imul rsi, rsi, 0x38
mov r13, rsi
cmp r12d, dword [rbx + 0x80]
jge 0x1401e792e
mov rax, qword [rbx + 0x78]
inc r12d
mov rcx, qword [rax + r13 + 0x10]
add r13, 0x38
call fcn.1401c86c0
jmp 0x1401e790e
dec ebp
mov dword [rbx + 0x80], edi
jne 0x1401e7980
add rsi, qword [rbx + 0x78]
cmp dword [rsi + 0x20], 0
je 0x1401e78ee
mov rcx, qword [rbx + 0x58]
mov rax, qword [rcx]
test rax, rax
je 0x1401e78ee
lea rdx, [0x1402b15c0]
xor ebp, ebp
cmp rax, rdx
jne 0x1401e7975
mov rax, qword [rbx + 0xc8]
lea rdx, [rax + 4]
mov eax, dword [rsi + 0x1c]
imul rdx, rax
call fcn.1401e7200
mov ebp, eax
mov eax, dword [rsi + 0x1c]
mov dword [rbx + 0x3c], eax
jmp 0x1401e7c67
cmp qword [rbx + 0x128], 0
jne 0x1401e7998
mov rax, qword [rbx + 0x50]
cmp qword [rax], 0
je 0x1401e78ee
test edi, edi
je 0x1401e79c8
mov rax, qword [rbx + 0x78]
lea rsi, [rax + rsi - 0x38]
test rsi, rsi
je 0x1401e79c8
mov ecx, dword [rsi + 0x18]
mov ebp, 7
call fcn.1401c86a0
mov rdi, rax
test rax, rax
je 0x1401e7c67
mov eax, dword [rsi + 0x18]
jmp 0x1401e79cf
mov eax, dword [rbx + 0x24]
xor esi, esi
xor edi, edi
mov dword [rbx + 0x20], eax
mov al, byte [rbx + 0x10]
mov r12, qword [rbx + 0x128]
mov byte [rbx + 0x17], al
test rsi, rsi
jne 0x1401e7ac6
test r12, r12
je 0x1401e7ae7
mov eax, dword [rbx + 0x24]
xor ebp, ebp
mov dword [rbx + 0x20], eax
cmp byte [r12 + 0x40], 0
je 0x1401e7a90
mov rdx, qword [r12 + 0x30]
lea rax, [r12 + 0x48]
mov r13d, dword [r12 + 0x58]
mov ecx, 0xc
mov rdi, rax
mov rsi, qword [rdx]
rep movsd dword [rdi], dword [rsi]
mov eax, dword [r12 + 0x58]
lea esi, [rax + 1]
test ebp, ebp
jne 0x1401e7a81
cmp r13d, esi
jb 0x1401e7a81
lea eax, [rsi + 0x1000]
mov rcx, qword [r12 + 0x30]
sub rax, 0xfdf
shr rax, 0xc
test eax, eax
jne 0x1401e7a5a
mov rdx, qword [rcx]
mov eax, esi
lea rax, [rdx + rax*4 + 0x84]
jmp 0x1401e7a71
cdqe
lea rdx, [rsi*4 + 0x84]
and edx, 0x3ffc
add rdx, qword [rcx + rax*8]
mov rax, rdx
mov edx, dword [rax]
mov rcx, rbx
inc esi
call fcn.1401b4a10
mov ebp, eax
jmp 0x1401e7a29
cmp r13d, dword [r12 + 0x58]
je 0x1401e7a90
mov rcx, r12
call fcn.14021a2e0
mov rax, qword [rbx + 0x120]
mov rcx, qword [rax]
call fcn.1401ec1d0
test rax, rax
je 0x1401e7c67
test ebp, ebp
jne 0x1401e7c67
mov edx, dword [rax + 0x30]
mov rsi, qword [rax + 0x20]
mov rcx, rbx
call fcn.1401b4a10
mov ebp, eax
mov rax, rsi
jmp 0x1401e7a9f
mov r13, qword [rbx + 0x60]
test r12, r12
jne 0x1401e7b1b
mov r12, qword [rsi + 8]
mov rax, qword [rsi]
lea r14, [rbx + 0x60]
test r12, r12
mov qword [rbx + 0x60], rax
cmove r12, r13
jmp 0x1401e7b13
mov r13, qword [rbx + 0x60]
jmp 0x1401e7b1b
mov r9d, 1
mov r8, rdi
mov rdx, r14
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.1401b5b20
mov ebp, eax
test eax, eax
jne 0x1401e7bc4
cmp qword [rbx + 0x60], r12
jl 0x1401e7aed
jmp 0x1401e7b21
xor ecx, ecx
mov qword [rbx + 0x60], rcx
xor ebp, ebp
lea r12, [rsp + 0x34]
lea r14, [rbx + 0x60]
cmp r13, qword [rbx + 0x60]
jle 0x1401e7bc4
lea rax, [rsp + 0x38]
xor edx, edx
mov rcx, rbx
mov r9, r12
mov qword [rsp + 0x20], rax
mov r8, r13
mov dword [rsp + 0x34], edx
xor edx, edx
call fcn.1401b9910
cmp dword [rsp + 0x34], 0
mov ecx, eax
jne 0x1401e7b89
mov edx, dword [rbx + 0xb8]
add rdx, qword [rbx + 0x68]
cmp rdx, qword [rbx + 0x60]
jne 0x1401e7b89
mov rax, r13
sub rax, rdx
mov rdx, qword [rbx + 0xc8]
lea r8, [rdx + 8]
cqo
idiv r8
mov dword [rsp + 0x34], eax
xor r15d, r15d
test ecx, ecx
je 0x1401e7b94
mov ebp, ecx
jmp 0x1401e7bc4
cmp r15d, dword [rsp + 0x34]
jae 0x1401e7b2c
cmp r13, qword [rbx + 0x60]
jle 0x1401e7b2c
mov rcx, rbx
mov r9d, 1
mov r8, rdi
mov rdx, r14
mov dword [rsp + 0x20], 1
inc r15d
call fcn.1401b5b20
mov ecx, eax
jmp 0x1401e7b8c
test rsi, rsi
je 0x1401e7c57
mov rax, qword [rbx + 0xc8]
mov edx, dword [rsi + 0x1c]
mov rcx, qword [rbx + 0x128]
add rax, 4
imul rax, rdx
mov qword [rsp + 0x38], rax
test rcx, rcx
je 0x1401e7c27
mov eax, dword [rcx + 0x88]
cmp dword [rsi + 0x30], eax
je 0x1401e7c09
xor eax, eax
mov dword [rsi + 0x24], eax
mov eax, dword [rcx + 0x88]
mov dword [rsi + 0x30], eax
mov eax, dword [rsi + 0x24]
cmp eax, dword [rcx + 0x58]
jae 0x1401e7c25
mov dword [rcx + 0x58], eax
mov eax, dword [rsi + 0x28]
mov dword [rcx + 0x60], eax
mov eax, dword [rsi + 0x2c]
mov dword [rcx + 0x64], eax
call fcn.14021a2e0
xor ebp, ebp
mov esi, dword [rsi + 0x1c]
lea r12, [rsp + 0x38]
test ebp, ebp
jne 0x1401e7c57
cmp esi, dword [rbx + 0x3c]
jae 0x1401e7c57
mov dword [rsp + 0x20], 1
xor r9d, r9d
mov r8, rdi
inc esi
mov rdx, r12
mov rcx, rbx
call fcn.1401b5b20
mov ebp, eax
jmp 0x1401e7c2f
mov rcx, rdi
call fcn.1401c86c0
test ebp, ebp
jne 0x1401e7c67
mov qword [rbx + 0x60], r13
mov eax, ebp
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret