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

Disassembly:
push rbx
push rbp
push r14
push r15
sub rsp, 0x48
xor eax, eax
mov dword [rsp + 0x88], 0xffffffff
mov r14, rcx
mov qword [rsp + 0x20], rax
mov rcx, rdx
mov dword [rsp + 0x80], eax
mov r15d, eax
mov rbx, rdx
xor bpl, bpl
call fcn.1400c32f0
test rax, rax
jne 0x1400c4b35
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400c4b25
xor edx, edx
mov r8d, 0xffffffff
mov rcx, r14
add rsp, 0x48
pop r15
pop r14
pop rbp
pop rbx
jmp fcn.1400c5110
mov eax, 0xffffffff
add rsp, 0x48
pop r15
pop r14
pop rbp
pop rbx
ret
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], r12
lea r12, [rbx - 1]
mov qword [rsp + 0x30], r13
nop dword [rax]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], 0
jne 0x1400c4b57
add rax, r12
cmp rax, rbx
jbe 0x1400c4b80
nop dword [rax + rax]
mov r13, rax
dec rax
cmp byte [rax], 0x2f
je 0x1400c4b83
cmp rax, rbx
ja 0x1400c4b70
mov r13, rax
movzx esi, byte [r13]
mov byte [r13], 0
test r15, r15
je 0x1400c4b95
mov byte [r15], bpl
mov rcx, r14
mov r15, r13
movzx ebp, sil
call fcn.1400c4910
mov rdi, rax
test rax, rax
jne 0x1400c4bb1
cmp r13, rbx
ja 0x1400c4b50
movzx eax, byte [r13 + 1]
lea rbx, [r13 + 1]
test al, al
je 0x1400c4be5
nop
cmp al, 0x2f
je 0x1400c4c87
call fcn.1401507d4
movsxd rdx, eax
mov rcx, rbx
call fcn.140150598
movsxd rcx, eax
add rbx, rcx
movzx eax, byte [rbx]
test al, al
jne 0x1400c4bc0
xor r12d, r12d
mov rcx, 0xffffffffffffffff
mov r15d, r12d
inc rcx
cmp byte [r14 + rcx], r12b
jne 0x1400c4bf2
add rcx, 0x100
test rdi, rdi
je 0x1400c4e22
call fcn.140139fc8
mov rbp, rax
test rax, rax
je 0x1400c4e27
mov rdx, rax
sub rdx, r14
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [r14]
mov byte [rdx + r14], cl
lea r14, [r14 + 1]
test cl, cl
jne 0x1400c4c30
mov r14, 0xffffffffffffffff
nop word [rax + rax]
cmp byte [r14 + rax + 1], 0
lea r14, [r14 + 1]
jne 0x1400c4c50
mov byte [r13], sil
mov rbx, r13
test sil, sil
je 0x1400c4cf0
movabs r12, 0x2000000200001
cmp sil, 0x5c
jne 0x1400c4cc2
cmp byte [rbx + 1], 0
je 0x1400c4cd2
inc rbx
jmp 0x1400c4cd2
mov byte [rbx], 0
lea r15, [rbx + 1]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], 0
jne 0x1400c4c95
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [r14 + rcx], 0
jne 0x1400c4ca6
add rcx, 0x101
add rcx, rax
xor r12d, r12d
jmp 0x1400c4c02
sub sil, 0x2a
cmp sil, 0x31
ja 0x1400c4cd2
bt r12, rsi
jb 0x1400c4cfd
call fcn.1401507d4
movsxd rdx, eax
mov rcx, rbx
call fcn.140150598
movsxd rcx, eax
add rbx, rcx
movzx esi, byte [rbx]
test sil, sil
jne 0x1400c4c76
mov ebx, 0xffffffff
xor r12d, r12d
jmp 0x1400c4e49
xor r12d, r12d
cmp dword [rdi + 8], r12d
je 0x1400c4d0c
mov dword [rdi + 8], r12d
jmp 0x1400c4d20
mov rcx, qword [rdi]
lea rdx, [rdi + 0xc]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
mov rcx, r12
test eax, eax
je 0x1400c4d23
mov rcx, rdi
cmp dword [0x1401fcf68], r12d
jne 0x1400c4d37
test rcx, rcx
je 0x1400c4d37
test byte [rcx + 0xc], 6
jne 0x1400c4d00
test rcx, rcx
lea rax, [rcx + 0x38]
mov rbx, r12
cmovne rbx, rax
test rbx, rbx
je 0x1400c4e42
cmp byte [rbx], 0x2e
jne 0x1400c4d6a
cmp byte [rbx + 1], r12b
je 0x1400c4d00
cmp byte [rbx], 0x2e
jne 0x1400c4d6a
cmp byte [rbx + 1], 0x2e
jne 0x1400c4d6a
cmp byte [rbx + 2], r12b
je 0x1400c4d00
xor r8d, r8d
mov rdx, rbx
mov rcx, r13
call fcn.1400c3740
test eax, eax
je 0x1400c4d00
lea rsi, [r14 + rbp]
mov rcx, rsi
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbx]
lea rbx, [rbx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400c4d90
test r15, r15
je 0x1400c4de9
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp byte [rdx + rbp], r12b
jne 0x1400c4db0
add rdx, rbp
mov rcx, r15
mov byte [rdx], 0x2f
inc rdx
mov r8, rdx
sub r8, r15
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [r8 + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400c4dd0
mov rcx, rbp
call fcn.1400c4ac0
jmp 0x1400c4df7
mov r8d, dword [rdi + 0xc]
xor edx, edx
mov rcx, rbp
call fcn.1400c5110
mov dword [rsp + 0x88], eax
mov ebx, eax
mov byte [rsi], r12b
test eax, eax
jne 0x1400c4e17
mov dword [rsp + 0x80], 1
jmp 0x1400c4d00
cmp ebx, 0xffffffff
je 0x1400c4d00
jmp 0x1400c4e49
mov rbp, qword [rsp + 0x20]
mov byte [r13], sil
test rdi, rdi
mov ebx, 0xffffffff
mov eax, 4
mov esi, r12d
cmovne ebx, eax
je 0x1400c4e61
jmp 0x1400c4e50
mov ebx, dword [rsp + 0x88]
mov esi, dword [rsp + 0x80]
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, rdi
call fcn.140137f10
mov r13, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
test r15, r15
je 0x1400c4e75
mov byte [r15 - 1], 0x2f
test rbp, rbp
je 0x1400c4e82
mov rcx, rbp
call fcn.140137f10
cmp ebx, 0xffffffff
jne 0x1400c4e8d
test esi, esi
cmovne ebx, r12d
mov r12, qword [rsp + 0x38]
mov eax, ebx
mov rsi, qword [rsp + 0x70]
add rsp, 0x48
pop r15
pop r14
pop rbp
pop rbx
ret