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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x30
xor r13d, r13d
mov rsi, rdx
mov r14, rcx
test rdx, rdx
jne 0x1401c80ab
mov ebp, r13d
jmp 0x1401c80e2
movzx ecx, word [rdx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1401c80cb
cmp byte [rsi + 0x16], 1
jne 0x1401c80cb
mov rbp, qword [rsi + 8]
jmp 0x1401c80e2
test cl, 1
je 0x1401c80d5
mov rbp, r13
jmp 0x1401c80e2
mov dl, 1
mov rcx, rsi
call fcn.140127f50
mov rbp, rax
mov eax, 0x14
mov qword [rsp + 0x70], r15
add rax, rsi
mov r10, rsi
mov qword [rsp + 0x28], rax
movzx ecx, word [rax]
test cl, 2
je 0x1401c810b
cmp byte [rsi + 0x16], 1
jne 0x1401c810b
mov r15d, dword [rsi + 0x10]
jmp 0x1401c8137
test cl, 0x10
je 0x1401c8120
bt cx, 0xa
mov r15d, dword [rsi + 0x10]
jae 0x1401c8137
add r15d, dword [rsi]
jmp 0x1401c8137
test cl, 1
je 0x1401c812a
mov r15d, r13d
jmp 0x1401c8137
mov dl, 1
mov rcx, rsi
call fcn.140128660
mov r15d, eax
mov dword [rsp + 0x20], r13d
mov r8d, 0xffffffff
mov dword [rsp + 0x78], r8d
mov rdi, r13
mov r12d, r13d
test rbp, rbp
je 0x1401c850d
nop word [rax + rax]
mov rax, qword [r14 + 0x18]
lea edx, [r13 - 0x68f72]
mov rcx, qword [rax + 0x128]
test rcx, rcx
je 0x1401c8191
cmp dword [rcx + 4], edx
jne 0x1401c8188
mov eax, dword [r14 + 0x20]
cmp dword [rcx], eax
je 0x1401c81b3
test edx, edx
js 0x1401c81b3
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1401c8177
mov dword [rsp + 0x20], r13d
test rdi, rdi
je 0x1401c826f
lea ecx, [r12 + 1]
mov byte [rdi + 0x32], 0
mov dword [rdi + 0x4c], ecx
mov rax, rdi
jmp 0x1401c850f
mov rbx, qword [rcx + 8]
test rbx, rbx
je 0x1401c8191
test rdi, rdi
jne 0x1401c823c
cmp dword [rbx + 0x3c], r15d
jne 0x1401c8202
cmp byte [rbx + 0x37], dil
je 0x1401c81d8
mov eax, dword [rsp + 0x88]
test eax, eax
jne 0x1401c8209
mov rcx, qword [rbx + 0x10]
cmp rcx, rbp
je 0x1401c81f5
movsxd r8, r15d
mov rdx, rbp
call sub.VCRUNTIME140.dll_memcmp
mov r8d, dword [rsp + 0x78]
test eax, eax
jne 0x1401c8202
mov byte [rbx + 0x32], 0
mov rdi, rbx
mov byte [rbx + 0x36], 0
jmp 0x1401c8250
mov eax, dword [rsp + 0x88]
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1401c823c
test eax, eax
jne 0x1401c823c
cmp dword [rbx + 0x40], r15d
jne 0x1401c823c
movsxd r8, r15d
mov rdx, rbp
call sub.VCRUNTIME140.dll_memcmp
mov r8d, dword [rsp + 0x78]
test eax, eax
jne 0x1401c823c
mov byte [rbx + 0x32], al
mov rdi, rbx
mov byte [rbx + 0x36], 1
jmp 0x1401c8250
mov eax, dword [rbx + 0x4c]
cmp eax, r8d
jae 0x1401c8250
mov r8d, eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x20], r13d
mov eax, dword [rbx + 0x4c]
cmp eax, r12d
cmovbe eax, r12d
inc r13d
mov r12d, eax
cmp r13d, 4
jl 0x1401c8160
jmp 0x1401c8196
mov rax, qword [rsp + 0x28]
mov edx, 0xc
movzx eax, word [rax]
lea edi, [rdx - 0xb]
test al, 0x12
setne cl
bt ax, dx
setb al
test al, cl
je 0x1401c82a3
lea rax, [fcn.1400ff1b0]
cmp qword [rsi + 0x30], rax
jne 0x1401c82a3
mov ebx, edi
xor r13d, r13d
jmp 0x1401c82a9
xor r13d, r13d
mov ebx, r13d
lea esi, [r15 + 1]
call fcn.1401be750
test eax, eax
jne 0x1401c84dd
mov eax, r13d
test ebx, ebx
cmove eax, esi
movsxd rcx, eax
add rcx, 0x50
call fcn.1400fbf20
mov rdi, rax
test rax, rax
je 0x1401c84d8
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
test ebx, ebx
je 0x1401c8302
inc qword [rbp - 8]
mov qword [rax + 0x10], rbp
mov byte [rax + 0x34], 1
jmp 0x1401c8315
lea rcx, [rax + 0x50]
movsxd r8, esi
mov rdx, rbp
mov qword [rax + 0x10], rcx
call sub.VCRUNTIME140.dll_memcpy
mov rbx, qword [rsp + 0x80]
mov rcx, rdi
mov rdx, rbx
mov dword [rdi + 0x38], 1
call fcn.1401c7e70
test eax, eax
je 0x1401c83c9
test rbx, rbx
jne 0x1401c8348
mov byte [rdi + 0x32], 1
mov rax, rdi
jmp 0x1401c850f
mov eax, dword [rdi + 0x38]
cmp eax, 1
jbe 0x1401c835a
dec eax
mov dword [rdi + 0x38], eax
jmp 0x1401c850d
mov rcx, rdi
call fcn.1401c5900
cmp dword [0x140249880], 0
je 0x1401c83bb
mov rcx, qword [0x14024f058]
test rcx, rcx
je 0x1401c837d
call qword [0x140249900]
mov rcx, rdi
call qword [0x1402498b8]
dec qword [0x14024ee58]
movsxd rcx, eax
sub qword [0x14024ee10], rcx
mov rcx, rdi
call qword [0x1402498a8]
mov rcx, qword [0x14024f058]
test rcx, rcx
je 0x1401c850d
call qword [0x140249910]
jmp 0x1401c850d
mov rcx, rdi
call qword [0x1402498a8]
jmp 0x1401c850d
mov esi, dword [rsp + 0x20]
lea eax, [r12 + 1]
mov dword [rdi + 0x4c], eax
add esi, 0xfff9708e
mov dword [rdi + 0x3c], r15d
mov r15, qword [r14 + 0x18]
mov rbx, qword [r15 + 0x128]
test rbx, rbx
je 0x1401c840a
nop
cmp dword [rbx + 4], esi
jne 0x1401c8401
mov eax, dword [r14 + 0x20]
cmp dword [rbx], eax
je 0x1401c841e
test esi, esi
js 0x1401c841e
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x1401c83f0
mov rcx, qword [r15]
test rcx, rcx
je 0x1401c843e
mov edx, 0x20
call fcn.1400fc6d0
jmp 0x1401c8448
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1401c8484
mov rcx, qword [rbx + 8]
call rax
lea rax, [fcn.1401c5aa0]
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rax
jmp 0x1401c849d
mov ecx, 0x20
call fcn.1400fbf20
mov rbx, rax
test rax, rax
je 0x1401c8495
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov eax, dword [r14 + 0x20]
mov dword [rbx], eax
mov dword [rbx + 4], esi
mov rax, qword [r15 + 0x128]
mov qword [rbx + 0x18], rax
mov qword [r15 + 0x128], rbx
cmp dword [r14 + 0x24], 0
jne 0x1401c8484
mov dword [r14 + 0x24], 0xffffffff
lea rax, [fcn.1401c5aa0]
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rax
jmp 0x1401c849d
mov rcx, rdi
call fcn.1401c5aa0
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + 0x128]
test rcx, rcx
je 0x1401c84d3
nop dword [rax]
cmp dword [rcx + 4], esi
jne 0x1401c84c1
mov eax, dword [r14 + 0x20]
cmp dword [rcx], eax
je 0x1401c84cf
test esi, esi
js 0x1401c84cf
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1401c84b0
mov rax, r13
jmp 0x1401c850f
mov r13, qword [rcx + 8]
mov rax, r13
jmp 0x1401c850f
mov edi, 1
mov rax, qword [r14]
mov ecx, 0x9000
test word [rax + 0x14], cx
je 0x1401c84f5
mov rcx, rax
call fcn.140127070
jmp 0x1401c84f9
mov word [rax + 0x14], di
mov rcx, qword [r14]
mov dword [r14 + 0x24], 7
mov rcx, qword [rcx + 0x18]
call fcn.1400fc9e0
xor eax, eax
mov r15, qword [rsp + 0x70]
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret