Function at 0x40f860
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x660
mov eax, dword [0x42f034]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 8], 0
je 0x40f979
push 0x104
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x414]
push ecx
call dword [sym.imp.MSVCR120.dll_wcsncpy]
add esp, 0xc
lea edx, [ebp - 0x414]
mov dword [ebp - 0x628], edx
mov eax, dword [ebp - 0x628]
add eax, 2
mov dword [ebp - 0x65c], eax
mov ecx, dword [ebp - 0x628]
mov dx, word [ecx]
mov word [ebp - 0x632], dx
add dword [ebp - 0x628], 2
cmp word [ebp - 0x632], 0
jne 0x40f8b1
mov eax, dword [ebp - 0x628]
sub eax, dword [ebp - 0x65c]
sar eax, 1
mov dword [ebp - 0x654], eax
mov ecx, dword [ebp - 0x654]
mov dword [ebp - 0x630], ecx
cmp dword [ebp - 0x630], 0
jbe 0x40f954
mov edx, dword [ebp - 0x630]
movzx eax, word [ebp + edx*2 - 0x416]
cmp eax, 0x2f
je 0x40f921
mov ecx, dword [ebp - 0x630]
movzx edx, word [ebp + ecx*2 - 0x416]
cmp edx, 0x5c
jne 0x40f954
mov eax, dword [ebp - 0x630]
lea ecx, [eax + eax - 2]
mov dword [ebp - 0x64c], ecx
cmp dword [ebp - 0x64c], 0x208
jae 0x40f93f
jmp 0x40f944
call fcn.0041e009
xor edx, edx
mov eax, dword [ebp - 0x64c]
mov word [ebp + eax - 0x414], dx
lea ecx, [ebp - 0x414]
push ecx
call fcn.00408430
add esp, 4
movzx edx, al
test edx, edx
jne 0x40f979
push 0
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ecx, dword [ebp + 0xc]
movzx edx, word [ecx]
test edx, edx
jne 0x40f988
jmp 0x40fbd3
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x620], eax
mov ecx, dword [ebp - 0x620]
mov dword [ebp - 0x624], ecx
mov edx, dword [ebp - 0x624]
movzx eax, word [edx]
test eax, eax
je 0x40f9e3
mov ecx, dword [ebp - 0x624]
movzx edx, word [ecx]
cmp edx, 0x2f
je 0x40f9c6
mov eax, dword [ebp - 0x624]
movzx ecx, word [eax]
cmp ecx, 0x5c
jne 0x40f9d2
mov edx, dword [ebp - 0x624]
mov dword [ebp - 0x620], edx
mov eax, dword [ebp - 0x624]
add eax, 2
mov dword [ebp - 0x624], eax
jmp 0x40f99d
mov ecx, dword [ebp - 0x620]
mov dword [ebp - 0x650], ecx
mov edx, dword [ebp - 0x620]
cmp edx, dword [ebp + 0xc]
je 0x40fa73
mov eax, dword [ebp - 0x620]
sub eax, dword [ebp + 0xc]
sar eax, 1
shl eax, 1
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x61c]
push edx
call sub.MSVCR120.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x620]
sub eax, dword [ebp + 0xc]
sar eax, 1
shl eax, 1
mov dword [ebp - 0x648], eax
cmp dword [ebp - 0x648], 0x208
jae 0x40fa3c
jmp 0x40fa41
call fcn.0041e009
xor ecx, ecx
mov edx, dword [ebp - 0x648]
mov word [ebp + edx - 0x61c], cx
lea eax, [ebp - 0x61c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040f860
add esp, 8
mov edx, dword [ebp - 0x650]
add edx, 2
mov dword [ebp - 0x650], edx
mov eax, 2
imul ecx, eax, 0
mov dword [ebp - 0x638], ecx
cmp dword [ebp - 0x638], 0x208
jae 0x40fa8f
jmp 0x40fa94
call fcn.0041e009
xor edx, edx
mov eax, dword [ebp - 0x638]
mov word [ebp + eax - 0x20c], dx
cmp dword [ebp + 8], 0
je 0x40fac3
push 0x104
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.MSVCR120.dll_wcsncpy]
add esp, 0xc
mov eax, 2
imul ecx, eax, 0x103
mov dword [ebp - 0x640], ecx
cmp dword [ebp - 0x640], 0x208
jae 0x40fae2
jmp 0x40fae7
call fcn.0041e009
xor edx, edx
mov eax, dword [ebp - 0x640]
mov word [ebp + eax - 0x20c], dx
lea ecx, [ebp - 0x20c]
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp - 0x62c]
add edx, 2
mov dword [ebp - 0x658], edx
mov eax, dword [ebp - 0x62c]
mov cx, word [eax]
mov word [ebp - 0x634], cx
add dword [ebp - 0x62c], 2
cmp word [ebp - 0x634], 0
jne 0x40fb12
mov edx, dword [ebp - 0x62c]
sub edx, dword [ebp - 0x658]
sar edx, 1
mov dword [ebp - 0x660], edx
mov eax, dword [ebp - 0x660]
mov dword [ebp - 0x644], eax
mov ecx, 0x104
sub ecx, dword [ebp - 0x644]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x644]
lea ecx, [ebp + eax*2 - 0x20c]
push ecx
call dword [sym.imp.MSVCR120.dll_wcsncpy]
add esp, 0xc
mov edx, 2
imul eax, edx, 0x103
mov dword [ebp - 0x63c], eax
cmp dword [ebp - 0x63c], 0x208
jae 0x40fb99
jmp 0x40fb9e
call fcn.0041e009
xor ecx, ecx
mov edx, dword [ebp - 0x63c]
mov word [ebp + edx - 0x20c], cx
lea eax, [ebp - 0x20c]
push eax
call fcn.00408430
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x40fbd3
push 0
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041d982
mov esp, ebp
pop ebp
ret