Function at 0x408042
Capabilities:
Create directory
Get common file path

Disassembly:
push 0x86c
mov eax, 0x44da94
call fcn.0041be21
mov esi, ecx
mov dword [ebp - 0x874], esi
push 0x800
xor ebx, ebx
mov dword [ebp - 0x874], esi
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.0041d260
add esp, 0xc
lea eax, [ebp - 0x810]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
xor eax, eax
mov dword [ebp - 0x858], ebx
mov word [ebp - 0x858], ax
lea ecx, [ebp - 0x858]
lea eax, [ebp - 0x810]
mov dword [ebp - 0x848], ebx
push eax
mov dword [ebp - 0x844], 7
call fcn.00402e90
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x858]
mov eax, dword [ebp - 0x848]
push 8
pop edi
cmp dword [ebp - 0x844], edi
cmovae ecx, dword [ebp - 0x858]
cmp word [ecx + eax*2 - 2], 0x5c
je 0x4080f0
push 0x4624b0
lea ecx, [ebp - 0x858]
call fcn.00406b33
push 7
pop edx
mov ecx, edx
mov dword [ebp - 0x840], ebx
xor eax, eax
mov dword [ebp - 0x82c], ecx
mov word [ebp - 0x840], ax
mov dword [ebp - 0x828], ebx
mov dword [ebp - 0x814], edx
mov word [ebp - 0x828], ax
mov byte [ebp - 4], 2
cmp ecx, edi
mov dword [ebp - 0x830], ebx
lea eax, [ebp - 0x840]
cmovae eax, dword [ebp - 0x840]
lea edx, [ebp - 0x840]
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x828]
cmp dword [ebp - 0x814], edi
mov dword [ebp - 0x818], ebx
cmovae eax, dword [ebp - 0x828]
mov word [eax], cx
mov ecx, edi
call fcn.004096c4
push eax
lea edx, [ebp - 0x858]
lea ecx, [ebp - 0x870]
call fcn.004086c3
pop ecx
lea ecx, [ebp - 0x828]
cmp ecx, eax
je 0x408193
mov byte [ebp - 0x874], bl
push dword [ebp - 0x874]
push eax
call fcn.00406bec
lea ecx, [ebp - 0x870]
call fcn.00401dcb
cmp dword [ebp - 0x814], edi
lea ecx, [ebp - 0x828]
cmovae ecx, dword [ebp - 0x828]
call fcn.004079af
test al, al
je 0x4081c5
mov ecx, dword [ebp - 0x82c]
jmp 0x408121
cmp dword [ebp - 0x814], edi
lea eax, [ebp - 0x828]
cmovae eax, dword [ebp - 0x828]
push eax
call fcn.00427870
pop ecx
lea eax, [ebp - 0x828]
mov ecx, esi
push eax
call fcn.00402e5a
mov eax, dword [ebp - 0x814]
cmp eax, edi
jb 0x408241
mov ecx, dword [ebp - 0x828]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x878], eax
mov dword [ebp - 0x874], ecx
cmp eax, 0x1000
jb 0x408238
lea eax, [ebp - 0x878]
push eax
lea eax, [ebp - 0x874]
push eax
call fcn.00401dfe
mov eax, dword [ebp - 0x878]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x874]
push eax
push ecx
call fcn.0041b4fb
pop ecx
pop ecx
xor eax, eax
mov dword [ebp - 0x818], ebx
mov word [ebp - 0x828], ax
mov eax, dword [ebp - 0x82c]
mov dword [ebp - 0x814], 7
cmp eax, edi
jb 0x4082ae
mov ecx, dword [ebp - 0x840]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x874], eax
mov dword [ebp - 0x878], ecx
cmp eax, 0x1000
jb 0x4082a5
lea eax, [ebp - 0x874]
push eax
lea eax, [ebp - 0x878]
push eax
call fcn.00401dfe
mov eax, dword [ebp - 0x874]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x878]
push eax
push ecx
call fcn.0041b4fb
pop ecx
pop ecx
xor eax, eax
mov dword [ebp - 0x830], ebx
mov word [ebp - 0x840], ax
mov eax, dword [ebp - 0x844]
mov dword [ebp - 0x82c], 7
cmp eax, edi
jb 0x40831b
mov ecx, dword [ebp - 0x858]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x874], eax
mov dword [ebp - 0x878], ecx
cmp eax, 0x1000
jb 0x408312
lea eax, [ebp - 0x874]
push eax
lea eax, [ebp - 0x878]
push eax
call fcn.00401dfe
mov eax, dword [ebp - 0x874]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x878]
push eax
push ecx
call fcn.0041b4fb
pop ecx
pop ecx
mov eax, esi
call fcn.0041bdd0
ret