Function at 0x412a69
Capabilities:
Create directory
Get file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x420
mov eax, dword [0x420164]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x420], eax
push ebx
mov ebx, ecx
push esi
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x41c], edi
test eax, eax
je 0x412cb0
test edi, edi
je 0x412cb0
lea edi, [ebx + 0x474]
mov dword [ebx + 0x58], eax
mov ecx, edi
mov dword [ebx + 0x5c], 0x4033ec
call fcn.00413902
mov esi, eax
test esi, esi
jns 0x412ae9
push esi
push 0x402dc8
push 0x402d60
push 0x420710
push 0x40149c
push 2
call fcn.00411c1c
mov edi, dword [ebp - 0x41c]
jmp 0x412cd1
push 0
push edi
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateDirectoryW]
test eax, eax
jne 0x412b09
call fcn.00416327
cmp eax, 0x800700b7
je 0x412b09
push edi
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
mov edi, dword [ebp - 0x41c]
mov ecx, ebx
push edi
push dword [ebx + 0x5c]
push dword [ebx + 0x58]
call fcn.004128b1
mov esi, eax
test esi, esi
jns 0x412b2e
push esi
push 0x402e70
jmp 0x412cbb
lea eax, [ebx + 0x67e]
push 0x2f
push eax
call dword [sym.imp.msvcrt.dll_wcsrchr]
pop ecx
pop ecx
test eax, eax
jne 0x412b55
mov eax, 0x800c0002
push eax
mov esi, eax
push 0x402f18
jmp 0x412cbb
sub eax, ebx
lea esi, [ebx + 0x108a]
sub eax, 0x67e
sar eax, 1
push eax
lea eax, [ebx + 0x67e]
push eax
push 0x401
push esi
call dword [sym.imp.msvcrt.dll_wcsncpy_s]
push 0x2f
push esi
call dword [sym.imp.msvcrt.dll_wcsrchr]
add esp, 0x18
test eax, eax
jne 0x412b9a
mov eax, 0x800c0002
push eax
mov esi, eax
push 0x402fc0
jmp 0x412cbb
add eax, 2
push eax
lea eax, [ebp - 0x418]
push 0x104
push eax
call dword [sym.imp.msvcrt.dll_wcscpy_s]
push edi
push dword [ebx + 0x5c]
lea eax, [ebp - 0x210]
push 0x4026b8
push dword [ebx + 0x58]
push 0x403068
push eax
call fcn.00416096
push 0x402680
lea eax, [ebp - 0x210]
push eax
lea edi, [ebx + 0x1ca0]
push 0x4026c4
push edi
call fcn.00416096
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x210]
push eax
lea esi, [ebx + 0x188c]
push 0x4026c4
push esi
call fcn.00416096
add esp, 0x44
lea eax, [ebx + 0xe80]
push 0x403080
push esi
push 0x4026c4
push eax
call fcn.00416096
push 0x4030b0
push esi
lea eax, [ebx + 0x1a96]
push 0x4026c4
push eax
call fcn.00416096
add esp, 0x20
mov ecx, ebx
push edi
call fcn.00413965
mov esi, eax
test esi, esi
jns 0x412c56
push esi
push 0x4030e0
jmp 0x412ac8
lea eax, [ebx + 0x1a96]
mov ecx, ebx
push eax
call fcn.00413965
mov esi, eax
test esi, esi
jns 0x412c75
push esi
push 0x403188
jmp 0x412ac8
lea eax, [ebx + 0xe80]
mov ecx, ebx
push eax
call fcn.00413965
mov esi, eax
test esi, esi
jns 0x412ca8
push esi
push 0x403230
push 0x402d60
push 0x420710
push 0x40149c
push 2
call fcn.00411c1c
add esp, 0x18
mov edi, dword [ebp - 0x41c]
jmp 0x412cd4
mov esi, 0x80070057
push esi
push 0x402cb8
push 0x402d60
push 0x420710
push 0x40149c
push 2
call fcn.00411c1c
add esp, 0x18
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x412cf0
lea eax, [ebx + 0x67e]
push eax
push edi
push ecx
push dword [ebp - 0x420]
push esi
call fcn.00411fe4
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041d370
leave
ret 0xc