Function at 0x14027ba80
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1160
call fcn.14028b850
sub rsp, rax
mov rax, qword [0x1403710d8]
xor rax, rsp
mov qword [rsp + 0x1150], rax
xor esi, esi
xor r15d, r15d
mov ebx, edx
mov r12, rcx
test rcx, rcx
jne 0x14027bac6
lea edi, [rcx + 1]
jmp 0x14027bebc
cmp qword [rcx + 0x18], rsi
jne 0x14027badb
call fcn.14027b3d0
mov edi, eax
test eax, eax
jne 0x14027be5b
movsxd rsi, dword [r12 + 0x20]
mov dword [rsp + 0x34], esi
lea edi, [rsi*8 + 8]
mov ecx, edi
call fcn.14027cfd0
mov r15, rax
test rax, rax
jne 0x14027bb04
mov edi, 0x22100004
jmp 0x14027be5b
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.14027dfa0
lea edi, [rsi + rsi*2]
shl edi, 3
mov ecx, edi
call fcn.14027cfd0
mov qword [r12 + 0x30], rax
test rax, rax
jne 0x14027bb32
mov edi, 0x22100004
jmp 0x14027be5b
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.14027dfa0
mov r8d, ebx
lea rdx, [0x1402bb058]
lea rcx, [rsp + 0x88]
and r8d, 0xffffff
call qword [sym.imp.MSVCR90.dll_sprintf]
mov rcx, qword [r12]
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x88]
xor edx, edx
call fcn.14027d940
mov edi, eax
test eax, eax
jne 0x14027be5b
and ebx, 0xff000000
lea rdx, str._08x
lea rcx, [rsp + 0x88]
mov r8d, ebx
call qword [sym.imp.MSVCR90.dll_sprintf]
mov rcx, qword [r12]
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x88]
xor edx, edx
call fcn.14027d940
mov edi, eax
test eax, eax
jne 0x14027be5b
xor ebx, ebx
xor r14d, r14d
mov qword [rsp + 0x58], rsi
mov dword [rsp + 0x30], ebx
test esi, esi
jle 0x14027be46
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], r15
mov rax, qword [r12 + 0x18]
lea rdi, str.hash
mov r13, qword [rax + r14*8]
mov rcx, r13
call fcn.14027c9b0
cmp eax, 0x24
jae 0x14027bee9
xor ecx, ecx
movsxd rdx, eax
test eax, eax
jle 0x14027bc22
nop word [rax + rax]
movzx eax, byte [r13 + rcx*2]
inc rcx
cmp rcx, rdx
mov byte [rsp + rcx + 0x5f], al
jl 0x14027bc10
mov byte [rsp + rdx + 0x60], 0
lea rcx, [rsp + 0x60]
lea rdx, str..dll
call sub.MSVCR90.dll_strstr
test rax, rax
je 0x14027bc47
mov esi, 1
mov byte [rax], 0
jmp 0x14027bc7a
lea rcx, [rsp + 0x60]
mov edx, 0x2e
call sub.MSVCR90.dll_strchr
test rax, rax
jne 0x14027bc60
lea esi, [rax + 1]
jmp 0x14027bc7a
lea rdx, str..sys
lea rcx, [rsp + 0x60]
call sub.MSVCR90.dll_strstr
xor esi, esi
test rax, rax
setne sil
mov rcx, qword [r12]
lea r8, str.hash_amd64
cmp esi, 1
lea r9, [rsp + 0xd0]
lea rdx, [rsp + 0x60]
cmovne r8, rdi
mov dword [rsp + 0x20], 0x80
call fcn.14027da30
mov edi, eax
test eax, eax
je 0x14027bcb3
xor edi, edi
jmp 0x14027be38
lea r8, [rsp + 0x150]
mov r9d, 0x800
mov rdx, r13
mov rcx, r12
call fcn.14027b6c0
test eax, eax
je 0x14027bee9
lea rdx, [0x140293070]
lea rcx, [rsp + 0x150]
call fcn.14027c930
lea rcx, [rsp + 0x150]
mov rdx, r13
call fcn.14027c930
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
lea r9, [rsp + 0x60]
mov rcx, r12
call fcn.14027b580
mov ebp, eax
test eax, eax
je 0x14027be38
lea rcx, [rsp + 0x150]
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14027bd3b
test al, al
js 0x14027bd36
test al, 0x20
je 0x14027bd3b
mov ebx, 1
cmp ebp, 1
jne 0x14027bda9
test ebx, ebx
jne 0x14027bda9
mov rcx, qword [r12]
lea r9, [rsp + 0xa8]
lea r8, str.mustexist
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x20], 0x24
call fcn.14027da30
mov edi, eax
test eax, eax
jne 0x14027bda9
lea rdx, str.false
lea rcx, [rsp + 0xa8]
call sub.MSVCR90.dll_strstr
test rax, rax
jne 0x14027be34
lea rdx, [0x1402baf28]
lea rcx, [rsp + 0xa8]
call sub.MSVCR90.dll_strstr
test rax, rax
jne 0x14027be34
mov rbp, qword [rsp + 0x38]
xor eax, eax
cmp esi, 1
mov rsi, qword [rsp + 0x40]
mov qword [rbp], r13
mov rbx, qword [r12 + 0x30]
setne al
lea rcx, [rsp + 0xd0]
mov dword [rsi + rbx + 4], 2
mov dword [rsi + rbx], eax
call fcn.14027df80
lea ecx, [rax + 1]
mov dword [rsi + rbx + 0x10], eax
call fcn.14027cfd0
mov qword [rsi + rbx + 8], rax
test rax, rax
je 0x14027be52
mov r8d, dword [rsi + rbx + 0x10]
lea rdx, [rsp + 0xd0]
mov rcx, rax
call fcn.14027dfc0
movsxd r11, dword [rsi + rbx + 0x10]
mov rax, qword [rsi + rbx + 8]
mov ebx, dword [rsp + 0x30]
add rbp, 8
mov byte [r11 + rax], 0
inc ebx
add rsi, 0x18
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x30], ebx
jmp 0x14027be38
mov ebx, dword [rsp + 0x30]
inc r14
cmp r14, qword [rsp + 0x58]
jl 0x14027bbe0
mov qword [r12 + 0x28], r15
mov dword [r12 + 0x38], ebx
jmp 0x14027bebc
mov edi, 0x22100004
mov esi, dword [rsp + 0x34]
cmp qword [r12 + 0x30], 0
je 0x14027beaf
movsxd rbp, esi
test esi, esi
jle 0x14027be97
xor ebx, ebx
nop dword [rax]
mov rsi, qword [r12 + 0x30]
mov rcx, qword [rbx + rsi + 8]
test rcx, rcx
je 0x14027be8d
call fcn.14027cfe0
mov qword [rbx + rsi + 8], 0
add rbx, 0x18
sub rbp, 1
jne 0x14027be70
mov rcx, qword [r12 + 0x30]
test rcx, rcx
je 0x14027beaf
call fcn.14027cfe0
mov qword [r12 + 0x30], 0
test r15, r15
je 0x14027bebc
mov rcx, r15
call fcn.14027cfe0
mov eax, edi
mov rcx, qword [rsp + 0x1150]
xor rcx, rsp
call fcn.14028a900
mov rbx, qword [rsp + 0x11b0]
add rsp, 0x1160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edi, 1
jmp 0x14027be57