Function at 0x1400c4980
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.1400c31b0
test rax, rax
jne 0x1400c49f5
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400c49e5
xor edx, edx
mov r8d, 0xffffffff
mov rcx, r14
add rsp, 0x48
pop r15
pop r14
pop rbp
pop rbx
jmp fcn.1400c4fd0
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 0x1400c4a17
add rax, r12
cmp rax, rbx
jbe 0x1400c4a40
nop dword [rax + rax]
mov r13, rax
dec rax
cmp byte [rax], 0x2f
je 0x1400c4a43
cmp rax, rbx
ja 0x1400c4a30
mov r13, rax
movzx esi, byte [r13]
mov byte [r13], 0
test r15, r15
je 0x1400c4a55
mov byte [r15], bpl
mov rcx, r14
mov r15, r13
movzx ebp, sil
call fcn.1400c47d0
mov rdi, rax
test rax, rax
jne 0x1400c4a71
cmp r13, rbx
ja 0x1400c4a10
movzx eax, byte [r13 + 1]
lea rbx, [r13 + 1]
test al, al
je 0x1400c4aa5
nop
cmp al, 0x2f
je 0x1400c4b47
call fcn.140151404
movsxd rdx, eax
mov rcx, rbx
call fcn.1401511c8
movsxd rcx, eax
add rbx, rcx
movzx eax, byte [rbx]
test al, al
jne 0x1400c4a80
xor r12d, r12d
mov rcx, 0xffffffffffffffff
mov r15d, r12d
inc rcx
cmp byte [r14 + rcx], r12b
jne 0x1400c4ab2
add rcx, 0x100
test rdi, rdi
je 0x1400c4ce2
call fcn.14013abf8
mov rbp, rax
test rax, rax
je 0x1400c4ce7
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 0x1400c4af0
mov r14, 0xffffffffffffffff
nop word [rax + rax]
cmp byte [r14 + rax + 1], 0
lea r14, [r14 + 1]
jne 0x1400c4b10
mov byte [r13], sil
mov rbx, r13
test sil, sil
je 0x1400c4bb0
movabs r12, 0x2000000200001
cmp sil, 0x5c
jne 0x1400c4b82
cmp byte [rbx + 1], 0
je 0x1400c4b92
inc rbx
jmp 0x1400c4b92
mov byte [rbx], 0
lea r15, [rbx + 1]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], 0
jne 0x1400c4b55
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [r14 + rcx], 0
jne 0x1400c4b66
add rcx, 0x101
add rcx, rax
xor r12d, r12d
jmp 0x1400c4ac2
sub sil, 0x2a
cmp sil, 0x31
ja 0x1400c4b92
bt r12, rsi
jb 0x1400c4bbd
call fcn.140151404
movsxd rdx, eax
mov rcx, rbx
call fcn.1401511c8
movsxd rcx, eax
add rbx, rcx
movzx esi, byte [rbx]
test sil, sil
jne 0x1400c4b36
mov ebx, 0xffffffff
xor r12d, r12d
jmp 0x1400c4d09
xor r12d, r12d
cmp dword [rdi + 8], r12d
je 0x1400c4bcc
mov dword [rdi + 8], r12d
jmp 0x1400c4be0
mov rcx, qword [rdi]
lea rdx, [rdi + 0xc]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
mov rcx, r12
test eax, eax
je 0x1400c4be3
mov rcx, rdi
cmp dword [0x1401fdf68], r12d
jne 0x1400c4bf7
test rcx, rcx
je 0x1400c4bf7
test byte [rcx + 0xc], 6
jne 0x1400c4bc0
test rcx, rcx
lea rax, [rcx + 0x38]
mov rbx, r12
cmovne rbx, rax
test rbx, rbx
je 0x1400c4d02
cmp byte [rbx], 0x2e
jne 0x1400c4c2a
cmp byte [rbx + 1], r12b
je 0x1400c4bc0
cmp byte [rbx], 0x2e
jne 0x1400c4c2a
cmp byte [rbx + 1], 0x2e
jne 0x1400c4c2a
cmp byte [rbx + 2], r12b
je 0x1400c4bc0
xor r8d, r8d
mov rdx, rbx
mov rcx, r13
call fcn.1400c3600
test eax, eax
je 0x1400c4bc0
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 0x1400c4c50
test r15, r15
je 0x1400c4ca9
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp byte [rdx + rbp], r12b
jne 0x1400c4c70
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 0x1400c4c90
mov rcx, rbp
call fcn.1400c4980
jmp 0x1400c4cb7
mov r8d, dword [rdi + 0xc]
xor edx, edx
mov rcx, rbp
call fcn.1400c4fd0
mov dword [rsp + 0x88], eax
mov ebx, eax
mov byte [rsi], r12b
test eax, eax
jne 0x1400c4cd7
mov dword [rsp + 0x80], 1
jmp 0x1400c4bc0
cmp ebx, 0xffffffff
je 0x1400c4bc0
jmp 0x1400c4d09
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 0x1400c4d21
jmp 0x1400c4d10
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.140138b40
mov r13, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
test r15, r15
je 0x1400c4d35
mov byte [r15 - 1], 0x2f
test rbp, rbp
je 0x1400c4d42
mov rcx, rbp
call fcn.140138b40
cmp ebx, 0xffffffff
jne 0x1400c4d4d
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