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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
xor r13d, r13d
mov rsi, rdx
mov rdi, rcx
mov ebx, r13d
mov r12d, r13d
test rdx, rdx
je 0x1402c5c6b
mov r14d, dword [rdx + 0x18]
mov ecx, 0x200
call fcn.1402f8b18
mov r12, rax
test rax, rax
je 0x1402c5c61
mov dword [rax], r14d
mov eax, dword [rsi + 0x18]
jmp 0x1402c5c6e
mov eax, 7
jmp 0x1402c5ec8
mov eax, dword [rcx + 0x24]
mov dword [rdi + 0x20], eax
mov al, byte [rdi + 0x10]
mov byte [rdi + 0x17], al
test rsi, rsi
jne 0x1402c5c92
cmp qword [rdi + 0x120], r13
je 0x1402c5c92
mov rcx, rdi
call fcn.1402c5ee0
jmp 0x1402c5ec8
lea r14, [rdi + 0x60]
mov r8, qword [r14]
mov qword [rbp + 0x58], r8
test rsi, rsi
je 0x1402c5cf1
cmp qword [rdi + 0x120], r13
jne 0x1402c5cf1
mov r15, qword [rsi + 8]
mov rax, qword [rsi]
test r15, r15
mov qword [r14], rax
cmove r15, r8
cmp qword [r14], r15
jge 0x1402c5ce3
mov r9d, 1
mov dword [rsp + 0x20], 1
mov r8, r12
mov rdx, r14
mov rcx, rdi
call fcn.1402c6d44
mov ebx, eax
test eax, eax
je 0x1402c5cbc
test ebx, ebx
jne 0x1402c5d9f
mov r8, qword [rbp + 0x58]
jmp 0x1402c5cf9
mov qword [r14], r13
jmp 0x1402c5cf9
xor r13d, r13d
cmp qword [r14], r8
jge 0x1402c5d9c
lea rax, [rbp + 0x50]
mov dword [rbp + 0x48], r13d
lea r9, [rbp + 0x48]
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, rdi
call fcn.1402ca7e0
mov r13d, dword [rbp + 0x48]
mov ebx, eax
mov r8, qword [rbp + 0x58]
test r13d, r13d
jne 0x1402c5d57
mov eax, dword [rdi + 0xb8]
add rax, qword [rdi + 0x68]
cmp rax, qword [r14]
jne 0x1402c5d57
mov rcx, qword [rdi + 0xc0]
mov rax, r8
sub rax, qword [r14]
add rcx, 8
cqo
idiv rcx
mov r13, rax
mov dword [rbp + 0x48], eax
xor r15d, r15d
test ebx, ebx
jne 0x1402c5d9c
cmp r15d, r13d
jae 0x1402c5cf6
cmp qword [r14], r8
jge 0x1402c5d91
mov r9d, 1
mov dword [rsp + 0x20], 1
mov r8, r12
mov rdx, r14
mov rcx, rdi
call fcn.1402c6d44
mov r8, qword [rbp + 0x58]
inc r15d
mov ebx, eax
test eax, eax
je 0x1402c5d5e
xor r13d, r13d
test ebx, ebx
je 0x1402c5cf9
xor r13d, r13d
mov edx, ebx
test rsi, rsi
je 0x1402c5eb3
mov rcx, qword [rdi + 0xc0]
mov eax, dword [rsi + 0x1c]
add rcx, 4
mov rbx, qword [rdi + 0x120]
imul rcx, rax
mov qword [rbp - 0x20], rcx
test rbx, rbx
je 0x1402c5e83
mov eax, dword [rbx + 0x88]
cmp dword [rsi + 0x30], eax
je 0x1402c5de8
mov dword [rsi + 0x24], r13d
mov eax, dword [rbx + 0x88]
mov dword [rsi + 0x30], eax
mov ecx, dword [rsi + 0x24]
cmp ecx, dword [rbx + 0x58]
jae 0x1402c5e7b
mov dword [rbx + 0x58], ecx
mov eax, dword [rsi + 0x28]
mov dword [rbx + 0x60], eax
mov eax, dword [rsi + 0x2c]
mov dword [rbx + 0x64], eax
test ecx, ecx
je 0x1402c5e7b
lea edx, [rcx + 0x1000]
mov rcx, rbx
sub rdx, 0xfdf
lea r8, [rbp - 0x18]
shr rdx, 0xc
call fcn.14032345c
test eax, eax
jne 0x1402c5e7b
mov r9d, dword [rbx + 0x58]
mov r10d, 0x2000
mov rdx, qword [rbp - 0x18]
sub r9d, dword [rbp - 8]
mov r8, rdx
movzx eax, word [rdx]
cmp eax, r9d
jle 0x1402c5e49
mov word [r8], r13w
add r8, 2
add rdx, 2
sub r10, 1
jne 0x1402c5e3d
mov edx, dword [rbp - 0x18]
lea eax, [r9*4]
mov rcx, qword [rbp - 0x10]
sub edx, eax
sub edx, ecx
movsxd rax, r9d
movsxd r8, edx
xor edx, edx
lea rcx, [rcx + rax*4]
call sub.VCRUNTIME140.dll_memset
mov esi, dword [rsi + 0x1c]
mov ebx, r13d
jmp 0x1402c5e8c
mov esi, dword [rsi + 0x1c]
mov ebx, edx
test edx, edx
jne 0x1402c5eb3
cmp esi, dword [rdi + 0x3c]
jae 0x1402c5eb3
xor r9d, r9d
mov dword [rsp + 0x20], 1
mov r8, r12
lea rdx, [rbp - 0x20]
mov rcx, rdi
call fcn.1402c6d44
inc esi
mov ebx, eax
test eax, eax
je 0x1402c5e8c
mov rcx, r12
call fcn.1402d72cc
test ebx, ebx
jne 0x1402c5ec6
mov rax, qword [rbp + 0x58]
mov qword [r14], rax
mov eax, ebx
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret