Function at 0x41485d
Capabilities:
Create directory

Disassembly:
sub esp, 0x18
mov eax, dword [0x43f050]
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 0x414b2c
cmp word [eax], si
je 0x414b2c
push eax
call fcn.00414789
mov ebp, eax
pop ecx
cmp ebp, esi
je 0x414b2c
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push ebp
call ebx
lea eax, [ebp + eax*2]
jmp 0x4148bd
movzx ecx, word [eax]
cmp cx, 0x2f
je 0x4148c3
cmp cx, 0x5c
je 0x4148c3
dec eax
dec eax
cmp eax, ebp
jne 0x4148ac
jmp 0x4148c8
xor ecx, ecx
mov word [eax], cx
cmp dword [esp + 0x30], esi
je 0x414902
push ebp
call ebx
cmp eax, 0xf8
jl 0x414902
push 4
push 0x438dcc
push ebp
call fcn.004217a3
add esp, 0xc
test eax, eax
je 0x414902
mov eax, ebp
call fcn.00414d44
cmp eax, esi
je 0x414902
mov ecx, ebp
push ecx
mov ebp, eax
call fcn.0041fde1
pop ecx
push ebp
call fcn.00420ea6
and dword [esp + 0x14], 0
mov esi, 0x438dd8
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 0x41492f
push ebp
call ebx
jmp 0x414931
mov eax, ecx
inc eax
push eax
push 2
call fcn.0042100f
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x414b2c
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x1c]
call fcn.004217da
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x414aeb
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x414a57
movzx ecx, word [ebp]
push 0x5c
pop edx
cmp cx, dx
jne 0x414a37
movzx eax, word [ebp + 2]
cmp ax, dx
jne 0x414a37
cmp word [ebp + 4], 0x3f
jne 0x414a24
push 0x438de0
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.004217da
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x414aeb
push 0x436010
push edi
call esi
push ebx
push edi
call esi
push 3
push 0x438de8
push ebx
call fcn.004217a3
add esp, 0xc
test eax, eax
jne 0x414abe
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x20]
push eax
push 0
call fcn.004217da
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x414abe
push 0x436010
push edi
call esi
push ebx
push edi
call esi
jmp 0x414abe
cmp ax, dx
jne 0x414a37
push 0x438de0
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x414a1b
cmp cx, 0x2f
jne 0x414a44
push 0x438df0
jmp 0x414a4e
cmp cx, dx
jne 0x414a5f
push 0x436010
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x414a5f
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 0x414abe
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x414abe
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 3
je 0x414a8c
cmp eax, 0xce
jne 0x414aeb
cmp dword [esp + 0x30], 0
je 0x414aeb
mov eax, edi
call fcn.00414d44
mov ebx, eax
test ebx, ebx
je 0x414abe
push ebx
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x414abe
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x414ade
push ebx
call fcn.0041fde1
pop ecx
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x20]
push eax
push 0
call fcn.004217da
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x41496c
jmp 0x414aeb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
call fcn.0041fde1
pop ecx
xor esi, esi
push ebp
inc esi
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x414b10
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
test eax, eax
jne 0x414b0a
mov eax, 0xa0000034
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
push dword [esp + 0x14]
call fcn.0041fde1
push ebp
call fcn.0041fde1
push edi
call fcn.0041fde1
add esp, 0xc
mov eax, esi
jmp 0x414b2e
xor eax, eax
mov ecx, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0041f998
add esp, 0x18
ret