Function at 0x140007e38
Capabilities:
Check if file exists
Enumerate files on windows
Get file attributes

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x288]
sub rsp, 0x350
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x1400335a0]
xor rax, rsp
mov qword [rbp + 0x240], rax
mov r15, rdx
mov r14, rcx
mov edx, dword [rdx]
mov ecx, dword [r15 + 8]
not ecx
and ecx, 1
shr edx, cl
dec edx
jne 0x140007e8f
xor eax, eax
jmp 0x14000836d
xor ebx, ebx
test r14, r14
jne 0x140007e9a
mov edx, ebx
jmp 0x140007ea6
mov rcx, r14
call fcn.14000ba80
mov rdx, qword [r14 + 0x10]
mov r12d, 2
mov dword [rbp - 0x80], r12d
mov dword [rbp - 0x7c], r12d
lea esi, [r12 + 0xe]
mov dword [rbp - 0x78], esi
lea r13, [0x1400239ac]
mov qword [rbp - 0x70], r13
lea rcx, [rbp - 0x80]
call fcn.14000b870
nop
mov r8, r15
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x68]
call fcn.140007b64
mov rdi, rax
test rax, rax
jne 0x140007eef
mov rdx, rbx
jmp 0x140007efb
mov rcx, rax
call fcn.14000ba80
mov rdx, qword [rdi + 0x10]
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x3c], r12d
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x48], r13
lea rcx, [rsp + 0x38]
call fcn.14000b870
nop
mov r13b, 8
test byte [rsp + 0x70], r13b
je 0x140007f2d
mov rcx, qword [rsp + 0x78]
call fcn.140008a60
mov edi, dword [rsp + 0x40]
mov ecx, edi
not ecx
and ecx, 1
mov eax, dword [rsp + 0x38]
shr eax, cl
dec eax
jne 0x140008319
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x24], r12d
mov dword [rsp + 0x28], esi
lea rax, [0x1400239ac]
mov qword [rsp + 0x30], rax
lea rdx, [0x140028fc8]
lea rcx, [rsp + 0x20]
call fcn.14000b870
nop
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x68]
call fcn.140007764
mov rsi, rax
test rax, rax
jne 0x140007f92
mov rdx, rbx
jmp 0x140007f9e
mov rcx, rax
call fcn.14000ba80
mov rdx, qword [rsi + 0x10]
mov dword [rbp - 0x68], r12d
mov dword [rbp - 0x64], r12d
mov dword [rbp - 0x60], 0x10
lea rax, [0x1400239ac]
mov qword [rbp - 0x58], rax
lea rcx, [rbp - 0x68]
call fcn.14000b870
nop
test byte [rsp + 0x70], r13b
je 0x140007fd4
mov rcx, qword [rsp + 0x78]
call fcn.140008a60
nop
test byte [rsp + 0x28], r13b
je 0x140007fe5
mov rcx, qword [rsp + 0x30]
call fcn.140008a60
lea rcx, [rbp - 0x68]
call fcn.14000ba80
lea rdx, [rbp - 0x10]
mov r12, qword [rbp - 0x58]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov r13, rax
cmp rax, 0xffffffffffffffff
jne 0x140008022
mov r13b, 8
test byte [rbp - 0x60], r13b
je 0x14000834b
mov rcx, r12
call fcn.140008a60
jmp 0x14000834b
test byte [rbp - 0x10], 0x10
je 0x1400081bc
mov esi, 2
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x58], 0x10
lea rax, [0x1400239ac]
mov qword [rsp + 0x60], rax
lea rdx, [rbp + 0x1c]
lea rcx, [rsp + 0x50]
call fcn.14000b870
nop
mov dword [rbp - 0x50], esi
mov dword [rbp - 0x4c], esi
mov dword [rbp - 0x48], 0x10
lea rax, [0x1400239ac]
mov qword [rbp - 0x40], rax
lea rdx, [0x140023600]
lea rcx, [rbp - 0x50]
call fcn.14000b870
nop
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x50]
call fcn.14000c268
test eax, eax
sete sil
test byte [rbp - 0x48], 8
je 0x1400080a8
mov rcx, qword [rbp - 0x40]
call fcn.140008a60
test sil, sil
je 0x1400080b2
jmp 0x1400081ab
mov eax, 2
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x6c], eax
mov dword [rsp + 0x70], 0x10
lea rax, [0x1400239ac]
mov qword [rsp + 0x78], rax
lea rdx, [0x140023604]
lea rcx, [rsp + 0x68]
call fcn.14000b870
nop
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x50]
call fcn.14000c268
test eax, eax
sete sil
test byte [rsp + 0x70], 8
je 0x14000810b
mov rcx, qword [rsp + 0x78]
call fcn.140008a60
test sil, sil
je 0x140008115
jmp 0x1400081ab
mov r9, r15
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x38]
call fcn.1400078ac
mov rsi, rax
test rax, rax
jne 0x140008137
mov rdx, rbx
jmp 0x140008143
mov rcx, rax
call fcn.14000ba80
mov rdx, qword [rsi + 0x10]
mov eax, 2
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x28], 0x10
lea rax, [0x1400239ac]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x20]
call fcn.14000b870
nop
test byte [rbp - 0x30], 8
je 0x14000817e
mov rcx, qword [rbp - 0x28]
call fcn.140008a60
lea rcx, [rsp + 0x20]
call fcn.14000ba80
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400081d2
test byte [rsp + 0x28], 8
je 0x1400081ab
mov rcx, rsi
call fcn.140008a60
nop
test byte [rsp + 0x58], 8
je 0x1400081bc
mov rcx, qword [rsp + 0x60]
call fcn.140008a60
lea rdx, [rbp - 0x10]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x140008222
jmp 0x140008022
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x38]
call fcn.140006f08
mov eax, dword [rsp + 0x28]
and eax, 7
mov edi, dword [rsp + 0x40]
and edi, 0xfffffff8
mov dword [rsp + 0x40], edi
or edi, eax
mov dword [rsp + 0x40], edi
btr edi, 8
mov dword [rsp + 0x40], edi
test byte [rsp + 0x28], 8
je 0x140008211
mov rcx, rsi
call fcn.140008a60
nop
test byte [rsp + 0x58], 8
je 0x140008222
mov rcx, qword [rsp + 0x60]
call fcn.140008a60
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, edi
not ecx
and ecx, 1
mov eax, dword [rsp + 0x38]
shr eax, cl
dec eax
jne 0x140008302
mov r8, r15
mov rdx, r14
lea rcx, [rbp - 0x38]
call fcn.140007764
mov rsi, rax
test rax, rax
jne 0x14000825c
mov rdx, rbx
jmp 0x140008268
mov rcx, rax
call fcn.14000ba80
mov rdx, qword [rsi + 0x10]
mov eax, 2
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x28], 0x10
lea rax, [0x1400239ac]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x20]
call fcn.14000b870
nop
mov r13b, 8
test byte [rbp - 0x30], r13b
je 0x1400082a6
mov rcx, qword [rbp - 0x28]
call fcn.140008a60
lea rcx, [rsp + 0x20]
call fcn.14000ba80
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400082ef
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x38]
call fcn.140006f08
mov eax, dword [rsp + 0x28]
and eax, 7
mov edi, dword [rsp + 0x40]
and edi, 0xfffffff8
mov dword [rsp + 0x40], edi
or edi, eax
mov dword [rsp + 0x40], edi
btr edi, 8
mov dword [rsp + 0x40], edi
test byte [rsp + 0x28], r13b
je 0x140008305
mov rcx, qword [rsp + 0x30]
call fcn.140008a60
jmp 0x140008305
mov r13b, 8
test byte [rbp - 0x60], r13b
je 0x140008313
mov rcx, r12
call fcn.140008a60
mov r12d, 2
mov ecx, edi
not ecx
and ecx, 1
mov eax, dword [rsp + 0x38]
shr eax, cl
dec eax
je 0x14000834b
lea rcx, [rsp + 0x38]
call fcn.14000ba80
mov r8d, r12d
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rbx, rax
mov edi, dword [rsp + 0x40]
test r13b, dil
je 0x14000835b
mov rcx, qword [rsp + 0x48]
call fcn.140008a60
nop
test byte [rbp - 0x78], r13b
je 0x14000836a
mov rcx, qword [rbp - 0x70]
call fcn.140008a60
mov rax, rbx
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.14000fbe0
mov rbx, qword [rsp + 0x3a0]
add rsp, 0x350
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret