Function at 0x40c18b
Capabilities:
Create directory
Delete directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x174
mov dword [ebp - 0x174], ecx
push 0
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0
jne 0x40c1c9
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x40c1c9
xor eax, eax
jmp 0x40c4f6
mov ecx, dword [ebp + 8]
push ecx
call fcn.0041df30
add esp, 4
add eax, 0x104
push eax
call fcn.0041e0a0
add esp, 4
mov dword [ebp - 0x158], eax
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x150], edx
cmp dword [ebp - 0x150], 0
jne 0x40c20f
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
xor eax, eax
jmp 0x40c4f6
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x150]
push edx
call fcn.0041dfb0
add esp, 8
mov eax, dword [ebp - 0x150]
push eax
call fcn.0041df30
add esp, 4
mov ecx, dword [ebp - 0x150]
movsx edx, byte [ecx + eax]
cmp edx, 0x5c
jne 0x40c256
push 0x42d588
mov eax, dword [ebp - 0x150]
push eax
call fcn.0041dfc0
add esp, 8
jmp 0x40c26a
push 0x42d58c
mov ecx, dword [ebp - 0x150]
push ecx
call fcn.0041dfc0
add esp, 8
mov edx, dword [ebp + 0xc]
push edx
call fcn.0041df30
add esp, 4
add eax, 0x104
push eax
call fcn.0041e0a0
add esp, 4
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
jne 0x40c2cb
mov ecx, dword [ebp - 0x150]
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x160]
push edx
call fcn.0041df1e
add esp, 4
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
xor eax, eax
jmp 0x40c4f6
lea ecx, [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x150]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0xffffffff
jne 0x40c335
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x164]
push ecx
call fcn.0041df1e
add esp, 4
mov edx, dword [ebp - 0x150]
mov dword [ebp - 0x168], edx
mov eax, dword [ebp - 0x168]
push eax
call fcn.0041df1e
add esp, 4
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
xor eax, eax
jmp 0x40c4f6
mov dword [ebp - 0x14c], 1
cmp dword [ebp - 0x14c], 0
je 0x40c4e4
push 0x42d590
lea edx, [ebp - 0x114]
push edx
call fcn.0040b610
add esp, 8
test eax, eax
je 0x40c4c5
push 0x42d594
lea eax, [ebp - 0x114]
push eax
call fcn.0040b610
add esp, 8
test eax, eax
je 0x40c4c5
push 0x5c
mov ecx, dword [ebp - 0x150]
push ecx
call fcn.0040ce20
add esp, 8
mov dword [ebp - 0x154], eax
lea edx, [ebp - 0x114]
push edx
mov eax, dword [ebp - 0x154]
add eax, 1
push eax
call fcn.0041dfb0
add esp, 8
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x148]
push edx
call fcn.0041dfb0
add esp, 8
mov eax, dword [ebp - 0x148]
push eax
call fcn.0041df30
add esp, 4
mov ecx, dword [ebp - 0x148]
movsx edx, byte [ecx + eax]
cmp edx, 0x5c
je 0x40c3f9
push 0x42d598
mov eax, dword [ebp - 0x148]
push eax
call fcn.0041dfc0
add esp, 8
lea ecx, [ebp - 0x114]
push ecx
mov edx, dword [ebp - 0x148]
push edx
call fcn.0041dfc0
add esp, 8
mov eax, dword [ebp - 0x140]
and eax, 0x10
test eax, eax
je 0x40c441
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 0x148]
push edx
mov eax, dword [ebp - 0x150]
push eax
mov ecx, dword [ebp - 0x174]
call fcn.0040c18b
mov dword [ebp - 0x14c], eax
jmp 0x40c464
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 0x148]
push edx
mov eax, dword [ebp - 0x150]
push eax
mov ecx, dword [ebp - 0x174]
call fcn.0040c120
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0
jne 0x40c4c5
mov ecx, dword [ebp - 0x144]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x16c]
push eax
call fcn.0041df1e
add esp, 4
mov ecx, dword [ebp - 0x150]
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x170]
push edx
call fcn.0041df1e
add esp, 4
push 1
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x174]
call fcn.0040c54b
xor eax, eax
jmp 0x40c4f6
lea ecx, [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x144]
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov dword [ebp - 0x14c], eax
jmp 0x40c33f
mov eax, dword [ebp - 0x144]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, 1
mov esp, ebp
pop ebp
ret 0xc