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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x11185f82
mov eax, dword fs:[0]
push eax
sub esp, 0x1bc
mov eax, dword [0x111ec774]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ebx, ecx
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x180], ebx
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], 0x34bd
call fcn.110d1930
xor edi, edi
push 3
mov dword [ebp - 4], edi
mov dword [ebp - 0x16c], edi
mov dword [ebp - 0x168], edi
mov dword [ebp - 0x164], edi
call fcn.111457a0
add esp, 4
push eax
lea ecx, [ebp - 0x160]
call fcn.110d0960
push 0x111f1520
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 1
call fcn.110d1740
mov edx, dword [ebp - 0x160]
mov eax, dword [edx]
lea ecx, [ebp - 0x160]
call eax
test al, al
jne 0x110bd5e0
push 0x255
push 0x11195b24
push 0x11195b1c
call fcn.11029a70
add esp, 0xc
mov ecx, dword [ebp - 0x154]
push ecx
call dword [sym.imp.KeRneL32.DLl_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x110bd803
mov edx, dword [ebp - 0x160]
mov eax, dword [edx]
lea ecx, [ebp - 0x160]
call eax
test al, al
jne 0x110bd621
push 0x255
push 0x11195b24
push 0x11195b1c
call fcn.11029a70
add esp, 0xc
mov ecx, dword [ebp - 0x154]
push edi
push ecx
call dword [sym.imp.KeRneL32.DLl_CreateDirectoryA]
push edi
call fcn.111457a0
add esp, 4
push eax
lea ecx, [ebp - 0x1c8]
call fcn.110d0960
push 0x111f1520
lea ecx, [ebp - 0x1c8]
mov byte [ebp - 4], 2
call fcn.110d1740
lea edx, [ebp - 0x1c8]
push edx
lea ecx, [ebp - 0x1a8]
call fcn.110d08a0
push 0x111a9e7c
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 3
call fcn.110d1780
mov eax, dword [ebp - 0x1a8]
mov edx, dword [eax]
lea ecx, [ebp - 0x1a8]
call edx
test al, al
jne 0x110bd6a9
push 0x255
push 0x11195b24
push 0x11195b1c
call fcn.11029a70
add esp, 0xc
mov ecx, dword [ebp - 0x19c]
lea eax, [ebp - 0x150]
push eax
push ecx
call dword [sym.imp.KeRneL32.DLl_FindFirstFileA]
mov edi, eax
xor eax, eax
cmp edi, 0xffffffff
sete al
test eax, eax
jne 0x110bd7d7
mov ebx, dword [sym.imp.KeRneL32.DLl_CopyFileA]
test byte [ebp - 0x150], 0x10
jne 0x110bd7b8
lea edx, [ebp - 0x1c8]
push edx
lea ecx, [ebp - 0x198]
call fcn.110d08a0
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 4
call fcn.110d1780
lea ecx, [ebp - 0x160]
push ecx
lea ecx, [ebp - 0x17c]
call fcn.110d08a0
lea edx, [ebp - 0x124]
push edx
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 5
call fcn.110d1780
mov eax, dword [ebp - 0x17c]
mov edx, dword [eax]
lea ecx, [ebp - 0x17c]
call edx
test al, al
jne 0x110bd75d
push 0x255
push 0x11195b24
push 0x11195b1c
call fcn.11029a70
add esp, 0xc
mov eax, dword [ebp - 0x198]
mov edx, dword [eax]
mov esi, dword [ebp - 0x170]
lea ecx, [ebp - 0x198]
call edx
test al, al
jne 0x110bd78e
push 0x255
push 0x11195b24
push 0x11195b1c
call fcn.11029a70
add esp, 0xc
mov eax, dword [ebp - 0x18c]
push 1
push esi
push eax
call ebx
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 4
call fcn.110d0a10
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 3
call fcn.110d0a10
lea ecx, [ebp - 0x150]
push ecx
push edi
call dword [sym.imp.KeRneL32.DLl_FindNextFileA]
neg eax
sbb eax, eax
inc eax
je 0x110bd6d5
mov ebx, dword [ebp - 0x180]
cmp edi, 0xffffffff
je 0x110bd7e3
push edi
call dword [sym.imp.KeRneL32.DLl_FindClose]
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 2
call fcn.110d0a10
lea ecx, [ebp - 0x1c8]
mov byte [ebp - 4], 1
call fcn.110d0a10
xor edi, edi
push 3
call fcn.111457a0
add esp, 4
push eax
lea ecx, [ebp - 0x1b8]
call fcn.110d16d0
push 0x111f1520
lea ecx, [ebp - 0x1b8]
call fcn.110d1740
lea ecx, [ebx + 0x194]
call fcn.1109bb40
lea ecx, [ebx + 0x194]
call fcn.1109b920
cmp byte [ebp + 0xc], 0
je 0x110bd857
lea edx, [ebp - 0x1b8]
push edx
lea ecx, [ebx + 0x194]
call fcn.1109bb90
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebx + 0x194]
call fcn.1109afb0
mov ecx, dword [eax]
cmp dword [ebp - 0x16c], ecx
je 0x110bd881
mov ecx, dword [ecx]
cmp ecx, edi
je 0x110bd881
mov ecx, dword [ecx]
mov dword [ebp - 0x16c], ecx
mov edx, dword [eax + 8]
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebx + 0x194]
mov dword [ebp - 0x164], edx
call fcn.1109afd0
push eax
mov eax, dword [ebp - 0x188]
lea ecx, [ebp - 0x16c]
push ecx
lea edx, [ebp - 0x184]
push edx
push eax
mov ecx, ebx
call fcn.110bcb70
mov ecx, dword [ebx + 0x10]
push ecx
call dword [sym.imp.uSEr32.dll_DrawMenuBar]
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0
call fcn.110d0a10
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 4], 0xffffffff
call fcn.110d0a10
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.11162bb7
mov esp, ebp
pop ebp
ret 8