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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x320]
sub rsp, 0x420
mov rax, qword [0x14017a608]
xor rax, rsp
mov qword [rbp + 0x310], rax
mov rax, qword [rbp + 0x380]
mov rsi, r8
mov r14, qword [rbp + 0x388]
mov r13d, edx
mov qword [rsp + 0x68], rax
mov rdi, rcx
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x70], r8
mov dword [rsp + 0x4c], edx
mov rcx, qword [0x14017a048]
lea rax, [0x14017a048]
cmp rcx, rax
je 0x1400f6e9e
test byte [rcx + 0x1c], 1
je 0x1400f6e9e
cmp byte [rcx + 0x19], 5
jb 0x1400f6e9e
mov rcx, qword [rcx + 0x10]
lea r8, [0x140165cc8]
mov edx, 0x16
call fcn.140006b98
xor ecx, ecx
lea rax, [rbp - 0x60]
mov qword [rbp - 0x70], rax
mov ebx, ecx
mov eax, dword [rbp - 0x64]
mov r12d, ecx
and eax, 0xfffffffa
mov qword [rsp + 0x58], rcx
or eax, 2
mov qword [rsp + 0x38], rcx
mov dword [rbp - 0x64], eax
lea edx, [rcx + 0x18]
lea rax, [rbp - 0x10]
mov qword [rsp + 0x40], rcx
mov qword [rbp - 0x20], rax
mov r15d, ecx
mov eax, dword [rbp - 0x14]
mov r8d, 0x250
and eax, 0xfffffffa
mov qword [rbp - 0x80], rcx
or eax, 2
mov dword [rbp - 0x78], edx
mov dword [rbp - 0x14], eax
mov eax, r13d
and eax, 2
mov dword [rbp - 0x68], ecx
mov word [rbp - 0x60], cx
mov qword [rbp - 0x30], rcx
mov dword [rbp - 0x28], edx
xor edx, edx
mov dword [rbp - 0x18], ecx
mov word [rbp - 0x10], cx
mov dword [rsp + 0x34], ecx
lea rcx, [rbp + 0xc0]
mov dword [rsp + 0x50], eax
call sub.msvcrt.dll_memset
mov eax, r13d
mov byte [r14], bl
and eax, 4
mov dword [rsp + 0x48], eax
jne 0x1400f6fea
cmp dword [rdi + 0x10], 0x64
jbe 0x1400f6fea
mov ebx, 0x80070057
lea rdi, [0x14017a048]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
mov rcx, r12
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
test r15, r15
je 0x1400f6f7e
mov rcx, r15
call fcn.1400f6034
mov rcx, r15
call fcn.140001944
mov rcx, qword [0x14017a048]
cmp rcx, rdi
je 0x1400f6fab
test byte [rcx + 0x1c], 1
je 0x1400f6fab
cmp byte [rcx + 0x19], 5
jb 0x1400f6fab
mov rcx, qword [rcx + 0x10]
lea r8, [0x140165cc8]
mov edx, 0x1f
call fcn.140006b98
lea rcx, [rbp - 0x30]
call fcn.1400e8998
lea rcx, [rbp - 0x80]
call fcn.1400e8998
mov eax, ebx
mov rcx, qword [rbp + 0x310]
xor rcx, rsp
call fcn.140001d90
mov rbx, qword [rsp + 0x468]
add rsp, 0x420
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test dword [rdi], 0x400
mov byte [rdi + 0x14], 1
je 0x1400f703f
mov rcx, qword [0x14017a048]
lea rax, [0x14017a048]
cmp rcx, rax
je 0x1400f6f42
test byte [rcx + 0x1c], 1
je 0x1400f6f42
cmp byte [rcx + 0x19], 5
jb 0x1400f6f42
mov r9, qword [rdi + 8]
lea r8, [0x140165cc8]
mov rcx, qword [rcx + 0x10]
mov edx, 0x17
call fcn.1400112c8
jmp 0x1400f6f42
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.1400f7790
mov ebx, eax
test eax, eax
jns 0x1400f709a
mov rcx, qword [0x14017a048]
lea rdi, [0x14017a048]
cmp rcx, rdi
je 0x1400f6f49
test byte [rcx + 0x1c], 1
je 0x1400f6f49
cmp byte [rcx + 0x19], 2
jb 0x1400f6f49
mov rcx, qword [rcx + 0x10]
lea r8, [0x140165cc8]
mov edx, 0x18
mov r9d, eax
call fcn.140006bc4
jmp 0x1400f6f49
mov rdx, qword [rdi + 8]
lea rcx, [rbp + 0x70]
call fcn.1400e8738
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0x20]
mov rbx, rax
call fcn.1400e8738
lea r8, [rbp - 0x30]
mov rdx, rbx
mov rcx, rax
call fcn.1400f3d20
lea rcx, [rbp + 0x20]
call fcn.1400e8998
lea rcx, [rbp + 0x70]
call fcn.1400e8998
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x30]
call fcn.1400f48f0
mov r12, qword [rsp + 0x38]
xor ecx, ecx
mov ebx, eax
test eax, eax
js 0x1400f6f42
or rax, 0xffffffffffffffff
inc rax
cmp word [r12 + rax*2], cx
jne 0x1400f70fc
add eax, 0x106
mov r13d, eax
mov qword [rsp + 0x60], r13
lea rbx, [rax*2]
mov rcx, rbx
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
nop dword [rax + rax]
mov rsi, rax
test rax, rax
jne 0x1400f713c
mov ebx, 0x8007000e
jmp 0x1400f6f42
mov r8, rbx
xor edx, edx
mov rcx, rsi
call sub.msvcrt.dll_memset
mov r8, r12
mov rdx, r13
mov rcx, rsi
call fcn.140038040
xor r9d, r9d
mov ebx, eax
test eax, eax
js 0x1400f724d
or r8, 0xffffffffffffffff
mov rcx, r8
inc rcx
cmp word [rsi + rcx*2], r9w
jne 0x1400f716b
mov eax, ecx
mov edx, 0x5c
mov word [rsi + rax*2], dx
lea eax, [rcx + 1]
mov qword [rsp + 0x38], rax
mov word [rsi + rax*2], r9w
test r12, r12
jne 0x1400f71a0
mov rax, qword [rbp - 0x70]
mov word [rax], r9w
mov dword [rbp - 0x68], r9d
jmp 0x1400f71b6
inc r8
cmp word [r12 + r8*2], r9w
jne 0x1400f71a0
mov rdx, r12
lea rcx, [rbp - 0x80]
call fcn.1400eb260
mov r8d, 2
lea rdx, [0x14015e21c]
lea rcx, [rbp - 0x80]
call fcn.1400eb1dc
mov rcx, qword [rbp - 0x70]
lea rdx, [rbp + 0xc0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
nop dword [rax + rax]
mov r13, rax
cmp rax, 0xffffffffffffffff
jne 0x1400f7268
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
cmp eax, 2
je 0x1400f7249
mov rcx, qword [0x14017a048]
lea rdi, [0x14017a048]
cmp rcx, rdi
je 0x1400f723a
test byte [rcx + 0x1c], 1
je 0x1400f723a
cmp byte [rcx + 0x19], 2
jb 0x1400f723a
mov r9, qword [rbp - 0x70]
lea edx, [r13 + 0x1a]
mov rcx, qword [rcx + 0x10]
lea r8, [0x140165cc8]
mov dword [rsp + 0x20], eax
call fcn.14003d060
test ebx, ebx
jle 0x1400f7254
movzx ebx, bx
or ebx, 0x80070000
jmp 0x1400f7254
xor eax, eax
mov ebx, eax
lea rdi, [0x14017a048]
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
jmp 0x1400f6f49
xor ecx, ecx
cmp word [rbp + 0xec], 0x2e
movzx eax, word [rbp + 0xee]
jne 0x1400f72a1
test ax, ax
je 0x1400f746e
cmp word [rbp + 0xec], 0x2e
jne 0x1400f72a1
cmp ax, 0x2e
jne 0x1400f72a1
cmp word [rbp + 0xf0], cx
je 0x1400f746e
mov rax, qword [rsp + 0x38]
lea r8, [rbp + 0xec]
mov rdx, qword [rsp + 0x60]
mov word [rsi + rax*2], cx
mov rcx, rsi
call fcn.14005485c
xor ecx, ecx
mov ebx, eax
test eax, eax
js 0x1400f7536
mov edx, dword [rbp + 0xc0]
mov eax, edx
and eax, 0x410
cmp eax, 0x10
jne 0x1400f73eb
cmp dword [rsp + 0x48], ecx
jne 0x1400f7340
cmp dword [rdi + 0x10], 0x64
jne 0x1400f7340
mov rcx, qword [0x14017a048]
lea rax, [0x14017a048]
cmp rcx, rax
je 0x1400f746e
test byte [rcx + 0x1c], 1
je 0x1400f746e
cmp byte [rcx + 0x19], 3
jb 0x1400f746e
mov rcx, qword [rcx + 0x10]
lea r9, [rbp + 0xec]
mov edx, 0x1a
mov dword [rsp + 0x20], 0x64
lea r8, [0x140165cc8]
call fcn.14003d5bc
jmp 0x1400f746e
test byte [rsp + 0x4c], 8
jne 0x1400f7398
cmp dword [rsp + 0x34], 0x64
jb 0x1400f7398
mov rcx, qword [0x14017a048]
lea rax, [0x14017a048]
cmp rcx, rax
je 0x1400f738b
test byte [rcx + 0x1c], 1
je 0x1400f738b
cmp byte [rcx + 0x19], 4
jb 0x1400f738b
mov rcx, qword [rcx + 0x10]
lea r8, [0x140165cc8]
mov edx, 0x1b
mov qword [rsp + 0x20], r12
lea r9d, [rdx + 0x49]
call fcn.14005ff7c
mov rax, qword [rsp + 0x68]
mov byte [rax], 1
jmp 0x1400f746e
mov r8d, dword [rdi + 0x10]
lea r9, [rsp + 0x40]
inc r8d
lea rcx, [rbp + 0xec]
call fcn.1400f6114
mov r15, qword [rsp + 0x40]
mov ebx, eax
xor eax, eax
test ebx, ebx
js 0x1400f74e9
mov rcx, qword [rsp + 0x70]
mov rdx, r15
call fcn.1400f7b28
mov ebx, eax
xor eax, eax
test ebx, ebx
js 0x1400f74e9
inc dword [rsp + 0x34]
mov r15d, eax
mov qword [rsp + 0x40], rax
jmp 0x1400f746e
lea r8, [rsp + 0x30]
mov byte [rsp + 0x30], 1
lea rdx, [rbp + 0xc0]
mov rcx, rsi
call fcn.1400f6acc
xor ecx, ecx
mov ebx, eax
test eax, eax
jns 0x1400f7466
mov al, byte [rsp + 0x30]
mov byte [r14], al
cmp dword [rsp + 0x50], ecx
je 0x1400f74ee
test al, al
je 0x1400f74ee
mov rcx, qword [0x14017a048]
lea rax, [0x14017a048]
cmp rcx, rax
je 0x1400f7460
test byte [rcx + 0x1c], 1
je 0x1400f7460
cmp byte [rcx + 0x19], 4
jb 0x1400f7460
mov rcx, qword [rcx + 0x10]
lea r8, [0x140165cc8]
mov edx, 0x1c
mov dword [rsp + 0x20], ebx
mov r9, rsi
call fcn.140011330
xor eax, eax
mov ebx, eax
jmp 0x1400f746e
mov rax, qword [rsp + 0x78]
inc qword [rax]
lea rdx, [rbp + 0xc0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
nop dword [rax + rax]
xor ecx, ecx
test eax, eax
jne 0x1400f726a
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edi, eax
cmp eax, 0x12
je 0x1400f7539
mov rcx, qword [0x14017a048]
lea rax, [0x14017a048]
cmp rcx, rax
je 0x1400f74e1
test byte [rcx + 0x1c], 1
je 0x1400f74e1
cmp byte [rcx + 0x19], 2
jb 0x1400f74e1
mov r9, qword [rbp - 0x70]
lea r8, [0x140165cc8]
mov rcx, qword [rcx + 0x10]
mov edx, 0x1e
mov dword [rsp + 0x20], edi
call fcn.14003d060
xor eax, eax
test edi, edi
jg 0x1400f752b
mov ebx, edi
mov byte [r14], al
jmp 0x1400f7539
mov rcx, qword [0x14017a048]
lea rdi, [0x14017a048]
cmp rcx, rdi
je 0x1400f7540
test byte [rcx + 0x1c], 1
je 0x1400f7540
cmp byte [rcx + 0x19], 2
jb 0x1400f7540
mov rcx, qword [rcx + 0x10]
lea r8, [0x140165cc8]
mov edx, 0x1d
mov dword [rsp + 0x20], ebx
mov r9, rsi
call fcn.140011330
jmp 0x1400f7540
movzx ebx, di
or ebx, 0x80070000
jmp 0x1400f74e9
mov byte [r14], cl
lea rdi, [0x14017a048]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindClose]
nop dword [rax + rax]
jmp 0x1400f7254