Function at 0x1400bab70
Capabilities:
Delete directory
Delete file
Enumerate files on windows
Get common file path
Set current directory

Disassembly:
push rdi
sub rsp, 0x6d0
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x6e8], rbx
mov rax, qword [0x14030bc70]
xor rax, rsp
mov qword [rsp + 0x6c0], rax
mov rdi, rcx
mov rdx, qword [rcx + 0xb0]
cmp byte [rdx + 0x2580], 0
je 0x1400bae2f
add rdx, 0x247c
lea rcx, [rsp + 0x170]
sub rcx, rdx
nop word [rax + rax]
movzx eax, byte [rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1400babd0
lea rcx, [rsp + 0x170]
call fcn.1400f7c20
mov r8, qword [rdi + 0xb0]
lea rcx, [rsp + 0x170]
dec rcx
nop dword [rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400bac00
xor edx, edx
nop dword [rax + rax]
movzx eax, byte [r8 + rdx + 0x2580]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1400bac10
lea rcx, [rsp + 0x170]
call fcn.1400f7c20
lea rcx, [rsp + 0x170]
dec rcx
nop dword [rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400bac40
mov eax, dword [0x1402895a0]
mov dword [rcx], eax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400bad70
mov rcx, qword [rdi + 0xb0]
add rcx, 0x247c
lea rdx, [rsp + 0x4a0]
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400bac90
lea rcx, [rsp + 0x4a0]
call fcn.1400f7c20
mov r8, qword [rdi + 0xb0]
lea rcx, [rsp + 0x4a0]
dec rcx
nop dword [rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400bacc0
xor edx, edx
nop dword [rax + rax]
movzx eax, byte [r8 + rdx + 0x2580]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1400bacd0
lea rcx, [rsp + 0x4a0]
call fcn.1400f7c20
lea rcx, [rsp + 0x4a0]
dec rcx
nop dword [rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400bad00
lea r8, [rsp + 0x5c]
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1400bad10
test byte [rsp + 0x30], 0x10
jne 0x1400bad48
lea rcx, [rsp + 0x4a0]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x1400bad48
xor edx, edx
lea rcx, [rsp + 0x4a0]
call fcn.1400fd640
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rsp + 0x30]
call fcn.140141ad0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x1400bac71
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, qword [rdi + 0xb0]
add rcx, 0x247c
lea rdx, [rsp + 0x170]
sub rdx, rcx
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400bad92
lea rcx, [rsp + 0x170]
call fcn.1400f7c20
mov r8, qword [rdi + 0xb0]
lea rcx, [rsp + 0x170]
dec rcx
nop
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400badc0
xor edx, edx
nop dword [rax + rax]
movzx eax, byte [r8 + rdx + 0x2580]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1400badd0
lea rdx, [rsp + 0x280]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea rcx, [0x140211378]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
xor edx, edx
lea rcx, [rsp + 0x170]
call fcn.1400fd640
lea rcx, [rsp + 0x280]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov rcx, qword [rdi + 0xb0]
cmp byte [rcx + 0x8f38], 0
je 0x1400bb20f
add rcx, 0x247c
lea rdx, [rsp + 0x170]
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400bae60
lea rcx, [rsp + 0x170]
call fcn.1400f7c20
mov r8, qword [rdi + 0xb0]
lea rcx, [rsp + 0x170]
dec rcx
nop dword [rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400bae90
xor edx, edx
nop dword [rax + rax]
movzx eax, byte [r8 + rdx + 0x8f38]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1400baea0
lea rcx, [rsp + 0x170]
call fcn.1400f7c20
lea rcx, [rsp + 0x170]
dec rcx
nop dword [rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400baed0
mov eax, dword [0x1402895a0]
mov dword [rcx], eax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400bb052
mov rcx, qword [rdi + 0xb0]
add rcx, 0x247c
lea rdx, [rsp + 0x390]
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400baf20
lea rcx, [rsp + 0x390]
call fcn.1400f7c20
mov r8, qword [rdi + 0xb0]
lea rcx, [rsp + 0x390]
dec rcx
nop dword [rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400baf50
xor edx, edx
nop dword [rax + rax]
movzx eax, byte [r8 + rdx + 0x8f38]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1400baf60
lea rcx, [rsp + 0x390]
call fcn.1400f7c20
lea rcx, [rsp + 0x390]
dec rcx
nop dword [rax]
inc rcx
cmp byte [rcx], 0
jne 0x1400baf90
lea r8, [rsp + 0x5c]
xor edx, edx
nop
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1400bafa0
test byte [rsp + 0x30], 0x10
je 0x1400bb009
movzx ecx, byte [rsp + 0x5c]
movzx eax, byte [rsp + 0x5d]
cmp cl, byte [0x140285d2c]
jne 0x1400bafd1
cmp al, byte [0x140285d2d]
je 0x1400bb02a
cmp cl, byte [0x1402895a4]
jne 0x1400bafee
cmp al, byte [0x1402895a5]
jne 0x1400bafee
movzx eax, byte [rsp + 0x5e]
cmp al, byte [0x1402895a6]
je 0x1400bb02a
lea r8, [0x1402895a0]
lea rdx, [rsp + 0x390]
mov ecx, 1
call fcn.1400fd0d0
jmp 0x1400bb017
lea rcx, [rsp + 0x390]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x1400bb02a
xor edx, edx
lea rcx, [rsp + 0x390]
call fcn.1400fd640
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rsp + 0x30]
call fcn.140141ad0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x1400baf01
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, qword [rdi + 0xb0]
add rcx, 0x247c
lea rdx, [rsp + 0x170]
sub rdx, rcx
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400bb080
lea rcx, [rsp + 0x170]
call fcn.1400f7c20
mov r8, qword [rdi + 0xb0]
lea rcx, [rsp + 0x170]
dec rcx
nop dword [rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400bb0b0
xor edx, edx
nop dword [rax + rax]
movzx eax, byte [r8 + rdx + 0x8f38]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1400bb0c0
lea rcx, [rsp + 0x170]
call fcn.1400f7c20
mov r8, qword [rdi + 0xb0]
lea rcx, [rsp + 0x170]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400bb0f3
xor edx, edx
nop
movzx eax, byte [r8 + rdx + 0x903c]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1400bb100
lea rcx, [rsp + 0x170]
dec rcx
nop
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400bb120
mov eax, dword [str..dat]
mov dword [rcx], eax
movzx eax, byte [0x1402138dc]
mov byte [rcx + 4], al
xor edx, edx
lea rcx, [rsp + 0x170]
call fcn.1400fd640
mov rcx, qword [rdi + 0xb0]
add rcx, 0x247c
lea rdx, [rsp + 0x170]
sub rdx, rcx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400bb170
lea rcx, [rsp + 0x170]
call fcn.1400f7c20
mov r8, qword [rdi + 0xb0]
lea rcx, [rsp + 0x170]
dec rcx
nop dword [rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400bb1a0
xor edx, edx
nop dword [rax + rax]
movzx eax, byte [r8 + rdx + 0x8f38]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1400bb1b0
lea rdx, [rsp + 0x280]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea rcx, [0x140211378]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
xor edx, edx
lea rcx, [rsp + 0x170]
call fcn.1400fd640
lea rcx, [rsp + 0x280]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov rcx, qword [rdi + 0xb0]
add rcx, 0x247c
cmp byte [rcx], 0
je 0x1400bb40a
lea rdx, [rsp + 0x170]
sub rdx, rcx
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400bb231
lea rcx, [rsp + 0x170]
call fcn.1400f7c20
lea rcx, [rsp + 0x170]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400bb257
movzx eax, word [0x14020fc90]
mov word [rcx], ax
movzx eax, byte [0x14020fc92]
mov byte [rcx + 2], al
mov r8, qword [rdi + 0xb0]
lea rcx, [rsp + 0x170]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400bb286
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rdx + 0x2684]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1400bb2a0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400bb401
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rdi + 0xb0]
add rcx, 0x247c
lea rdx, [rsp + 0x280]
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400bb300
lea rcx, [rsp + 0x280]
call fcn.1400f7c20
lea rcx, [rsp + 0x280]
dec rcx
inc rcx
cmp byte [rcx], 0
jne 0x1400bb326
lea r8, [rsp + 0x5c]
xor edx, edx
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1400bb340
test byte [rsp + 0x30], 0x10
je 0x1400bb3bc
movzx ecx, byte [rsp + 0x5c]
movzx eax, byte [rsp + 0x5d]
cmp cl, byte [0x140285d2c]
jne 0x1400bb371
cmp al, byte [0x140285d2d]
je 0x1400bb3d9
cmp cl, byte [0x1402895a4]
jne 0x1400bb38e
cmp al, byte [0x1402895a5]
jne 0x1400bb38e
movzx eax, byte [rsp + 0x5e]
cmp al, byte [0x1402895a6]
je 0x1400bb3d9
lea r8, [0x1402895a0]
lea rdx, [rsp + 0x280]
mov ecx, 1
call fcn.1400fd0d0
test eax, eax
jne 0x1400bb3d9
xor edx, edx
lea rcx, [rsp + 0x280]
call fcn.1400fd640
jmp 0x1400bb3d9
xor edx, edx
lea rcx, [rsp + 0x280]
call fcn.1400fd640
lea rcx, [rsp + 0x280]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rsp + 0x30]
call fcn.140141ad0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x1400bb2e0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, qword [rdi + 0xb0]
add rcx, 0x134
xor edx, edx
call fcn.1400fd640
lea rdx, [rsp + 0x5b0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea rcx, [0x140211378]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov rcx, qword [rdi + 0xb0]
add rcx, 0x247c
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov rcx, qword [rdi + 0xb0]
add rcx, 0x247c
xor edx, edx
call fcn.1400fd640
lea rcx, [rsp + 0x5b0]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
nop
mov rcx, qword [rsp + 0x6c0]
xor rcx, rsp
call fcn.140113910
mov rbx, qword [rsp + 0x6e8]
add rsp, 0x6d0
pop rdi
ret