Function at 0x4b682a
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 0x4fce56
mov eax, dword fs:[0]
push eax
sub esp, 0x2a8
mov eax, dword [0x5466b0]
xor eax, esp
mov dword [esp + 0x2a0], eax
push ebx
push esi
push edi
mov eax, dword [0x5466b0]
xor eax, esp
push eax
lea eax, [esp + 0x2b8]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x14]
xor esi, esi
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 8]
inc esi
mov edi, ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], esi
cmp eax, esi
jne 0x4b68f4
mov eax, dword [edi]
push str.path
mov ecx, edi
xor ebx, ebx
call dword [eax + 0x38]
cmp dword [eax + 4], ebx
je 0x4b68d3
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0046405d
pop ecx
pop ecx
push dword [esp + 0x14]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4b68c8
push dword [esp + 0x14]
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x4b68c8
mov ebx, esi
jmp 0x4b68ca
xor ebx, ebx
lea ecx, [esp + 0x14]
call fcn.004087f0
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x1c], ecx
and dword [esp + 0x2c0], 0
jmp 0x4b7079
push 2
pop esi
cmp eax, esi
jne 0x4b6952
mov eax, dword [edi]
push str.path
mov ecx, edi
xor ebx, ebx
call dword [eax + 0x38]
cmp dword [eax + 4], ebx
je 0x4b692e
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0046405d
pop ecx
pop ecx
push dword [eax]
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
lea ecx, [esp + 0x1c]
mov ebx, eax
call fcn.004087f0
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c0], 1
jmp 0x4b7079
cmp eax, 8
jne 0x4b6a43
mov eax, dword [edi]
push str.path
mov ecx, edi
call dword [eax + 0x38]
mov ecx, dword [eax + 4]
mov ebx, 0x54cfe0
test ecx, ecx
je 0x4b6f5f
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0046405d
mov dword [esp + 0x2c8], esi
push 0x5c
push dword [esp + 0x20]
call fcn.004cc992
add esp, 0x10
test eax, eax
je 0x4b6f4e
and dword [esp + 0x54], 0
xor ecx, ecx
mov dword [esp + 0x58], 7
mov word [esp + 0x44], cx
mov byte [esp + 0x2c0], 3
sub eax, dword [esp + 0x14]
push dword [esp + 0x14]
sar eax, 1
lea ecx, [esp + 0x44]
call fcn.00475668
push ebx
push 0x3c
call fcn.004cba2a
pop ecx
pop ecx
mov dword [esp + 0x1c], eax
mov byte [esp + 0x2c0], 4
test eax, eax
je 0x4b6a02
cmp dword [esp + 0x58], 8
mov ecx, dword [esp + 0x44]
jae 0x4b69f7
lea ecx, [esp + 0x44]
push ecx
push eax
call fcn.0047395e
mov edi, eax
jmp 0x4b6a04
xor edi, edi
mov byte [esp + 0x2c0], 3
test edi, edi
je 0x4b6a35
push ebx
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
test eax, eax
je 0x4b6a29
mov dword [eax + 8], edi
mov dword [eax], 5
jmp 0x4b6a2b
xor eax, eax
mov ecx, dword [esp + 0x18]
push eax
call fcn.0040ed50
lea esi, [esp + 0x40]
call fcn.00437f00
jmp 0x4b6f4e
cmp eax, 9
jne 0x4b6af1
mov eax, dword [edi]
push str.path
mov ecx, edi
call dword [eax + 0x38]
mov ecx, dword [eax + 4]
mov ebx, 0x54cfe0
test ecx, ecx
je 0x4b6f5f
push eax
lea eax, [esp + 0x28]
push eax
call fcn.0046405d
push 5
pop esi
mov dword [esp + 0x2c8], esi
push 0x5c
push dword [esp + 0x30]
call fcn.004cc992
mov edi, eax
add esp, 0x10
test edi, edi
je 0x4b6ae8
push ebx
push 0x3c
call fcn.004cba2a
pop ecx
pop ecx
mov dword [esp + 0x1c], eax
mov byte [esp + 0x2c0], 6
test eax, eax
je 0x4b6ab9
add edi, 2
push edi
push eax
call fcn.0047395e
mov edi, eax
jmp 0x4b6abb
xor edi, edi
mov byte [esp + 0x2c0], 5
test edi, edi
je 0x4b6ae8
push ebx
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
test eax, eax
je 0x4b6adc
mov dword [eax + 8], edi
mov dword [eax], esi
jmp 0x4b6ade
xor eax, eax
mov ecx, dword [esp + 0x18]
push eax
call fcn.0040ed50
lea ecx, [esp + 0x24]
jmp 0x4b6f52
cmp eax, 5
jne 0x4b6db4
mov ebx, 0x54cfe0
push ebx
push 0x20
call fcn.004cba2a
pop ecx
pop ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c0], 7
test eax, eax
je 0x4b6b29
mov esi, eax
call fcn.00460b7c
mov dword [esp + 0x20], eax
jmp 0x4b6b2e
and dword [esp + 0x20], 0
mov esi, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c0], 8
test esi, esi
je 0x4b6d77
mov eax, dword [edi]
push str.path
mov ecx, edi
call dword [eax + 0x38]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b6d43
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0046405d
pop ecx
pop ecx
mov byte [esp + 0x2c0], 9
push dword [esp + 0x14]
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x4b6d32
push 0x51b0c4
mov esi, 0x104
lea edi, [esp + 0x18]
call fcn.00429bb0
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
or eax, 0xffffffff
mov esi, edi
call fcn.004080c0
and dword [esp + 0x24], 0
cmp dword [ebp + 0x10], 0
je 0x4b6bca
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4b6bca
mov ecx, dword [eax + 4]
call fcn.0040c5f0
mov dword [esp + 0x24], eax
push 0x250
lea eax, [esp + 0x60]
push 0
push eax
call fcn.004d7710
add esp, 0xc
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [esp + 0x28], eax
cmp eax, 0xffffffff
je 0x4b6d32
push 4
pop edi
mov ecx, 0x51b0d0
lea eax, [esp + 0x88]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4b6c2d
test dx, dx
je 0x4b6c29
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4b6c2d
add eax, edi
add ecx, edi
test dx, dx
jne 0x4b6c09
xor eax, eax
jmp 0x4b6c32
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4b6d11
mov ecx, 0x51b0d4
lea eax, [esp + 0x88]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4b6c6a
test dx, dx
je 0x4b6c66
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4b6c6a
add eax, edi
add ecx, edi
test dx, dx
jne 0x4b6c46
xor eax, eax
jmp 0x4b6c6f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4b6d11
mov eax, dword [esp + 0x5c]
and eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x24]
jne 0x4b6d11
push ebx
push 0x3c
call fcn.004cba2a
pop ecx
pop ecx
mov dword [esp + 0x2c], eax
mov byte [esp + 0x2c0], 0xa
test eax, eax
je 0x4b6cb5
lea ecx, [esp + 0x88]
push ecx
push eax
call fcn.0047395e
mov esi, eax
jmp 0x4b6cb7
xor esi, esi
mov byte [esp + 0x2c0], 9
test esi, esi
je 0x4b6d11
push ebx
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
test eax, eax
je 0x4b6cdc
mov dword [eax + 8], esi
mov dword [eax], 5
jmp 0x4b6cde
xor eax, eax
push eax
lea esi, [esp + 0x38]
call fcn.0040ec70
mov byte [esp + 0x2c0], 0xb
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
push eax
call dword [edx + 0x10]
mov byte [esp + 0x2c0], 9
mov ecx, esi
mov dword [esp + 0x34], vtable.os::script_shared_ptr_class__variant__.0
call fcn.0040ea60
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x2c]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4b6bfd
push dword [esp + 0x28]
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c0], 8
call fcn.004087f0
push ebx
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
test eax, eax
je 0x4b6d65
mov ecx, dword [esp + 0x20]
and dword [esp + 0x1c], 0
mov dword [eax + 8], ecx
mov dword [eax], 5
jmp 0x4b6d67
xor eax, eax
mov ecx, dword [esp + 0x18]
push eax
call fcn.0040ed50
mov esi, dword [esp + 0x1c]
jmp 0x4b6d96
push ebx
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
test eax, eax
je 0x4b6d8a
and dword [eax], 0
jmp 0x4b6d8c
xor eax, eax
mov ecx, dword [esp + 0x18]
push eax
call fcn.0040ed50
or dword [esp + 0x2c0], 0xffffffff
test esi, esi
je 0x4b70a1
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 8]
jmp 0x4b70a1
cmp eax, 6
jne 0x4b6e1c
xor esi, esi
test ecx, ecx
je 0x4b6df6
cmp dword [ebp + 0x10], 1
jb 0x4b6df6
mov eax, dword [edi]
push str.path
mov ecx, edi
call dword [eax + 0x38]
cmp dword [eax + 4], esi
je 0x4b6df6
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0046405d
pop ecx
pop ecx
push dword [eax]
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
lea ecx, [esp + 0x1c]
mov esi, eax
call fcn.004087f0
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x2c0], 0xc
test ecx, ecx
jmp 0x4b6feb
cmp eax, 7
jne 0x4b6f8a
mov ebx, 0x54cfe0
test ecx, ecx
je 0x4b6f5f
cmp dword [ebp + 0x10], 1
jb 0x4b6f5f
mov eax, dword [edi]
push str.path
mov ecx, edi
call dword [eax + 0x38]
mov edi, eax
cmp dword [edi + 4], 0
je 0x4b6f5f
push dword [esp + 0x28]
lea eax, [esp + 0x18]
push eax
call fcn.0046405d
pop ecx
pop ecx
mov dword [esp + 0x2c0], 0xd
mov eax, dword [esp + 0x14]
mov esi, dword [eax - 0xc]
test esi, esi
jbe 0x4b6f4e
lea eax, [esp + 0x24]
push edi
push eax
call fcn.0046405d
mov byte [esp + 0x2c8], 0xe
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
call fcn.004cdd39
add esp, 0x14
test eax, eax
jne 0x4b6f45
mov ecx, dword [esp + 0x24]
lea eax, [esi + esi]
lea esi, [ecx + eax]
mov ecx, dword [esp + 0x14]
lea eax, [ecx + eax - 2]
movzx eax, word [eax]
cmp ax, 0x5c
je 0x4b6eda
cmp ax, 0x2f
je 0x4b6eda
movzx eax, word [esi]
cmp ax, 0x5c
je 0x4b6eda
cmp ax, 0x2f
jne 0x4b6f45
movzx eax, word [esi]
cmp ax, 0x5c
je 0x4b6ee9
cmp ax, 0x2f
jne 0x4b6eed
inc esi
inc esi
jmp 0x4b6eda
push ebx
push 0x3c
call fcn.004cba2a
pop ecx
pop ecx
mov dword [esp + 0x2c], eax
mov byte [esp + 0x2c0], 0xf
test eax, eax
je 0x4b6f12
push esi
push eax
call fcn.0047395e
mov esi, eax
jmp 0x4b6f14
xor esi, esi
mov byte [esp + 0x2c0], 0xe
test esi, esi
je 0x4b6f45
push ebx
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
test eax, eax
je 0x4b6f39
mov dword [eax + 8], esi
mov dword [eax], 5
jmp 0x4b6f3b
xor eax, eax
mov ecx, dword [esp + 0x18]
push eax
call fcn.0040ed50
lea ecx, [esp + 0x24]
call fcn.004087f0
lea ecx, [esp + 0x14]
or dword [esp + 0x2c0], 0xffffffff
call fcn.004087f0
mov eax, dword [esp + 0x18]
cmp dword [eax + 4], 0
jne 0x4b70a1
push ebx
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
test eax, eax
je 0x4b6f83
and dword [eax], 0
jmp 0x4b7090
xor eax, eax
jmp 0x4b7090
cmp eax, 3
jne 0x4b6ff8
mov eax, dword [edi]
push str.path
mov ecx, edi
xor ebx, ebx
xor esi, esi
call dword [eax + 0x38]
cmp dword [eax + 4], ebx
je 0x4b6fcc
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0046405d
mov eax, dword [eax]
pop ecx
pop ecx
push ebx
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov esi, eax
neg esi
sbb esi, esi
lea ecx, [esp + 0x1c]
inc esi
call fcn.004087f0
push 0x54cfe0
push 0x10
pop edi
push edi
call fcn.004cba2a
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x2c0], edi
cmp ecx, ebx
je 0x4b7086
mov eax, esi
jmp 0x4b707f
cmp eax, 4
jne 0x4b709c
mov eax, dword [edi]
push str.path
mov ecx, edi
xor ebx, ebx
call dword [eax + 0x38]
cmp dword [eax + 4], ebx
je 0x4b705a
push eax
lea eax, [esp + 0x24]
push eax
call fcn.0046405d
pop ecx
pop ecx
push dword [esp + 0x20]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4b7051
push dword [esp + 0x20]
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
push dword [esp + 0x20]
test eax, eax
je 0x4b7049
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x4b704f
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ebx, eax
lea ecx, [esp + 0x20]
call fcn.004087f0
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x2c0], 0x11
test ecx, ecx
je 0x4b7086
mov eax, ebx
call fcn.0040c000
jmp 0x4b7088
xor eax, eax
or dword [esp + 0x2c0], 0xffffffff
mov ecx, dword [esp + 0x18]
push eax
call fcn.0040ed50
jmp 0x4b70a1
and dword [esp + 0x30], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2b8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2a0]
xor ecx, esp
call fcn.004cb38b
mov esp, ebp
pop ebp
ret 0x18