Function at 0x482e19
Capabilities:
Check if file exists
Create directory
Enumerate files on windows
Get file attributes

Disassembly:
push ebp
sub esp, 0x280
lea ebp, [esp - 4]
mov eax, dword [0x4c3360]
xor eax, ebp
mov dword [ebp + 0x280], eax
push 0x68
mov eax, 0x49b860
call fcn.00454d31
mov ebx, dword [ebp + 0x28c]
mov eax, dword [ebp + 0x294]
mov esi, dword [ebp + 0x290]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x2c], eax
test ebx, ebx
je 0x483561
mov eax, dword [esi]
push 3
mov ecx, esi
call dword [eax + 0x10]
test al, al
je 0x483534
mov eax, dword [esi]
push 2
mov ecx, esi
call dword [eax + 0x10]
test al, al
je 0x483534
and dword [ebp + 0x250], 0
and dword [ebp - 0x38], 0
xor eax, eax
lea edi, [ebp + 0x254]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea ecx, [ebp - 0x38]
push ecx
stosd dword es:[edi], eax
mov eax, dword [esi]
push 3
mov ecx, esi
call dword [eax + 0x68]
test al, al
je 0x483513
mov eax, dword [esi]
lea ecx, [ebp + 0x250]
push ecx
push 2
mov ecx, esi
call dword [eax + 0x58]
test al, al
je 0x483513
xor esi, esi
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x28], esi
call fcn.0043d9d0
mov dword [ebp - 4], esi
push 0x4c6540
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call fcn.0040cc78
push dword [ebp - 0x38]
lea eax, [ebp - 0x18]
push 0x4aac78
push eax
mov byte [ebp - 4], 2
call fcn.004082d5
add esp, 0xc
push ebx
lea ecx, [ebp - 0x14]
call fcn.0040ca90
mov edi, dword [ebp - 0x18]
lea eax, [ebp - 0x14]
push edi
push eax
mov byte [ebp - 4], 3
call fcn.0043e388
pop ecx
pop ecx
test al, al
jne 0x482f42
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401395
lea ecx, [edi - 0x10]
call fcn.00401395
mov esi, 0x8007000e
lea ecx, [ebp - 0x60]
call fcn.0043d9b0
mov eax, esi
jmp 0x483566
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
setne byte [ebp - 0x19]
cmp byte [ebp - 0x19], 0
je 0x48320f
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x30], esi
call fcn.0040cbfb
lea eax, [ebp - 0x20]
push 0x4aac6c
push eax
call fcn.0043e388
pop ecx
pop ecx
test al, al
jne 0x482f94
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
mov esi, 0x8007000e
call fcn.00401395
jmp 0x48304e
lea eax, [ebp]
push eax
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x482fd6
cmp ebx, esi
je 0x482fd6
test byte [ebp], 0xa0
je 0x482fb5
inc dword [ebp - 0x30]
lea eax, [ebp]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x482fac
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.00401395
mov edi, 0x4c6094
jmp 0x48302f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [0x4c6094]
mov edi, 0x4c6094
cmp eax, edi
je 0x483011
test byte [eax + 0x1c], 1
je 0x483011
cmp byte [eax + 0x19], 2
jb 0x483011
push esi
push dword [ebp - 0x20]
push 0x4aaa88
push 0x3f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.00444114
add esp, 0x18
test esi, esi
jle 0x483021
and esi, 0xffff
or esi, 0x80070000
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
mov dword [ebp - 0x28], esi
call fcn.00401395
test ebx, ebx
je 0x48303f
cmp ebx, 0xffffffff
je 0x48303f
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
test esi, esi
jge 0x483066
cmp esi, 0x80070002
je 0x483066
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401395
lea ecx, [edi - 0x10]
call fcn.00401395
jmp 0x482f33
call fcn.0043d27f
test eax, eax
jne 0x4830b9
mov eax, dword [0x4c6094]
cmp eax, edi
je 0x483099
test byte [eax + 0x1c], 1
je 0x483099
cmp byte [eax + 0x19], 2
jb 0x483099
push 0x4aaa88
push 0x40
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0042524a
add esp, 0x10
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401395
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00401395
mov esi, 0x8000ffff
jmp 0x482f33
push eax
lea ecx, [ebp - 0x24]
call fcn.0040ca90
lea eax, [ebp - 0x24]
push 0x4aaa98
push eax
call fcn.0043e388
pop ecx
pop ecx
test al, al
jne 0x4830f7
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.00401395
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401395
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
jmp 0x482f29
push 0xa
pop ebx
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x34], ebx
call fcn.0043a5a9
mov esi, 0x20019
call fcn.0043afaf
test al, al
je 0x483118
mov esi, 0x20219
push 0
push esi
push dword [ebp - 0x24]
lea ecx, [ebp - 0x6c]
push SysStringLen
call fcn.0043ad0e
test eax, eax
je 0x483167
lea eax, [ebp - 0x34]
push eax
mov esi, 0x4aaadc
push esi
lea ecx, [ebp - 0x6c]
call fcn.0043a759
test eax, eax
jne 0x483194
mov dword [ebp - 0x34], ebx
mov eax, dword [0x4c6094]
cmp eax, edi
je 0x483199
test byte [eax + 0x1c], 1
je 0x483199
cmp byte [eax + 0x19], 3
jb 0x483199
push esi
push 0x4aaa88
push 0x41
jmp 0x483186
mov eax, dword [0x4c6094]
cmp eax, edi
je 0x483199
test byte [eax + 0x1c], 1
je 0x483199
cmp byte [eax + 0x19], 3
jb 0x483199
push dword [ebp - 0x24]
push 0x4aaa88
push 0x42
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0042528a
add esp, 0x14
mov eax, dword [0x4c6094]
mov ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x30], ecx
jb 0x4831fa
cmp eax, edi
je 0x4831c9
test byte [eax + 0x1c], 1
je 0x4831c9
cmp byte [eax + 0x19], 4
jb 0x4831c9
push dword [ebp - 0x14]
push 0x4aaa88
push 0x43
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0042528a
add esp, 0x14
lea ecx, [ebp - 0x6c]
call fcn.0043a88a
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.00401395
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401395
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00401395
xor esi, esi
inc esi
jmp 0x482f33
lea ecx, [ebp - 0x6c]
call fcn.0043a88a
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.00401395
jmp 0x483214
mov edi, 0x4c6094
cmp dword [ebp - 0x2c], 0
mov ebx, 0x4aaa88
jne 0x483289
cmp byte [ebp - 0x19], 0
jne 0x483294
push 0
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x483294
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [0x4c6094]
cmp eax, edi
je 0x483263
test byte [eax + 0x1c], 1
je 0x483263
cmp byte [eax + 0x19], 2
jb 0x483263
push esi
push ebx
push 0x44
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.00425267
add esp, 0x14
test esi, esi
jle 0x483273
and esi, 0xffff
or esi, 0x80070000
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401395
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
jmp 0x48305c
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x14]
call fcn.004084de
push 0x4c6540
lea ecx, [ebp - 0x2c]
call fcn.0040cc78
movzx eax, byte [ebp + 0x25f]
push eax
movzx eax, byte [ebp + 0x25e]
push eax
movzx eax, byte [ebp + 0x25d]
push eax
movzx eax, byte [ebp + 0x25c]
push eax
movzx eax, byte [ebp + 0x25b]
push eax
movzx eax, byte [ebp + 0x25a]
push eax
movzx eax, byte [ebp + 0x259]
push eax
movzx eax, byte [ebp + 0x258]
push eax
movzx eax, word [ebp + 0x256]
push eax
movzx eax, word [ebp + 0x254]
push eax
push dword [ebp + 0x250]
lea eax, [ebp - 0x2c]
push 0x4aac00
push eax
mov byte [ebp - 4], 4
call fcn.004082d5
mov esi, dword [ebp - 0x2c]
add esp, 0x34
lea eax, [ebp - 0x14]
push esi
push eax
call fcn.0043e388
pop ecx
pop ecx
test al, al
jne 0x483327
lea ecx, [esi - 0x10]
jmp 0x4830dc
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x48336b
mov eax, dword [0x4c6094]
cmp eax, edi
je 0x48335e
test byte [eax + 0x1c], 1
je 0x48335e
cmp byte [eax + 0x19], 2
jb 0x48335e
push dword [ebp - 0x14]
push ebx
push 0x45
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0042528a
add esp, 0x14
lea ecx, [esi - 0x10]
call fcn.00401395
jmp 0x483099
push 1
push dword [ebp - 0x14]
lea ecx, [ebp + 0x264]
call fcn.00489fce
mov ecx, eax
call fcn.0048a00b
mov ecx, eax
call fcn.00489ff5
mov ecx, eax
call fcn.00489fff
mov ecx, dword [ebp - 0x3c]
push eax
add ecx, 0xc0
call fcn.0048b79d
mov dword [ebp - 0x28], eax
test eax, eax
jge 0x4833cc
lea ecx, [esi - 0x10]
call fcn.00401395
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401395
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00401395
mov esi, dword [ebp - 0x28]
jmp 0x482f33
mov eax, dword [0x4c6094]
cmp eax, edi
je 0x4833f3
test byte [eax + 0x1c], 1
je 0x4833f3
cmp byte [eax + 0x19], 4
jb 0x4833f3
push esi
push ebx
push 0x46
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0042528a
add esp, 0x14
lea ecx, [esi - 0x10]
call fcn.00401395
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401395
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00401395
lea ecx, [ebp - 0x60]
call fcn.0043d9a3
test al, al
jne 0x482f2e
lea ecx, [ebp - 0x60]
call fcn.0043d9b0
mov eax, dword [ebp - 0x28]
jmp 0x483566
mov eax, dword [0x4c6094]
cmp eax, 0x4c6094
je 0x483561
test byte [eax + 0x1c], 1
je 0x483561
cmp byte [eax + 0x19], 2
jb 0x483561
push 0x4aaa88
push 0x3e
jmp 0x483553
mov eax, dword [0x4c6094]
cmp eax, 0x4c6094
je 0x483561
test byte [eax + 0x1c], 1
je 0x483561
cmp byte [eax + 0x19], 2
jb 0x483561
push 0x4aaa88
push 0x3d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0042524a
add esp, 0x10
mov eax, 0x80070057
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x280]
xor ecx, ebp
call fcn.0044fc8e
add ebp, 0x284
leave
ret 0xc