Function at 0x140007bd0
Capabilities:
Check if file exists
Delete file
Enumerate files on windows
Get file attributes
Set file attributes

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1e0
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140078038]
xor rax, rsp
mov qword [rbp + 0xd0], rax
mov r14, rcx
xor r12d, r12d
mov ebx, r12d
mov dword [rsp + 0x20], ebx
xor sil, sil
mov rdx, rcx
lea rcx, [rsp + 0x50]
call fcn.140009d00
nop
lea r8d, [r12 + 4]
lea rdx, str..
lea rcx, [rsp + 0x50]
call fcn.14000a720
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rcx, qword [rsp + 0x50]
lea rdx, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x14000809a
nop word [rax + rax]
test byte [rbp - 0x70], 0x14
jne 0x14000807a
mov qword [rsp + 0x60], r12
lea rax, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rax, qword [rsp + 0x50]
mov byte [rax], 0
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
or ebx, 1
mov dword [rsp + 0x20], ebx
mov rdx, qword [r14 + 0x10]
inc rdx
lea rcx, [rsp + 0x70]
call fcn.14000ce70
mov rdx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x140007cc9
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
lea rcx, [rsp + 0x70]
call fcn.14000a720
mov r8d, 1
lea rdx, [0x14006bbe4]
lea rcx, [rsp + 0x70]
call fcn.14000a720
lea rax, [rbp - 0x44]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140007d00
lea rdx, [rbp - 0x44]
lea rcx, [rsp + 0x70]
call fcn.14000a720
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x40], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or ebx, 2
mov edi, ebx
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140007d84
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007d75
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000810b
call fcn.140013ee4
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm1
and ebx, 0xfffffffe
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140007dcd
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007dc8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008111
call fcn.140013ee4
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140007e06
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rcx, qword [rsp + 0x50]
mov edx, 0x80
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
nop
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
or ebx, 4
mov dword [rsp + 0x20], ebx
mov rdx, qword [rsp + 0x60]
add rdx, 0xc
lea rcx, [rsp + 0x70]
call fcn.14000ce70
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rdx, str.__del_file:
lea rcx, [rsp + 0x70]
call fcn.14000a720
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
lea rcx, [rsp + 0x70]
call fcn.14000a720
lea rcx, [rsp + 0x70]
call fcn.140001ec0
mov ebx, edi
and ebx, 0xfffffffa
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140007eb3
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007eae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008117
call fcn.140013ee4
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x140007fe8
cmp eax, 0x21
jne 0x14000807a
mov ecx, dword [0x14007aa28]
nop dword [rax + rax]
mov edi, ebx
cmp ecx, 0x1f
jae 0x140007fe8
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
or ebx, 8
mov dword [rsp + 0x20], ebx
mov rdx, qword [rsp + 0x60]
add rdx, 0xc
lea rcx, [rsp + 0x70]
call fcn.14000ce70
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rdx, str.__del_file:
lea rcx, [rsp + 0x70]
call fcn.14000a720
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
lea rcx, [rsp + 0x70]
call fcn.14000a720
lea rcx, [rsp + 0x70]
call fcn.140001ec0
mov ebx, edi
and ebx, 0xfffffff7
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140007fb4
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007faf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000811d
call fcn.140013ee4
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x14007aa28]
inc ecx
mov dword [0x14007aa28], ecx
cmp eax, 0x21
je 0x140007ef0
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rdx, qword [rsp + 0x50]
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x140008011
lea rcx, [rsp + 0x70]
call fcn.14000a5a0
nop
lea rcx, [rsp + 0x70]
call fcn.140008130
test al, al
sete dil
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140008072
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000806d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008123
call fcn.140013ee4
test dil, dil
jne 0x14000809a
mov sil, 1
lea rdx, [rbp - 0x70]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x140007c70
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x14000809d
xor sil, sil
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x1400080d6
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400080d1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008105
call fcn.140013ee4
movzx eax, sil
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.140013980
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.140022b6c
nop
call fcn.140022b6c
nop
call fcn.140022b6c
int3
call fcn.140022b6c
int3
call fcn.140022b6c
int3
call fcn.140022b6c
int3