Function at 0x414a0c
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 0x414cdb
cmp word [eax], si
je 0x414cdb
push eax
call fcn.00414938
mov ebp, eax
pop ecx
cmp ebp, esi
je 0x414cdb
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push ebp
call ebx
lea eax, [ebp + eax*2]
jmp 0x414a6c
movzx ecx, word [eax]
cmp cx, 0x2f
je 0x414a72
cmp cx, 0x5c
je 0x414a72
dec eax
dec eax
cmp eax, ebp
jne 0x414a5b
jmp 0x414a77
xor ecx, ecx
mov word [eax], cx
cmp dword [esp + 0x30], esi
je 0x414ab1
push ebp
call ebx
cmp eax, 0xf8
jl 0x414ab1
push 4
push 0x438cd4
push ebp
call fcn.00421ab3
add esp, 0xc
test eax, eax
je 0x414ab1
mov eax, ebp
call fcn.00414ef3
cmp eax, esi
je 0x414ab1
mov ecx, ebp
push ecx
mov ebp, eax
call fcn.004200e6
pop ecx
push ebp
call fcn.004211b6
and dword [esp + 0x14], 0
mov esi, 0x438ce0
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 0x414ade
push ebp
call ebx
jmp 0x414ae0
mov eax, ecx
inc eax
push eax
push 2
call fcn.0042131f
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x414cdb
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x1c]
call fcn.00421aea
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x414c9a
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x414c06
movzx ecx, word [ebp]
push 0x5c
pop edx
cmp cx, dx
jne 0x414be6
movzx eax, word [ebp + 2]
cmp ax, dx
jne 0x414be6
cmp word [ebp + 4], 0x3f
jne 0x414bd3
push 0x438ce8
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.00421aea
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x414c9a
push 0x436010
push edi
call esi
push ebx
push edi
call esi
push 3
push 0x438cf0
push ebx
call fcn.00421ab3
add esp, 0xc
test eax, eax
jne 0x414c6d
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x20]
push eax
push 0
call fcn.00421aea
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x414c6d
push 0x436010
push edi
call esi
push ebx
push edi
call esi
jmp 0x414c6d
cmp ax, dx
jne 0x414be6
push 0x438ce8
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x414bca
cmp cx, 0x2f
jne 0x414bf3
push 0x438cf8
jmp 0x414bfd
cmp cx, dx
jne 0x414c0e
push 0x436010
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x414c0e
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 0x414c6d
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x414c6d
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 3
je 0x414c3b
cmp eax, 0xce
jne 0x414c9a
cmp dword [esp + 0x30], 0
je 0x414c9a
mov eax, edi
call fcn.00414ef3
mov ebx, eax
test ebx, ebx
je 0x414c6d
push ebx
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x414c6d
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x414c8d
push ebx
call fcn.004200e6
pop ecx
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x20]
push eax
push 0
call fcn.00421aea
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x414b1b
jmp 0x414c9a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
call fcn.004200e6
pop ecx
xor esi, esi
push ebp
inc esi
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x414cbf
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
test eax, eax
jne 0x414cb9
mov eax, 0xa0000034
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
push dword [esp + 0x14]
call fcn.004200e6
push ebp
call fcn.004200e6
push edi
call fcn.004200e6
add esp, 0xc
mov eax, esi
jmp 0x414cdd
xor eax, eax
mov ecx, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0041fc9d
add esp, 0x18
ret