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

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0xf]
sub rsp, 0xc0
mov rax, qword [rcx]
mov r15, rcx
lea rcx, [0x1402648d0]
mov r12d, 1
mov esi, r12d
mov ebx, r8d
mov r10d, dword [rax + 0x5c]
cmp r10d, 1
lea rax, [0x140264a00]
cmovne rax, rcx
lea rcx, [0x140275d40]
mov qword [rbp - 0x21], rax
lea rax, [0x140276620]
cmovne rax, rcx
mov ecx, 0x78
mov qword [rbp - 0x19], rax
mov eax, 0xf
cmovne esi, eax
mov eax, 0x20
cmovne eax, ecx
mov dword [rbp - 0x61], esi
mov edx, eax
mov qword [rbp - 9], rax
shl rdx, 4
lea rcx, [r15 + 0x3c]
call fcn.1402d76b0
cmp qword [r15 + 0x90], 0
mov rdi, rax
mov qword [rbp - 0x29], rax
jne 0x14027c570
mov rcx, r15
call fcn.14026f130
cmp dword [r15 + 0x3c], 0
mov qword [r15 + 0x88], rax
jne 0x14027c577
mov rcx, r15
call fcn.1402815f0
mov qword [r15 + 0x90], rax
cmp dword [r15 + 0x3c], 0
je 0x14027c57b
xor eax, eax
jmp 0x14027c58b
mov rax, qword [r15 + 0x90]
inc dword [rax]
mov rax, qword [r15 + 0x90]
mov qword [rbp - 0x39], rax
test rdi, rdi
je 0x14027cecc
test rax, rax
je 0x14027cecc
xor r14d, r14d
mov qword [rsp + 0xb8], r13
mov r13, qword [rbp + 0x77]
xorps xmm0, xmm0
mov qword [rbp - 0x41], r14
mov dword [rbp - 0x31], r12d
movups xmmword [rbp - 0x51], xmm0
test ebx, ebx
je 0x14027c87f
mov rcx, qword [rbp + 0x67]
lea rax, [rbp - 0x41]
mov rdx, qword [rbp - 0x39]
lea r8d, [r14 + 0x30]
mov qword [rsp + 0x40], rax
mov r9, r13
mov eax, dword [rbp + 0x6f]
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], 0xffffffff
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov byte [rcx], 0x30
mov rcx, r15
call fcn.140277270
mov rdi, qword [rbp - 0x41]
lea rcx, [r15 + 0x3c]
mov rdx, rdi
call fcn.140274fe0
mov rsi, qword [rbp - 0x21]
cmp dword [r15 + 0x3c], 0
jne 0x14027c66c
cmp byte [rdi + 0x14], 0
jne 0x14027c66c
mov rax, qword [rdi + 0x58]
movzx ecx, word [rax + 4]
imul rdx, rcx, 0x88
mov rcx, rdi
add rdx, 0x60
add rdx, rdi
call qword [rdi + 0x38]
cmp dword [rdi + 0x10], 0
je 0x14027c65b
mov rdx, qword [rdi]
lea r9, [rbp - 0x51]
sub rdx, r14
mov r8, rdi
mov rcx, r15
call rsi
mov r14, qword [rdi]
lea r8, [rbp - 0x11]
mov rdx, rdi
mov rcx, r15
call fcn.140277840
jmp 0x14027c617
mov esi, dword [rbp - 0x61]
test rdi, rdi
je 0x14027c87f
xor r15d, r15d
cmp dword [rdi + 0x40], r15d
jle 0x14027c81b
lea rbx, [rdi + 0x70]
nop dword [rax]
lea rcx, [rbx + 0x58]
call fcn.1402d1140
mov rsi, qword [rbx]
test rsi, rsi
je 0x14027c6fc
cmp dword [0x14046b030], 0
je 0x14027c6f3
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027c6bc
call qword [0x14046b0b0]
mov rcx, rsi
call qword [0x14046b068]
dec qword [0x140473788]
mov rcx, rsi
movsxd rdx, eax
sub qword [0x140473740], rdx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027c703
call qword [0x14046b0c0]
jmp 0x14027c6fc
mov rcx, rsi
call qword [0x14046b058]
mov rcx, qword [0x140473800]
mov rsi, qword [rbx + 8]
test rsi, rsi
je 0x14027c760
cmp dword [0x14046b030], 0
je 0x14027c757
test rcx, rcx
je 0x14027c720
call qword [0x14046b0b0]
mov rcx, rsi
call qword [0x14046b068]
dec qword [0x140473788]
mov rcx, rsi
movsxd rdx, eax
sub qword [0x140473740], rdx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027c760
call qword [0x14046b0c0]
jmp 0x14027c760
mov rcx, rsi
call qword [0x14046b058]
mov edx, dword [rbx + 0x20]
mov rcx, qword [rbx + 0x18]
call fcn.14026f600
mov rcx, qword [rbx + 0x50]
call fcn.140267370
mov rsi, qword [rbx + 0x48]
test rsi, rsi
je 0x14027c7d9
cmp dword [0x14046b030], 0
je 0x14027c7d0
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027c799
call qword [0x14046b0b0]
mov rcx, rsi
call qword [0x14046b068]
dec qword [0x140473788]
mov rcx, rsi
movsxd rdx, eax
sub qword [0x140473740], rdx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027c7d9
call qword [0x14046b0c0]
jmp 0x14027c7d9
mov rcx, rsi
call qword [0x14046b058]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx - 0x10], xmm0
inc r15d
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
movups xmmword [rbx + 0x40], xmm0
movups xmmword [rbx + 0x50], xmm0
movups xmmword [rbx + 0x60], xmm0
mov qword [rbx + 0x70], rax
add rbx, 0x88
cmp r15d, dword [rdi + 0x40]
jl 0x14027c690
mov ebx, dword [rbp + 0x5f]
mov esi, dword [rbp - 0x61]
lea rcx, [rdi + 0x20]
call fcn.1402d1140
cmp dword [0x14046b030], 0
je 0x14027c876
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027c83f
call qword [0x14046b0b0]
mov rcx, rdi
call qword [0x14046b068]
dec qword [0x140473788]
mov rcx, rdi
movsxd rdx, eax
sub qword [0x140473740], rdx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027c87f
call qword [0x14046b0c0]
jmp 0x14027c87f
mov rcx, rdi
call qword [0x14046b058]
mov rcx, qword [rbp + 0x67]
lea rax, [rbp - 0x41]
mov rdx, qword [rbp - 0x39]
mov r9, r13
mov r13, qword [rbp + 0x4f]
add bl, 0x30
mov qword [rsp + 0x40], rax
mov r8d, 0x38
mov eax, dword [rbp + 0x6f]
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0xffffffff
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov byte [rcx], bl
mov rcx, r13
call fcn.140277270
mov r15, qword [rbp - 0x41]
lea rdi, [r13 + 0x3c]
mov rdx, r15
mov rcx, rdi
call fcn.140274fe0
mov rdx, r15
mov rcx, r13
call fcn.140276f20
test eax, eax
jne 0x14027ca7d
nop dword [rax]
mov rax, qword [r15 + 0x58]
movzx ecx, word [rax + 4]
imul rdx, rcx, 0x88
mov rcx, r15
add rdx, 0x60
add rdx, r15
mov ebx, dword [rdx + 0x70]
mov rdi, qword [rdx + 0x68]
call qword [r15 + 0x38]
test r12d, r12d
je 0x14027c93c
movsxd rax, dword [rbp + 0x6f]
cmp ebx, eax
jl 0x14027ca79
mov rcx, qword [rbp + 0x67]
mov r8, rax
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14027ca79
cmp dword [r15 + 0x10], 0
je 0x14027ca52
cmp qword [r15], r14
jg 0x14027ca3c
cmp dword [rbp - 0x49], 0
jle 0x14027ca3c
xor r10d, r10d
lea rax, [r13 + 0x3c]
mov r14d, r10d
cmp dword [rax], r10d
jne 0x14027ca39
mov r15, qword [rbp - 0x29]
cmp dword [rbp - 0x49], 0
je 0x14027ca35
mov edx, esi
imul edx, r14d
movsxd rdi, edx
mov r8, rdi
lea r9d, [rsi + rdx]
movsxd rbx, r9d
cmp rdi, rbx
jge 0x14027c9d6
mov rcx, rdi
shl rcx, 4
add rcx, 8
add rcx, r15
cmp dword [rcx], 0
je 0x14027c9b6
inc edx
inc r8
add rcx, 0x10
cmp r8, rbx
jl 0x14027c9a1
jmp 0x14027c9d2
movaps xmm1, xmmword [rbp - 0x51]
movsxd rax, edx
add rax, rax
movups xmm0, xmmword [r15 + rax*8]
movups xmmword [r15 + rax*8], xmm1
movups xmmword [rbp - 0x51], xmm0
mov dword [rbp - 0x49], r10d
lea rax, [r13 + 0x3c]
cmp edx, r9d
jne 0x14027ca29
mov r8d, dword [rbp - 0x61]
lea rdx, [rbp - 0x51]
mov rsi, rdi
mov rcx, r13
shl rsi, 4
add rsi, r15
mov r9, rsi
call qword [rbp - 0x19]
cmp rdi, rbx
jge 0x14027ca1f
sub rbx, rdi
lea rax, [rsi + 8]
xor r10d, r10d
nop word [rax + rax]
mov dword [rax], r10d
lea rax, [rax + 0x10]
sub rbx, 1
jne 0x14027ca10
jmp 0x14027ca22
xor r10d, r10d
mov esi, dword [rbp - 0x61]
lea rax, [r13 + 0x3c]
inc r14d
cmp dword [rax], 0
je 0x14027c971
mov r15, qword [rbp - 0x41]
mov r14, r10
mov rdx, qword [r15]
lea r9, [rbp - 0x51]
sub rdx, r14
mov r8, r15
mov rcx, r13
call qword [rbp - 0x21]
mov r14, qword [r15]
lea r8, [rbp - 0x31]
mov rdx, r15
mov rcx, r13
call fcn.140277840
mov rdx, r15
mov rcx, r13
call fcn.140276f20
test eax, eax
jne 0x14027ca79
mov r12d, dword [rbp - 0x31]
jmp 0x14027c8f0
lea rdi, [r13 + 0x3c]
mov r12d, dword [rbp - 0x61]
xor esi, esi
mov r15, qword [rbp - 0x29]
mov r14, qword [rbp - 9]
nop dword [rax + rax]
cmp dword [rdi], 0
movsxd rbx, esi
jne 0x14027caaf
mov r9, rbx
lea rdx, [rbp - 0x51]
shl r9, 4
mov r8d, r12d
add r9, r15
mov rcx, r13
call qword [rbp - 0x19]
lea eax, [r12 + rsi]
cmp esi, eax
jge 0x14027cad8
shl rbx, 4
add rbx, r15
sub eax, esi
mov edi, eax
mov rcx, rbx
call fcn.1402d1140
add rbx, 0x10
sub rdi, 1
jne 0x14027cac2
lea rdi, [r13 + 0x3c]
add esi, r12d
cmp esi, r14d
jl 0x14027ca90
mov r15, qword [rbp - 0x41]
test r15, r15
je 0x14027cce8
xor esi, esi
cmp dword [r15 + 0x40], esi
jle 0x14027cc84
lea rbx, [r15 + 0x70]
nop dword [rax]
lea rcx, [rbx + 0x58]
call fcn.1402d1140
mov rdi, qword [rbx]
test rdi, rdi
je 0x14027cb6c
cmp dword [0x14046b030], 0
je 0x14027cb63
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027cb2c
call qword [0x14046b0b0]
mov rcx, rdi
call qword [0x14046b068]
dec qword [0x140473788]
mov rcx, rdi
movsxd rdx, eax
sub qword [0x140473740], rdx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027cb73
call qword [0x14046b0c0]
jmp 0x14027cb6c
mov rcx, rdi
call qword [0x14046b058]
mov rcx, qword [0x140473800]
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x14027cbd0
cmp dword [0x14046b030], 0
je 0x14027cbc7
test rcx, rcx
je 0x14027cb90
call qword [0x14046b0b0]
mov rcx, rdi
call qword [0x14046b068]
dec qword [0x140473788]
mov rcx, rdi
movsxd rdx, eax
sub qword [0x140473740], rdx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027cbd0
call qword [0x14046b0c0]
jmp 0x14027cbd0
mov rcx, rdi
call qword [0x14046b058]
mov edx, dword [rbx + 0x20]
mov rcx, qword [rbx + 0x18]
call fcn.14026f600
mov rcx, qword [rbx + 0x50]
call fcn.140267370
mov rdi, qword [rbx + 0x48]
test rdi, rdi
je 0x14027cc49
cmp dword [0x14046b030], 0
je 0x14027cc40
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027cc09
call qword [0x14046b0b0]
mov rcx, rdi
call qword [0x14046b068]
dec qword [0x140473788]
mov rcx, rdi
movsxd rdx, eax
sub qword [0x140473740], rdx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027cc49
call qword [0x14046b0c0]
jmp 0x14027cc49
mov rcx, rdi
call qword [0x14046b058]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx - 0x10], xmm0
inc esi
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
movups xmmword [rbx + 0x40], xmm0
movups xmmword [rbx + 0x50], xmm0
movups xmmword [rbx + 0x60], xmm0
mov qword [rbx + 0x70], rax
add rbx, 0x88
cmp esi, dword [r15 + 0x40]
jl 0x14027cb00
lea rcx, [r15 + 0x20]
call fcn.1402d1140
cmp dword [0x14046b030], 0
je 0x14027ccdf
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027cca8
call qword [0x14046b0b0]
mov rcx, r15
call qword [0x14046b068]
dec qword [0x140473788]
mov rcx, r15
movsxd rdx, eax
sub qword [0x140473740], rdx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027cce8
call qword [0x14046b0c0]
jmp 0x14027cce8
mov rcx, r15
call qword [0x14046b058]
movsxd rdx, dword [rbp - 0x49]
lea rcx, [r13 + 0x3c]
add rdx, 0x18
call fcn.1402d76b0
mov rbx, rax
test rax, rax
je 0x14027ce40
lea rcx, [rax + 0x10]
mov qword [rax], rcx
mov eax, dword [rbp - 0x49]
mov dword [rbx + 0xc], eax
mov eax, dword [rbp - 0x49]
mov dword [rbx + 8], eax
movsxd rax, dword [rbp - 0x49]
test eax, eax
je 0x14027cd2c
mov rdx, qword [rbp - 0x51]
mov r8, rax
call sub.VCRUNTIME140.dll_memcpy
mov edx, 2
mov rcx, r13
call fcn.140276d80
mov rsi, rax
test rax, rax
je 0x14027cde5
lea rdi, [rax + 0xe8]
mov r14d, 1
mov dword [rdi + 8], r14d
cmp dword [rbx + 0xc], 0
jle 0x14027cda8
mov qword [rdi + 0x10], rbx
lea rdx, [rdi + 0x78]
mov rcx, qword [rbx]
call fcn.1402d4020
cmp dword [rbp + 0x57], 0
mov rdx, rdi
movzx eax, al
mov rcx, r13
mov qword [rdi + 0x20], rax
mov eax, dword [rbx + 8]
mov dword [rdi + 0x4c], eax
mov rax, qword [rsi + 0x58]
mov word [rax + 4], r14w
je 0x14027cd9f
mov dword [rsi + 0x44], r14d
or dword [rdi + 8], 2
call fcn.14027bb80
xor ebx, ebx
jmp 0x14027cdac
call fcn.14027ace0
xor ebx, ebx
jmp 0x14027cdac
mov byte [rax + 0x14], r14b
test byte [rdi + 8], 2
je 0x14027cdbb
lea rcx, [0x14027b780]
jmp 0x14027cdd5
mov rax, qword [r13]
lea rcx, [0x14027afc0]
lea rdx, [0x14027b530]
cmp dword [rax + 0x5c], r14d
cmove rcx, rdx
mov rax, qword [rbp + 0x7f]
mov qword [rdi + 0x38], rcx
mov qword [rax], rsi
test rbx, rbx
je 0x14027ce40
cmp dword [0x14046b030], 0
je 0x14027ce37
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027ce00
call qword [0x14046b0b0]
mov rcx, rbx
call qword [0x14046b068]
dec qword [0x140473788]
mov rcx, rbx
movsxd rdx, eax
sub qword [0x140473740], rdx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027ce47
call qword [0x14046b0c0]
jmp 0x14027ce40
mov rcx, rbx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
mov rbx, qword [rbp - 0x51]
mov r13, qword [rsp + 0xb8]
test rbx, rbx
je 0x14027cec8
cmp dword [0x14046b030], 0
je 0x14027ceb0
test rcx, rcx
je 0x14027ce6c
call qword [0x14046b0b0]
mov rcx, rbx
call qword [0x14046b068]
dec qword [0x140473788]
mov rcx, rbx
movsxd rdx, eax
sub qword [0x140473740], rdx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027cea1
call qword [0x14046b0c0]
mov rcx, qword [rbp - 0x39]
call fcn.1402817f0
mov rdi, qword [rbp - 0x29]
jmp 0x14027ceda
mov rcx, rbx
call qword [0x14046b058]
mov rcx, qword [rbp - 0x39]
call fcn.1402817f0
mov rdi, qword [rbp - 0x29]
jmp 0x14027ceda
mov rdi, qword [rbp - 0x29]
mov rcx, qword [rbp - 0x39]
call fcn.1402817f0
test rdi, rdi
je 0x14027cf35
cmp dword [0x14046b030], 0
je 0x14027cf2c
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027cef5
call qword [0x14046b0b0]
mov rcx, rdi
call qword [0x14046b068]
dec qword [0x140473788]
movsxd rcx, eax
sub qword [0x140473740], rcx
mov rcx, rdi
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14027cf35
call qword [0x14046b0c0]
jmp 0x14027cf35
mov rcx, rdi
call qword [0x14046b058]
add rsp, 0xc0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret