Function at 0x1400aeb64
Capabilities:
Check if file exists
Enumerate files on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f8]
sub rsp, 0x2f8
mov rax, qword [0x14017d140]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
mov r15, qword [rbp + 0x260]
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x68], rdx
mov rdi, rcx
mov qword [rbp - 0x78], rcx
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x1400aebe2
test byte [rcx + 0x1c], 1
je 0x1400aebe2
cmp byte [rcx + 0x19], 5
jb 0x1400aebe2
mov rcx, qword [rcx + 0x10]
lea r8, [0x140009f38]
mov edx, 0x1b
call fcn.14001dd24
or qword [rsp + 0x60], 0xffffffffffffffff
xor eax, eax
lea rcx, [rbp - 0x70]
xor edx, edx
mov r8d, 0x250
mov ebx, eax
mov r13d, eax
mov esi, eax
mov qword [rsp + 0x38], rax
mov r12d, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x58], rax
mov r14d, eax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x48], eax
call sub.msvcrt.dll_memset
xor eax, eax
mov byte [r15], al
cmp dword [rdi + 0x10], 0x64
jbe 0x1400aec35
mov ebx, 0x80070057
jmp 0x1400aee87
test dword [rdi], reloc.ADVAPI32.dll_TraceEvent
mov byte [rdi + 0x14], 1
je 0x1400aec8a
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x1400aee87
test byte [rcx + 0x1c], 1
je 0x1400aee87
cmp byte [rcx + 0x19], 5
jb 0x1400aee87
mov r9, qword [rdi + 8]
mov rcx, qword [rcx + 0x10]
lea r8, [0x140009f38]
mov edx, 0x1c
call fcn.14001ec40
jmp 0x1400aee87
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0x38]
xor r8d, r8d
mov rcx, qword [rcx]
call fcn.1400a99e4
mov ebx, eax
test eax, eax
jns 0x1400aeced
mov rcx, qword [0x14017d3a8]
lea rdi, [0x14017d3a8]
cmp rcx, rdi
je 0x1400af141
test byte [rcx + 0x1c], 1
je 0x1400af141
cmp byte [rcx + 0x19], 2
jb 0x1400af141
mov rcx, qword [rcx + 0x10]
lea r8, [0x140009f38]
mov edx, 0x1d
mov r9d, eax
call fcn.14001de24
jmp 0x1400af141
mov rsi, qword [rsp + 0x38]
mov rdx, qword [rdi + 8]
lea r8, [rsp + 0x40]
mov rcx, rsi
call fcn.1400aea28
xor ecx, ecx
mov ebx, eax
test eax, eax
jns 0x1400aed4c
mov rcx, qword [0x14017d3a8]
lea rdi, [0x14017d3a8]
cmp rcx, rdi
je 0x1400aed42
test byte [rcx + 0x1c], 1
je 0x1400aed42
cmp byte [rcx + 0x19], 2
jb 0x1400aed42
mov rcx, qword [rcx + 0x10]
lea r8, [0x140009f38]
mov edx, 0x1e
mov r9d, eax
call fcn.14001de24
mov r12, qword [rsp + 0x40]
jmp 0x1400aee8e
mov r12, qword [rsp + 0x40]
or rax, 0xffffffffffffffff
inc rax
cmp word [r12 + rax*2], cx
jne 0x1400aed55
add eax, 0x106
mov ecx, reloc.ADVAPI32.dll_TraceEvent
mov ebx, eax
add rax, rax
mov qword [rsp + 0x40], rbx
cmp rax, rcx
jbe 0x1400aed82
mov ebx, 0x80070216
jmp 0x1400aee87
mov ecx, eax
mov edi, eax
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov r13, rax
test rax, rax
jne 0x1400aed9e
mov ebx, 0x8007000e
jmp 0x1400aee87
mov r8, rdi
xor edx, edx
mov rcx, r13
call sub.msvcrt.dll_memset
mov r8, r12
mov rdx, rbx
mov rcx, r13
call fcn.140052508
xor edx, edx
mov ebx, eax
test eax, eax
js 0x1400aee87
or rdi, 0xffffffffffffffff
inc rdi
cmp word [r13 + rdi*2], dx
jne 0x1400aedc9
mov eax, edi
mov ecx, 0x5c
inc edi
mov word [r13 + rax*2], cx
mov word [r13 + rdi*2], dx
lea rdx, [0x140009d7c]
lea r8, [rsp + 0x58]
mov rcx, r12
call fcn.1400a9ab8
mov ebx, eax
test eax, eax
js 0x1400aee87
mov rsi, qword [rsp + 0x58]
lea rdx, [rbp - 0x70]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x60], rax
cmp rax, 0xffffffffffffffff
jne 0x1400aef59
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp eax, 2
je 0x1400aef50
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x1400aee74
test byte [rcx + 0x1c], 1
je 0x1400aee74
cmp byte [rcx + 0x19], 2
jb 0x1400aee74
mov rcx, qword [rcx + 0x10]
lea r8, [0x140009f38]
mov edx, 0x1f
mov r9, rsi
mov dword [rsp + 0x20], edi
call fcn.14001ecbc
movzx ebx, di
or ebx, 0x80070000
test edi, edi
cmovle ebx, edi
mov rsi, qword [rsp + 0x38]
lea rdi, [0x14017d3a8]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x1400aeeac
mov rcx, rax
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test r13, r13
je 0x1400aeeba
mov rcx, r13
call qword [sym.imp.ole32.dll_CoTaskMemFree]
xor r13d, r13d
test rsi, rsi
je 0x1400aeecb
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test r12, r12
je 0x1400aeed9
mov rcx, r12
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test r14, r14
je 0x1400aeefe
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x1400aeef1
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [r14 + 8], r13
mov rcx, r14
mov qword [r14 + 8], r13
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_]
mov rcx, qword [0x14017d3a8]
cmp rcx, rdi
je 0x1400aef2b
test byte [rcx + 0x1c], 1
je 0x1400aef2b
cmp byte [rcx + 0x19], 5
jb 0x1400aef2b
mov rcx, qword [rcx + 0x10]
lea r8, [0x140009f38]
mov edx, 0x25
call fcn.14001dd24
mov eax, ebx
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.140168920
add rsp, 0x2f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor eax, eax
mov ebx, eax
jmp 0x1400aee82
movsxd rax, edi
mov qword [rbp - 0x80], rax
lea rsi, [rbp - 0x44]
lea rdi, [0x140009d84]
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x1400af0e1
lea rsi, [rbp - 0x44]
lea rdi, [0x140009d88]
mov ecx, 3
repe cmpsw word [rsi], word [rdi]
je 0x1400af0e1
mov rdx, qword [rsp + 0x40]
lea r8, [rbp - 0x44]
xor esi, esi
mov rcx, r13
mov word [r13 + rax*2], si
call fcn.14006892c
mov ebx, eax
test eax, eax
js 0x1400af1a7
mov edx, dword [rbp - 0x70]
test dl, 0x10
je 0x1400af0bb
bt edx, 0xa
jb 0x1400af0bb
mov rax, qword [rbp - 0x78]
lea r9d, [rsi + 0x64]
mov r8d, dword [rax + 0x10]
cmp r8d, r9d
jne 0x1400af028
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x1400af0e3
test byte [rcx + 0x1c], 1
je 0x1400af0e3
cmp byte [rcx + 0x19], 3
jb 0x1400af0e3
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x20], r9d
lea edx, [rsi + 0x20]
lea r9, [rbp - 0x44]
lea r8, [0x140009f38]
call fcn.14001ecbc
jmp 0x1400af0e3
mov edi, dword [rsp + 0x48]
cmp edi, r9d
jb 0x1400af074
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x1400af06a
test byte [rcx + 0x1c], 1
je 0x1400af06a
cmp byte [rcx + 0x19], 4
jb 0x1400af06a
mov rcx, qword [rcx + 0x10]
lea r8, [0x140009f38]
mov edx, 0x21
mov qword [rsp + 0x20], r12
call fcn.14006beb4
mov rax, qword [rsp + 0x70]
mov byte [rax], 1
jmp 0x1400af0e3
lea r9, [rsp + 0x50]
lea rcx, [rbp - 0x44]
inc r8d
call fcn.1400ae48c
mov r14, qword [rsp + 0x50]
mov ebx, eax
test eax, eax
js 0x1400af1a7
mov rcx, qword [rsp + 0x68]
mov rdx, r14
call fcn.1400ae640
mov ebx, eax
test eax, eax
js 0x1400af1a7
inc edi
mov r14, rsi
mov qword [rsp + 0x50], rsi
mov dword [rsp + 0x48], edi
jmp 0x1400af0e3
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x70]
mov rcx, r13
mov byte [rsp + 0x30], 1
call fcn.1400adc28
mov ebx, eax
test eax, eax
js 0x1400af0ff
mov rax, qword [rsp + 0x78]
inc qword [rax]
jmp 0x1400af0e3
xor esi, esi
mov rcx, qword [rsp + 0x60]
lea rdx, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x1400af14b
mov rax, qword [rbp - 0x80]
jmp 0x1400aef60
mov al, byte [rsp + 0x30]
mov byte [r15], al
mov rcx, qword [0x14017d3a8]
lea rdi, [0x14017d3a8]
cmp rcx, rdi
je 0x1400af141
test byte [rcx + 0x1c], 1
je 0x1400af141
cmp byte [rcx + 0x19], 2
jb 0x1400af141
mov rcx, qword [rcx + 0x10]
lea r8, [0x140009f38]
mov edx, 0x23
mov r9, r13
mov dword [rsp + 0x20], ebx
call fcn.14001ecbc
mov rsi, qword [rsp + 0x38]
jmp 0x1400aee8e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp eax, 0x12
je 0x1400aee82
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x1400af199
test byte [rcx + 0x1c], 1
je 0x1400af199
cmp byte [rcx + 0x19], 2
jb 0x1400af199
mov r9, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x10]
lea r8, [0x140009f38]
mov edx, 0x24
mov dword [rsp + 0x20], edi
call fcn.14001ecbc
movzx ebx, di
or ebx, 0x80070000
test edi, edi
cmovle ebx, edi
mov byte [r15], sil
jmp 0x1400aee82