Function at 0x1400ac150
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 + 0x80], 0xffffffff
mov r14, rcx
mov qword [rsp + 0x20], rax
mov rcx, rdx
mov dword [rsp + 0x88], eax
mov r15d, eax
mov rbx, rdx
xor bpl, bpl
call fcn.1400aaac0
test rax, rax
jne 0x1400ac1c5
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400ac1b5
xor edx, edx
mov r8d, 0xffffffff
mov rcx, r14
add rsp, 0x48
pop r15
pop r14
pop rbp
pop rbx
jmp fcn.1400ac790
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 0x1400ac1e7
add rax, r12
cmp rax, rbx
jbe 0x1400ac210
nop dword [rax + rax]
mov r13, rax
dec rax
cmp byte [rax], 0x2f
je 0x1400ac213
cmp rax, rbx
ja 0x1400ac200
mov r13, rax
movzx esi, byte [r13]
mov byte [r13], 0
test r15, r15
je 0x1400ac225
mov byte [r15], bpl
mov rcx, r14
mov r15, r13
movzx ebp, sil
call fcn.1400abfa0
mov rdi, rax
test rax, rax
jne 0x1400ac241
cmp r13, rbx
ja 0x1400ac1e0
movzx eax, byte [r13 + 1]
lea rbx, [r13 + 1]
test al, al
je 0x1400ac275
nop
cmp al, 0x2f
je 0x1400ac307
call fcn.1401342e8
movsxd rdx, eax
mov rcx, rbx
call fcn.1401340ec
movsxd rcx, eax
add rbx, rcx
movzx eax, byte [rbx]
test al, al
jne 0x1400ac250
xor r15d, r15d
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [r14 + rcx], r15b
jne 0x1400ac280
add rcx, 0x100
test rdi, rdi
je 0x1400ac4a3
call fcn.14012d1e8
mov rbp, rax
test rax, rax
je 0x1400ac4a8
mov rdx, rax
sub rdx, r14
movzx ecx, byte [r14]
mov byte [rdx + r14], cl
lea r14, [r14 + 1]
test cl, cl
jne 0x1400ac2b0
mov r14, 0xffffffffffffffff
nop word [rax + rax]
cmp byte [r14 + rax + 1], 0
lea r14, [r14 + 1]
jne 0x1400ac2d0
mov byte [r13], sil
mov rbx, r13
test sil, sil
je 0x1400ac36d
movabs r12, 0x2000000200001
cmp sil, 0x5c
jne 0x1400ac33f
cmp byte [rbx + 1], 0
je 0x1400ac34f
inc rbx
jmp 0x1400ac34f
mov byte [rbx], 0
lea r15, [rbx + 1]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], 0
jne 0x1400ac315
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [r14 + rcx], 0
jne 0x1400ac326
add rcx, 0x101
add rcx, rax
jmp 0x1400ac290
sub sil, 0x2a
cmp sil, 0x31
ja 0x1400ac34f
bt r12, rsi
jb 0x1400ac379
call fcn.1401342e8
movsxd rdx, eax
mov rcx, rbx
call fcn.1401340ec
movsxd rcx, eax
add rbx, rcx
movzx esi, byte [rbx]
test sil, sil
jne 0x1400ac2f6
mov ebx, 0xffffffff
xor esi, esi
jmp 0x1400ac4c7
xor esi, esi
nop dword [rax + rax]
cmp dword [rdi + 8], 0
je 0x1400ac38b
mov dword [rdi + 8], esi
jmp 0x1400ac39f
mov rcx, qword [rdi]
lea rdx, [rdi + 0xc]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
mov rcx, rsi
test eax, eax
je 0x1400ac3a2
mov rcx, rdi
cmp dword [0x1402bfa08], 0
jne 0x1400ac3b6
test rcx, rcx
je 0x1400ac3b6
test byte [rcx + 0xc], 6
jne 0x1400ac380
test rcx, rcx
lea rax, [rcx + 0x38]
mov rbx, rsi
cmovne rbx, rax
test rbx, rbx
je 0x1400ac4c0
cmp byte [rbx], 0x2e
jne 0x1400ac3e9
cmp byte [rbx + 1], 0
je 0x1400ac380
cmp byte [rbx], 0x2e
jne 0x1400ac3e9
cmp byte [rbx + 1], 0x2e
jne 0x1400ac3e9
cmp byte [rbx + 2], 0
je 0x1400ac380
xor r8d, r8d
mov rdx, rbx
mov rcx, r13
call fcn.1400aaef0
test eax, eax
je 0x1400ac380
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 0x1400ac410
test r15, r15
je 0x1400ac469
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp byte [rdx + rbp], 0
jne 0x1400ac430
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 0x1400ac450
mov rcx, rbp
call fcn.1400ac150
jmp 0x1400ac477
mov r8d, dword [rdi + 0xc]
xor edx, edx
mov rcx, rbp
call fcn.1400ac790
mov dword [rsp + 0x80], eax
mov ebx, eax
mov byte [rsi], 0
test eax, eax
jne 0x1400ac497
mov dword [rsp + 0x88], 1
jmp 0x1400ac379
xor esi, esi
cmp ebx, 0xffffffff
jne 0x1400ac4c7
jmp 0x1400ac380
mov rbp, qword [rsp + 0x20]
test rdi, rdi
mov byte [r13], sil
mov ebx, 0xffffffff
mov eax, 4
cmovne ebx, eax
xor esi, esi
jmp 0x1400ac4c7
mov ebx, dword [rsp + 0x80]
mov r13, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
test rdi, rdi
je 0x1400ac4e7
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, rdi
call fcn.140122088
mov rdi, qword [rsp + 0x40]
test r15, r15
je 0x1400ac4f6
mov byte [r15 - 1], 0x2f
test rbp, rbp
je 0x1400ac503
mov rcx, rbp
call fcn.140122088
cmp ebx, 0xffffffff
jne 0x1400ac513
cmp dword [rsp + 0x88], 0
cmovne ebx, esi
mov rsi, qword [rsp + 0x70]
mov eax, ebx
add rsp, 0x48
pop r15
pop r14
pop rbp
pop rbx
ret