Function at 0x140197010
Capabilities:
Check if file exists
Delete directory
Delete file
Enumerate files on windows
Enumerate files recursively
Get file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x328]
sub rsp, 0x400
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x14035cb78]
xor rax, rsp
mov qword [rbp + 0x2d0], rax
mov r12, rcx
mov qword [rbp - 0x10], rcx
xor r14d, r14d
mov dword [rsp + 0x20], r14d
xor dil, dil
mov rdx, rcx
lea rcx, [rbp - 0x70]
call fcn.1400c2a30
mov rbx, rax
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x14019707d
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1401977ce
test al, 0x10
je 0x1401977ce
mov rcx, rbx
call fcn.1400ec0a0
mov rax, qword [r12 + 0x10]
cmp rax, 3
jbe 0x1401977d7
mov rcx, r12
mov rdx, qword [r12 + 0x18]
cmp rdx, 8
jb 0x1401970bd
mov rcx, qword [r12]
cmp word [rcx + rax*2 - 2], 0x5c
jne 0x1401970e0
lea rcx, [rax - 1]
mov qword [r12 + 0x10], rcx
mov rax, r12
cmp rdx, 8
jb 0x1401970db
mov rax, qword [r12]
mov word [rax + rcx*2], r14w
mov rdx, r12
lea rcx, [rbp - 0x50]
call fcn.1400c2a30
mov rsi, rax
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov rbx, r14
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x20], 1
lea r8, [0x1402887d8]
mov rdx, rax
lea rcx, [rbp + 0x38]
call fcn.140194890
nop
lea rcx, [rbp + 0x38]
cmp qword [rbp + 0x50], 8
cmovae rcx, qword [rbp + 0x38]
lea rdx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rdi, rax
mov r15, qword [rsp + 0x30]
cmp rax, 0xffffffffffffffff
je 0x140197236
nop
cmp r15, rbx
je 0x1401971f6
mov rcx, r15
lea rax, [rbp + 0x80]
mov edx, 4
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140197170
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
add r15, 0x250
mov qword [rsp + 0x30], r15
jmp 0x140197214
lea r8, [rbp + 0x80]
mov rdx, r15
lea rcx, [rsp + 0x28]
call fcn.1401949f0
mov rbx, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
lea rdx, [rbp + 0x80]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x140197150
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x140197276
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140197271
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140197823
call fcn.1401c72f8
mov qword [rbp + 0x48], r14
mov qword [rbp + 0x50], 7
mov word [rbp + 0x38], r14w
mov rcx, rsi
call fcn.1400ec0a0
mov r13, qword [rsp + 0x28]
cmp r13, r15
je 0x14019775e
nop dword [rax]
mov qword [rbp + 0x18], r14
mov qword [rbp + 0x28], r14
mov qword [rbp + 0x30], 7
mov word [rbp + 0x18], r14w
lea rdx, [r13 + 0x2c]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x1401972c0
lea rcx, [rbp + 0x18]
call fcn.1400d07a0
nop
mov qword [rbp - 8], r14
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], 7
mov word [rbp - 8], r14w
xor r8d, r8d
lea rdx, [0x140277d2c]
lea rcx, [rbp - 8]
call fcn.1400d07a0
nop
lea r8, [rbp + 0x18]
mov rbx, qword [rbp + 0x18]
mov rdi, qword [rbp + 0x30]
cmp rdi, 8
cmovae r8, rbx
mov rsi, qword [rbp + 0x28]
cmp rsi, 1
jne 0x140197346
mov rdx, rsi
lea rax, [0x1402791ac]
mov rcx, rax
sub r8, rax
nop dword [rax]
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x140197346
add rcx, 2
sub rdx, 1
jne 0x140197330
jmp 0x140197388
lea r8, [rbp + 0x18]
cmp rdi, 8
cmovae r8, rbx
cmp rsi, 2
jne 0x14019740d
mov rdx, rsi
lea rax, [0x1402887ec]
mov rcx, rax
sub r8, rax
nop dword [rax]
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x14019740d
add rcx, 2
sub rdx, 1
jne 0x140197370
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x1401973c9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401973c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140197841
call fcn.1401c72f8
nop
cmp rdi, 8
jb 0x140197744
lea rdx, [rdi*2 + 2]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140197400
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140197847
mov rcx, rbx
call fcn.1401c72f8
jmp 0x140197744
lea r8, [0x140278dd0]
mov rdx, r12
lea rcx, [rbp + 0x58]
call fcn.140194890
nop
lea rdx, [rbp + 0x18]
cmp rdi, 8
cmovae rdx, rbx
mov r8, rsi
mov rcx, rax
call fcn.140197ad0
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
or dword [rsp + 0x20], 2
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x140197494
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14019748f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14019782f
call fcn.1401c72f8
movups xmmword [rbp - 8], xmm6
movups xmmword [rbp + 8], xmm7
mov rdx, qword [rbp + 0x70]
cmp rdx, 8
jb 0x1401974dc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401974d7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140197835
call fcn.1401c72f8
mov word [rbp + 0x58], r14w
mov rbx, qword [rbp - 8]
mov rsi, qword [rbp + 0x10]
mov rdi, qword [rbp + 8]
test byte [r13], 0x10
je 0x1401975b5
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], r14
lea r14, [rbp - 8]
cmp rsi, 8
cmovae r14, rbx
cmp rdi, 8
jae 0x14019753d
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], 7
lea rcx, [rsp + 0x68]
call fcn.140197010
jmp 0x1401976c5
or rdi, 7
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14019783b
lfence
add rcx, rcx
call fcn.1400b9950
mov qword [rsp + 0x68], rax
mov rbx, qword [rbp + 8]
lea r8, [rbx*2 + 2]
mov rdx, r14
mov rcx, rax
call fcn.1401ff6b0
mov qword [rsp + 0x78], rbx
mov qword [rbp - 0x80], rdi
mov r15, qword [rsp + 0x30]
mov rsi, qword [rbp + 0x10]
mov rbx, qword [rbp - 8]
lea rcx, [rsp + 0x68]
call fcn.140197010
jmp 0x1401976c5
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r14
lea r14, [rbp - 8]
cmp rsi, 8
cmovae r14, rbx
cmp rdi, 8
jae 0x1401975ef
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 7
jmp 0x140197659
or rdi, 7
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14019781d
lfence
add rcx, rcx
call fcn.1400b9950
mov qword [rsp + 0x40], rax
mov rbx, qword [rbp + 8]
lea r8, [rbx*2 + 2]
mov rdx, r14
mov rcx, rax
call fcn.1401ff6b0
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rdi
mov r15, qword [rsp + 0x30]
mov rsi, qword [rbp + 0x10]
mov rbx, qword [rbp - 8]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x30]
call fcn.1400c2a30
mov rdi, rax
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x140197681
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1401976b1
test al, 0x10
jne 0x1401976b1
mov rcx, rdi
call fcn.1400ec0a0
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x1401976ba
mov rcx, rdi
call fcn.1400ec0a0
nop
lea rcx, [rsp + 0x40]
call fcn.1400ec0a0
nop
cmp rsi, 8
jb 0x140197701
lea rdx, [rsi*2 + 2]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1401976f8
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140197841
mov rcx, rbx
call fcn.1401c72f8
nop
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x140197741
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14019773c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140197847
call fcn.1401c72f8
xor r14d, r14d
add r13, 0x250
cmp r13, r15
jne 0x1401972a0
mov rbx, qword [rsp + 0x38]
mov r13, qword [rsp + 0x28]
mov rcx, r12
cmp qword [r12 + 0x18], 8
jb 0x14019776d
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
setne dil
test r13, r13
je 0x1401977d7
sub rbx, r13
movabs rax, 0x3759f22983759f23
imul rbx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x250
mov rax, r13
cmp rdx, 0x1000
jb 0x1401977c4
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140197829
mov rcx, r13
call fcn.1401c72f8
jmp 0x1401977d7
mov rcx, rbx
call fcn.1400ec0a0
nop
mov rcx, r12
call fcn.1400ec0a0
movzx eax, dil
mov rcx, qword [rbp + 0x2d0]
xor rcx, rsp
call fcn.1401c7850
lea r11, [rsp + 0x400]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400d0090
nop
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
nop
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
nop
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
nop
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
int3
call fcn.1400d0090
nop
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
nop
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
int3