Function at 0x40f9d0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
mov eax, dword [0x41e038]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, ecx
cmp dword [edi + 0x10], 0
mov dword [ebp - 0x80], eax
mov ebx, edx
je 0x40fcf8
push 1
push edi
call fcn.00411e50
cmp eax, 0xffffffff
je 0x40fcf8
xor ecx, ecx
push 1
mov eax, 0x402d44
lea esi, [ebp - 0x24]
mov dword [ebp - 0x10], 7
mov dword [ebp - 0x14], 0
mov word [ebp - 0x24], cx
call fcn.004088c0
mov edx, esi
push edx
mov ecx, edi
lea edx, [ebp - 0x94]
call fcn.00410cc0
add esp, 4
cmp dword [ebp - 0x10], 8
jb 0x40fa54
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0x90]
sub ecx, dword [ebp - 0x94]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
xor edi, edi
xor ecx, ecx
push edi
mov dword [ebp - 0x84], eax
mov word [ebp - 0x5c], cx
mov esi, 7
push ebx
or eax, 0xffffffff
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], edi
call fcn.00408480
push edi
xor edx, edx
push ebx
or eax, 0xffffffff
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], edi
mov word [ebp - 0x40], dx
call fcn.00408480
push esi
mov eax, 0x402d48
lea ecx, [ebp - 0x40]
call fcn.00408790
mov eax, dword [ebp - 0x40]
mov esi, 8
cmp dword [ebp - 0x2c], esi
jae 0x40fad0
lea eax, [ebp - 0x40]
push edi
push eax
call dword [sym.imp.MSVCR100.dll__waccess]
mov ebx, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
add esp, 8
cmp eax, 0xffffffff
jne 0x40faf5
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x2c], esi
jae 0x40faf1
lea eax, [ebp - 0x40]
push edi
push eax
call ebx
mov eax, dword [ebp - 0x80]
push edi
push eax
or eax, 0xffffffff
lea esi, [ebp - 0x40]
call fcn.00408c70
cmp dword [ebp - 0x2c], 8
mov eax, dword [ebp - 0x40]
jae 0x40fb10
mov eax, esi
push edi
push eax
call ebx
mov dword [ebp - 0x80], edi
cmp dword [ebp - 0x84], edi
jbe 0x40fc89
mov ecx, dword [ebp - 0x94]
add ecx, 0x10
mov dword [ebp - 0x7c], ecx
cmp dword [ecx + 4], 8
mov edx, dword [ecx]
lea esi, [ecx - 0x10]
jb 0x40fb3e
mov eax, dword [esi]
jmp 0x40fb40
mov eax, esi
cmp word [eax + edx*2 - 2], 0x2a
jne 0x40fc70
lea ecx, [edx - 1]
cmp ecx, edx
ja 0x40fb5d
or eax, 0xffffffff
call fcn.004089b0
jmp 0x40fb6b
mov eax, ecx
push edi
sub eax, edx
mov edi, esi
call fcn.00408330
xor edi, edi
push edi
push esi
or eax, 0xffffffff
lea esi, [ebp - 0x5c]
call fcn.00408c70
cmp dword [ebp - 0x2c], 8
mov eax, dword [ebp - 0x40]
jae 0x40fb84
lea eax, [ebp - 0x40]
xor ecx, ecx
mov word [ebp - 0x78], cx
mov ebx, 7
mov ecx, eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x68], edi
lea esi, [ecx + 2]
lea ebx, [ebx]
mov dx, word [ecx]
add ecx, 2
cmp dx, di
jne 0x40fba0
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [ebp - 0x78]
call fcn.004088c0
cmp dword [ebp - 0x48], 8
mov eax, dword [ebp - 0x5c]
jae 0x40fbc4
lea eax, [ebp - 0x5c]
xor edx, edx
mov ecx, eax
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], edi
mov word [ebp - 0x24], dx
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, di
jne 0x40fbd5
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [ebp - 0x24]
call fcn.004088c0
mov eax, esi
push 1
push eax
lea ecx, [ebp - 0x78]
call fcn.00408010
add esp, 8
test al, al
mov esi, 8
sete bl
cmp dword [ebp - 0x10], esi
jb 0x40fc19
mov ecx, dword [ebp - 0x24]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edx, edx
mov dword [ebp - 0x10], 7
mov dword [ebp - 0x14], edi
mov word [ebp - 0x24], dx
cmp dword [ebp - 0x64], esi
jb 0x40fc3b
mov eax, dword [ebp - 0x78]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
test bl, bl
jne 0x40fd0b
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x7c]
mov ecx, edx
sub ecx, dword [eax]
cmp ecx, edx
ja 0x40fc5e
or eax, 0xffffffff
lea esi, [ebp - 0x5c]
call fcn.004089b0
jmp 0x40fc6d
mov eax, ecx
push edi
sub eax, edx
lea edi, [ebp - 0x5c]
call fcn.00408330
xor edi, edi
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x80]
inc eax
add ecx, 0x1c
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], ecx
cmp eax, dword [ebp - 0x84]
jb 0x40fb2f
cmp dword [ebp - 0x2c], 8
mov ebx, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
jb 0x40fc9e
mov ecx, dword [ebp - 0x40]
push ecx
call ebx
add esp, 4
xor edx, edx
cmp dword [ebp - 0x48], 8
mov esi, 7
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], edi
mov word [ebp - 0x40], dx
jb 0x40fcbe
mov eax, dword [ebp - 0x5c]
push eax
call ebx
add esp, 4
mov dword [ebp - 0x48], esi
mov esi, dword [ebp - 0x94]
xor ecx, ecx
mov dword [ebp - 0x4c], edi
mov word [ebp - 0x5c], cx
cmp esi, edi
je 0x40fcf8
mov edi, dword [ebp - 0x90]
cmp esi, edi
je 0x40fcf2
mov edi, edi
call fcn.00412770
add esi, 0x1c
cmp esi, edi
jne 0x40fce0
mov esi, dword [ebp - 0x94]
push esi
call ebx
add esp, 4
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret
xor ecx, ecx
push 0x17
mov eax, 0x402d58
lea esi, [ebp - 0x24]
mov dword [ebp - 0x10], 7
mov dword [ebp - 0x14], edi
mov word [ebp - 0x24], cx
call fcn.004088c0
push edi
lea edx, [ebp - 0x5c]
push edx
or eax, 0xffffffff
call fcn.00408c70
push 6
mov eax, 0x402d88
mov ecx, esi
call fcn.00408790
push edi
lea eax, [ebp - 0x40]
push eax
or eax, 0xffffffff
call fcn.00408c70
mov eax, dword [ebp - 0x24]
mov esi, 8
cmp dword [ebp - 0x10], esi
jae 0x40fd62
lea eax, [ebp - 0x24]
push 0x40010
push 0x401968
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp dword [ebp - 0x10], esi
jb 0x40fd86
mov ecx, dword [ebp - 0x24]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edx, edx
mov ebx, 7
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], edi
mov word [ebp - 0x24], dx
cmp dword [ebp - 0x2c], esi
jb 0x40fda9
mov eax, dword [ebp - 0x40]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], edi
mov word [ebp - 0x40], cx
cmp dword [ebp - 0x48], esi
jb 0x40fdc7
mov edx, dword [ebp - 0x5c]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x94]
xor eax, eax
mov dword [ebp - 0x4c], edi
mov word [ebp - 0x5c], ax
cmp ebx, edi
je 0x40fe06
mov edi, dword [ebp - 0x90]
mov esi, ebx
cmp ebx, edi
je 0x40fdfc
lea esp, [esp]
call fcn.00412770
add esi, 0x1c
cmp esi, edi
jne 0x40fdf0
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
xor al, al
pop ebx
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret