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

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0x4b0
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov rax, qword [0x1402ba4e0]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
mov rsi, rcx
mov rcx, qword [rcx]
test rcx, rcx
je 0x14004336d
mov rax, qword [rcx + 0xb0]
cmp byte [rax + 0xf8c], 0
je 0x14004336d
cmp byte [rax + 0x1194], 0
je 0x14004323c
lea rcx, [rax + 0xf8c]
lea rdx, [r11 - 0x348]
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rdx], al
inc rcx
inc rdx
test al, al
jne 0x140042fe0
lea rcx, [rsp + 0x170]
call fcn.1400c9bc0
mov rdx, qword [rsi]
mov r8, qword [rdx + 0xb0]
lea rdi, [rsp + 0x170]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
nop dword [rax + rax]
movzx eax, byte [r8 + rcx + 0x1194]
mov byte [rdi + rcx - 1], al
inc rcx
test al, al
jne 0x140043020
lea rcx, [rsp + 0x170]
call fcn.1400c9bc0
lea rdi, [rsp + 0x170]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov eax, dword [0x1401eefbc]
mov dword [rdi - 1], eax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14004316d
nop word [rax + rax]
mov rcx, qword [rsi]
mov rdx, qword [rcx + 0xb0]
add rdx, 0xf8c
lea rax, [rsp + 0x280]
nop dword [rax]
movzx ecx, byte [rdx]
mov byte [rax], cl
inc rdx
inc rax
test cl, cl
jne 0x1400430a0
lea rcx, [rsp + 0x280]
call fcn.1400c9bc0
mov rdx, qword [rsi]
mov r8, qword [rdx + 0xb0]
lea rdi, [rsp + 0x280]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
nop dword [rax + rax]
movzx eax, byte [r8 + rcx + 0x1194]
mov byte [rdi + rcx - 1], al
inc rcx
test al, al
jne 0x1400430e0
lea rcx, [rsp + 0x280]
call fcn.1400c9bc0
lea rdi, [rsp + 0x280]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x5c]
xor ecx, ecx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
inc rcx
test al, al
jne 0x140043120
test byte [rsp + 0x30], 0x10
jne 0x140043157
lea rcx, [rsp + 0x280]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x140043157
xor edx, edx
lea rcx, [rsp + 0x280]
call fcn.1400d67e0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x140043080
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rdx, qword [rsi]
mov rcx, qword [rdx + 0xb0]
add rcx, 0xf8c
lea rdx, [rsp + 0x170]
nop
movzx eax, byte [rcx]
mov byte [rdx], al
inc rcx
inc rdx
test al, al
jne 0x140043190
lea rcx, [rsp + 0x170]
call fcn.1400c9bc0
mov rdx, qword [rsi]
mov r8, qword [rdx + 0xb0]
lea rdi, [rsp + 0x170]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
nop dword [rax + rax]
movzx eax, byte [r8 + rcx + 0x1194]
mov byte [rdi + rcx - 1], al
inc rcx
test al, al
jne 0x1400431d0
lea rdx, [rsp + 0x390]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea rcx, [0x140207c38]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
call qword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
jae 0x14004322e
xor edx, edx
lea rcx, [rsp + 0x170]
call fcn.1400d67e0
lea rcx, [rsp + 0x390]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov rax, qword [rsi]
mov rcx, qword [rax + 0xb0]
add rcx, 0xf8c
lea rdx, [rsp + 0x170]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx], al
inc rcx
inc rdx
test al, al
jne 0x140043260
lea rcx, [rsp + 0x170]
call fcn.1400c9bc0
lea rdi, [rsp + 0x170]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov eax, dword [0x1401eefbc]
mov dword [rdi - 1], eax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14004334b
mov rcx, qword [rsi]
mov rdx, qword [rcx + 0xb0]
add rdx, 0xf8c
lea rax, [rsp + 0x280]
nop
movzx ecx, byte [rdx]
mov byte [rax], cl
inc rdx
inc rax
test cl, cl
jne 0x1400432d0
lea rcx, [rsp + 0x280]
call fcn.1400c9bc0
lea rdi, [rsp + 0x280]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x5c]
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
inc rcx
test al, al
jne 0x140043310
test byte [rsp + 0x30], 0x10
jne 0x140043335
xor edx, edx
lea rcx, [rsp + 0x280]
call fcn.1400d67e0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x1400432b5
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rdx, qword [rsi]
mov rcx, qword [rdx + 0xb0]
add rcx, 0xf8c
xor edx, edx
call fcn.1400d67e0
nop
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.14010d170
lea r11, [rsp + 0x4b0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret