Function at 0x4b5f6b
Capabilities:
Check if file exists
Create directory
Delete directory
Delete file
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f86d4
mov eax, dword fs:[0]
push eax
sub esp, 0x190
mov eax, dword [0x5466b0]
xor eax, esp
mov dword [esp + 0x188], eax
push ebx
push esi
push edi
mov eax, dword [0x5466b0]
xor eax, esp
push eax
lea eax, [esp + 0x1a0]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
inc ebx
mov edi, ecx
mov dword [esp + 0x28], ebx
cmp eax, ebx
jne 0x4b6041
mov eax, dword [edi]
and dword [esp + 0x1c], 0
push str.path
call dword [eax + 0x38]
mov esi, eax
mov eax, dword [esi + 4]
test eax, eax
je 0x4b6013
cmp dword [eax], ebx
jne 0x4b6013
mov eax, dword [eax + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x4b600e
mov eax, dword [esi + 4]
cmp dword [eax], ebx
jne 0x4b5ffb
mov eax, dword [eax + 8]
jmp 0x4b5ffd
xor eax, eax
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryA]
test eax, eax
jne 0x4b600e
mov dword [esp + 0x1c], ebx
jmp 0x4b6013
and dword [esp + 0x1c], 0
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x18], ecx
xor eax, eax
mov dword [esp + 0x1a8], eax
cmp ecx, eax
je 0x4b66d0
mov eax, dword [esp + 0x1c]
jmp 0x4b66c7
cmp eax, 2
jne 0x4b6089
mov eax, dword [edi]
push str.path
xor esi, esi
call dword [eax + 0x38]
mov eax, dword [eax + 4]
test eax, eax
je 0x4b6069
cmp dword [eax], ebx
jne 0x4b6069
mov eax, dword [eax + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryA]
mov esi, eax
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1a8], ebx
jmp 0x4b661c
cmp eax, 8
jne 0x4b616e
mov eax, dword [edi]
push str.path
call dword [eax + 0x38]
mov edi, eax
mov eax, dword [edi + 4]
test eax, eax
je 0x4b61e3
cmp dword [eax], ebx
jne 0x4b61e3
mov eax, dword [eax + 8]
push 0x5c
push eax
call fcn.004cfbf0
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4b61e3
push 0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], 0xf
call fcn.00401830
mov dword [esp + 0x1a8], 2
mov eax, dword [edi + 4]
cmp dword [eax], ebx
jne 0x4b60f2
mov ecx, dword [eax + 8]
jmp 0x4b60f4
xor ecx, ecx
cmp dword [eax], ebx
jne 0x4b60fd
mov eax, dword [eax + 8]
jmp 0x4b60ff
xor eax, eax
sub esi, ecx
push esi
push eax
lea eax, [esp + 0x40]
call fcn.004548d0
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
mov esi, eax
pop ecx
mov dword [esp + 0x18], esi
mov byte [esp + 0x1a8], 3
test esi, esi
je 0x4b6147
cmp dword [esp + 0x50], 0x10
mov ebx, dword [esp + 0x3c]
jae 0x4b613b
lea ebx, [esp + 0x3c]
and dword [esi], 0
mov eax, esi
call fcn.0040c040
jmp 0x4b6149
xor esi, esi
mov ecx, dword [esp + 0x14]
push esi
mov byte [esp + 0x1ac], 2
call fcn.0040ed50
or dword [esp + 0x1a8], 0xffffffff
lea ecx, [esp + 0x38]
call fcn.004018a0
jmp 0x4b61e3
cmp eax, 9
jne 0x4b6212
mov eax, dword [edi]
push str.path
call dword [eax + 0x38]
mov eax, dword [eax + 4]
test eax, eax
je 0x4b61e3
cmp dword [eax], ebx
jne 0x4b61e3
mov eax, dword [eax + 8]
push 0x5c
push eax
call fcn.004cfbf0
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4b61e3
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
mov esi, eax
pop ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1a8], 4
test esi, esi
je 0x4b61cf
and dword [esi], 0
lea ebx, [edi + 1]
call fcn.0040c040
jmp 0x4b61d1
xor esi, esi
mov ecx, dword [esp + 0x14]
or dword [esp + 0x1a8], 0xffffffff
push esi
call fcn.0040ed50
mov eax, dword [esp + 0x14]
cmp dword [eax + 4], 0
jne 0x4b66e9
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
test eax, eax
je 0x4b620b
and dword [eax], 0
jmp 0x4b66d8
xor eax, eax
jmp 0x4b66d8
push 5
pop ebx
cmp eax, ebx
jne 0x4b6439
push 0x54cfe0
push 0x20
call fcn.004cba2a
pop ecx
pop ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1a8], ebx
test eax, eax
je 0x4b6249
mov esi, eax
call fcn.00460b7c
mov ebx, eax
mov dword [esp + 0x1c], ebx
jmp 0x4b6252
and dword [esp + 0x1c], 0
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1a8], 6
test ebx, ebx
je 0x4b63f3
mov eax, dword [edi]
push str.path
mov ecx, edi
call dword [eax + 0x38]
mov eax, dword [eax + 4]
test eax, eax
je 0x4b63d1
cmp dword [eax], 1
jne 0x4b63d1
mov eax, dword [eax + 8]
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
call fcn.00417170
mov byte [esp + 0x1a8], 7
push dword [esp + 0x20]
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryA]
test eax, eax
je 0x4b63c0
push 0x51e1cc
mov esi, 0x104
lea edi, [esp + 0x24]
call fcn.004174b0
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendA]
mov esi, edi
call fcn.004174f0
push 0x140
lea eax, [esp + 0x58]
push 0
push eax
call fcn.004d7710
add esp, 0xc
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x4b63c0
lea eax, [esp + 0x80]
push 0x51c760
push eax
call fcn.004cd988
pop ecx
pop ecx
test eax, eax
je 0x4b63a5
lea eax, [esp + 0x80]
push 0x51e1d0
push eax
call fcn.004cd988
pop ecx
pop ecx
test eax, eax
je 0x4b63a5
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
mov esi, eax
pop ecx
mov dword [esp + 0x24], esi
mov byte [esp + 0x1a8], 8
test esi, esi
je 0x4b636a
and dword [esi], 0
lea ebx, [esp + 0x80]
call fcn.0040c040
mov ebx, dword [esp + 0x1c]
jmp 0x4b636c
xor esi, esi
push esi
lea esi, [esp + 0x30]
mov byte [esp + 0x1ac], 7
call fcn.0040ec70
mov byte [esp + 0x1a8], 9
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov byte [esp + 0x1a8], 7
mov ecx, esi
mov dword [esp + 0x2c], vtable.os::script_shared_ptr_class__variant__.0
call fcn.0040ea60
lea eax, [esp + 0x54]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4b6301
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [esp + 0x20]
mov byte [esp + 0x1a8], 6
call fcn.0042afc0
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
test eax, eax
je 0x4b640a
and dword [esp + 0x18], 0
mov dword [eax + 8], ebx
mov dword [eax], 5
jmp 0x4b640c
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
test eax, eax
je 0x4b640a
and dword [eax], 0
jmp 0x4b640c
xor eax, eax
mov ecx, dword [esp + 0x14]
push eax
call fcn.0040ed50
or dword [esp + 0x1a8], 0xffffffff
cmp dword [esp + 0x18], 0
je 0x4b66e9
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
push 1
call dword [eax + 8]
jmp 0x4b66e9
cmp eax, 6
jne 0x4b649c
xor ebx, ebx
test esi, esi
je 0x4b6478
cmp dword [ebp + 0x10], 1
jb 0x4b6478
mov eax, dword [edi]
push str.path
call dword [eax + 0x38]
mov eax, dword [eax + 4]
test eax, eax
je 0x4b6478
cmp dword [eax], 1
jne 0x4b6478
mov eax, dword [esi + 4]
cmp dword [eax], 1
jne 0x4b646d
mov eax, dword [eax + 8]
jmp 0x4b646f
xor eax, eax
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeA]
mov ebx, eax
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1a8], 0xa
jmp 0x4b66c1
cmp eax, 7
jne 0x4b65cd
test esi, esi
je 0x4b659f
cmp dword [ebp + 0x10], 1
jb 0x4b659f
mov eax, dword [edi]
push str.path
call dword [eax + 0x38]
mov edi, dword [eax + 4]
mov dword [esp + 0x18], eax
test edi, edi
je 0x4b659f
cmp dword [edi], 1
jne 0x4b659f
mov eax, dword [esi + 4]
cmp dword [eax], 1
jne 0x4b64e6
mov ebx, dword [eax + 8]
jmp 0x4b64e8
xor ebx, ebx
test ebx, ebx
je 0x4b659f
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b64f5
sub eax, edx
mov esi, eax
je 0x4b659f
cmp dword [edi], 1
jne 0x4b6510
mov edi, dword [edi + 8]
jmp 0x4b6512
xor edi, edi
push esi
push ebx
push edi
call fcn.004cfb87
add esp, 0xc
test eax, eax
jne 0x4b659f
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
cmp dword [eax], 1
jne 0x4b6532
mov eax, dword [eax + 8]
jmp 0x4b6534
xor eax, eax
lea edi, [eax + esi]
lea eax, [esi + ebx - 1]
mov al, byte [eax]
cmp al, 0x5c
je 0x4b654f
cmp al, 0x2f
je 0x4b654f
mov al, byte [edi]
cmp al, 0x5c
je 0x4b654f
cmp al, 0x2f
jne 0x4b659f
mov al, byte [edi]
cmp al, 0x5c
je 0x4b6559
cmp al, 0x2f
jne 0x4b655c
inc edi
jmp 0x4b654f
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
mov esi, eax
pop ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x1a8], 0xb
test esi, esi
je 0x4b658b
and dword [esi], 0
mov ebx, edi
call fcn.0040c040
jmp 0x4b658d
xor esi, esi
mov ecx, dword [esp + 0x14]
or dword [esp + 0x1a8], 0xffffffff
push esi
call fcn.0040ed50
mov esi, dword [esp + 0x14]
cmp dword [esi + 4], 0
jne 0x4b66e9
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
test eax, eax
je 0x4b65c4
and dword [eax], 0
jmp 0x4b65c6
xor eax, eax
mov ecx, esi
jmp 0x4b66dc
cmp eax, 3
jne 0x4b662b
mov eax, dword [edi]
push str.path
xor esi, esi
call dword [eax + 0x38]
mov eax, dword [eax + 4]
test eax, eax
je 0x4b65fd
cmp dword [eax], 1
jne 0x4b65fd
mov eax, dword [eax + 8]
push esi
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExA]
mov esi, eax
neg esi
sbb esi, esi
inc esi
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1a8], 0xc
test ecx, ecx
je 0x4b66ce
mov eax, esi
jmp 0x4b66c7
cmp eax, 4
jne 0x4b66e4
mov eax, dword [edi]
push str.path
xor ebx, ebx
call dword [eax + 0x38]
mov esi, eax
mov eax, dword [esi + 4]
test eax, eax
je 0x4b66a2
xor edi, edi
inc edi
cmp dword [eax], edi
jne 0x4b66a2
mov eax, dword [eax + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x4b66a2
mov eax, dword [esi + 4]
cmp dword [eax], edi
jne 0x4b666a
mov eax, dword [eax + 8]
jmp 0x4b666c
xor eax, eax
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryA]
mov esi, dword [esi + 4]
test eax, eax
je 0x4b668e
cmp dword [esi], edi
jne 0x4b6683
mov esi, dword [esi + 8]
jmp 0x4b6685
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
jmp 0x4b66a0
cmp dword [esi], edi
jne 0x4b6697
mov esi, dword [esi + 8]
jmp 0x4b6699
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ebx, eax
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1a8], 0xd
test ecx, ecx
je 0x4b66ce
mov eax, ebx
call fcn.0040c000
jmp 0x4b66d0
xor eax, eax
or dword [esp + 0x1a8], 0xffffffff
mov ecx, dword [esp + 0x14]
push eax
call fcn.0040ed50
jmp 0x4b66e9
and dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x1a0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x188]
xor ecx, esp
call fcn.004cb38b
mov esp, ebp
pop ebp
ret 0x18