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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov rax, qword [rdx + 0x138]
mov rbx, rdx
mov qword [rcx + 0xb8], rax
mov rdi, rcx
mov r15d, dword [rdx + 0x34]
mov r13d, 1
and qword [rdx + 0x138], 0
mov rax, qword [rcx]
mov esi, dword [rdx + 0x38]
mov qword [rsp + 0x30], rax
add esi, r15d
movsx eax, word [rdx + 0x120]
mov word [rsp + 0x90], ax
mov dword [rsp + 0x98], eax
mov eax, dword [rdx + 0x80]
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xa0], r15d
test r15d, r15d
jne 0x1402c694c
test esi, esi
jle 0x1402c694c
add esi, r13d
mov eax, dword [rcx + 0x98]
lea ecx, [rax + rax*2]
mov eax, dword [rdx + 0x3c]
shl ecx, 3
lea rdx, [rsp + 0xa8]
movsxd r12, ecx
sub eax, ecx
add r12, qword [rdi + 0x90]
mov rcx, rdi
movsxd rbp, eax
mov qword [rsp + 0x38], r12
and rbp, 0xfffffffffffffff8
call fcn.140283194
xor r9d, r9d
cmp byte [rbx + 0x20], r9b
je 0x1402c6996
lea eax, [r9 + 0x40]
cmp byte [rbx + 0x21], r9b
jne 0x1402c6999
mov eax, r9d
mov ecx, dword [rdi + 0xd0]
and ecx, 0xffffffbf
or ecx, eax
mov dword [rdi + 0xd0], ecx
movzx eax, byte [rbx + 0x123]
test al, al
je 0x1402c6a4d
mov edx, 0xa
cmp esi, edx
cmovl esi, edx
shl eax, 2
xor eax, ecx
lea r15d, [rdx + 2]
and eax, r15d
lea edx, [r15 - 8]
xor eax, ecx
lea r13d, [r15 - 4]
mov dword [rdi + 0xd0], eax
mov rcx, rdi
mov bl, byte [rbx + 0x123]
cmp bl, 2
cmovne edx, r13d
call fcn.1402c88f8
cmp bl, 2
lea r9d, [r15 - 0xc]
mov r14d, r13d
cmovne r14d, r9d
cmovne r15d, r13d
cmp r14, r15
jae 0x1402c6a45
xor r12d, r12d
lea r13d, [r9 + 1]
mov ebx, r12d
lea r9, str.addr
mov qword [rsp + 0x20], r12
mov r9, qword [r9 + r14*8]
xor r8d, r8d
mov edx, ebx
mov rcx, rdi
call fcn.1402c88b8
add r14, r13
add ebx, r13d
cmp r14, r15
jl 0x1402c6a15
mov r12, qword [rsp + 0x38]
xor r9d, r9d
mov r15d, dword [rsp + 0xa0]
and dword [rdi + 0xd0], 0xfffffffc
mov rdx, r9
movsxd rax, esi
imul r14, rax, 0x38
cmp r14, rbp
jg 0x1402c6a71
mov rdx, r12
mov rbx, r9
sub rdx, r14
add rdx, rbp
jmp 0x1402c6a74
mov rbx, r14
movsxd r8, dword [rsp + 0x98]
mov rcx, rbp
sub rcx, r14
mov qword [rdi + 0x70], rdx
cmp r14, rbp
mov rdx, r9
cmovg rcx, rbp
imul r13, r8, 0x38
cmp r13, rcx
jg 0x1402c6aa2
sub rcx, r13
lea rdx, [rcx + r12]
jmp 0x1402c6aa5
add rbx, r13
movsxd rbp, dword [rsp + 0xa8]
mov rax, r9
shl rbp, 3
mov qword [rdi + 0x88], rdx
cmp rbp, rcx
jg 0x1402c6acb
mov rax, r12
sub rax, rbp
add rax, rcx
jmp 0x1402c6ace
add rbx, rbp
mov rdx, rcx
movsxd r15, r15d
sub rdx, rbp
mov qword [rdi + 0x78], rax
cmp rbp, rcx
mov rax, r9
cmovg rdx, rcx
shl r15, 3
cmp r15, rdx
jg 0x1402c6af9
mov rax, r12
sub rax, r15
add rax, rdx
jmp 0x1402c6afc
add rbx, r15
mov r12, qword [rsp + 0x30]
mov qword [rdi + 0x80], rax
test rbx, rbx
je 0x1402c6baa
mov rdx, rbx
mov rcx, r12
call fcn.1402939a4
xor r9d, r9d
mov qword [rdi + 0x108], rax
mov rcx, rax
cmp byte [r12 + 0x67], r9b
jne 0x1402c6ba2
mov rax, qword [rdi + 0x70]
test rax, rax
jne 0x1402c6b45
cmp r14, rbx
jg 0x1402c6b45
sub rbx, r14
lea rax, [rcx + rbx]
mov qword [rdi + 0x70], rax
mov rax, qword [rdi + 0x88]
test rax, rax
jne 0x1402c6b61
cmp r13, rbx
jg 0x1402c6b61
sub rbx, r13
lea rax, [rbx + rcx]
mov qword [rdi + 0x88], rax
mov rax, qword [rdi + 0x78]
test rax, rax
jne 0x1402c6b7d
cmp rbp, rbx
jg 0x1402c6b7d
sub rbx, rbp
lea rax, [rbx + rcx]
mov qword [rdi + 0x78], rax
mov rax, qword [rdi + 0x80]
test rax, rax
jne 0x1402c6b9b
cmp r15, rbx
jg 0x1402c6b9b
mov rax, rcx
sub rax, r15
add rax, rbx
mov qword [rdi + 0x80], rax
mov r8d, dword [rsp + 0x98]
mov ebx, 1
cmp byte [r12 + 0x67], r9b
je 0x1402c6bc2
and qword [rdi + 0x28], 0
mov word [rdi + 0x20], r9w
jmp 0x1402c6c39
mov eax, dword [rsp + 0xa0]
mov dword [rdi + 0x2c], eax
movzx eax, word [rsp + 0x90]
mov word [rdi + 0x20], ax
mov rax, qword [rdi + 0x88]
test r8d, r8d
jle 0x1402c6bff
add rax, 8
sub r8d, ebx
mov qword [rax + 0x20], r12
mov word [rax], bx
mov dword [rax + 0x18], r9d
lea rax, [rax + 0x38]
test r8d, r8d
jg 0x1402c6be8
mov rax, qword [rdi + 0x70]
mov dword [rdi + 0x28], esi
test esi, esi
jle 0x1402c6c25
add rax, 8
sub esi, ebx
mov qword [rax + 0x20], r12
mov word [rax], 0x80
mov dword [rax + 0x18], r9d
lea rax, [rax + 0x38]
test esi, esi
jg 0x1402c6c0e
mov rcx, qword [rdi + 0x80]
mov r8, r15
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xor r9d, r9d
or dword [rdi + 0x34], 0xffffffff
mov dword [rdi + 0x24], 0x2df20da3
mov dword [rdi + 0x38], r9d
mov word [rdi + 0xca], 0xff02
mov qword [rdi + 0x40], r9
mov dword [rdi + 0x30], ebx
mov dword [rdi + 0x48], r9d
mov qword [rdi + 0x58], r9
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret