Function at 0x4148a0
Capabilities:
Create directory

Disassembly:
sub esp, 0x18
mov eax, dword [0x441050]
xor eax, esp
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
push ebx
push ebp
push esi
xor esi, esi
push edi
mov dword [esp + 0x18], ecx
mov dword [ecx], esi
cmp eax, esi
je 0x414b6f
cmp word [eax], si
je 0x414b6f
push eax
call fcn.004147cc
mov ebp, eax
pop ecx
cmp ebp, esi
je 0x414b6f
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push ebp
call ebx
lea eax, [ebp + eax*2]
jmp 0x414900
movzx ecx, word [eax]
cmp cx, 0x2f
je 0x414906
cmp cx, 0x5c
je 0x414906
dec eax
dec eax
cmp eax, ebp
jne 0x4148ef
jmp 0x41490b
xor ecx, ecx
mov word [eax], cx
cmp dword [esp + 0x30], esi
je 0x414945
push ebp
call ebx
cmp eax, 0xf8
jl 0x414945
push 4
push 0x43acc4
push ebp
call fcn.004211d3
add esp, 0xc
test eax, eax
je 0x414945
mov eax, ebp
call fcn.00414d87
cmp eax, esi
je 0x414945
mov ecx, ebp
push ecx
mov ebp, eax
call fcn.0041f805
pop ecx
push ebp
call fcn.004208d6
and dword [esp + 0x14], 0
mov esi, 0x43acd0
lea edi, [esp + 0x20]
movsd dword es:[edi], dword [esi]
pop ecx
push ebp
mov dword [esp + 0x18], eax
movsw word es:[edi], word [esi]
call ebx
mov ecx, 0x104
cmp eax, ecx
jle 0x414972
push ebp
call ebx
jmp 0x414974
mov eax, ecx
inc eax
push eax
push 2
call fcn.00420a3f
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x414b6f
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x1c]
call fcn.0042120a
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x414b2e
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x414a9a
movzx ecx, word [ebp]
push 0x5c
pop edx
cmp cx, dx
jne 0x414a7a
movzx eax, word [ebp + 2]
cmp ax, dx
jne 0x414a7a
cmp word [ebp + 4], 0x3f
jne 0x414a67
push 0x43acd8
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push ebx
push edi
call esi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x20]
push eax
push 0
call fcn.0042120a
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x414b2e
push 0x436010
push edi
call esi
push ebx
push edi
call esi
push 3
push 0x43ace0
push ebx
call fcn.004211d3
add esp, 0xc
test eax, eax
jne 0x414b01
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x20]
push eax
push 0
call fcn.0042120a
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x414b01
push 0x436010
push edi
call esi
push ebx
push edi
call esi
jmp 0x414b01
cmp ax, dx
jne 0x414a7a
push 0x43acd8
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x414a5e
cmp cx, 0x2f
jne 0x414a87
push 0x43ace8
jmp 0x414a91
cmp cx, dx
jne 0x414aa2
push 0x436010
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x414aa2
push 0x436010
push edi
call esi
push ebx
push edi
call esi
push edi
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x414b01
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x414b01
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 3
je 0x414acf
cmp eax, 0xce
jne 0x414b2e
cmp dword [esp + 0x30], 0
je 0x414b2e
mov eax, edi
call fcn.00414d87
mov ebx, eax
test ebx, ebx
je 0x414b01
push ebx
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x414b01
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x414b21
push ebx
call fcn.0041f805
pop ecx
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x20]
push eax
push 0
call fcn.0042120a
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4149af
jmp 0x414b2e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
call fcn.0041f805
pop ecx
xor esi, esi
push ebp
inc esi
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x414b53
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
test eax, eax
jne 0x414b4d
mov eax, 0xa0000034
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
push dword [esp + 0x14]
call fcn.0041f805
push ebp
call fcn.0041f805
push edi
call fcn.0041f805
add esp, 0xc
mov eax, esi
jmp 0x414b71
xor eax, eax
mov ecx, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0041f3bc
add esp, 0x18
ret