Function at 0x450288
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 6
add esp, 0xfffff004
push eax
dec eax
jne 0x450291
mov eax, dword [ebp - 4]
add esp, 0xfffff5e8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x6a08], ebx
mov dword [ebp - 0x6a0c], ebx
mov dword [ebp - 0x6a04], ebx
mov dword [ebp - 0x6a00], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 4], ecx
mov esi, edx
mov ebx, eax
mov edi, dword [0x453f70]
xor eax, eax
push ebp
push 0x4505be
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 4], 0
jne 0x45030b
lea eax, [ebp - 0x4111]
push eax
push 0x104
call sub.kernel32.dll_GetTempPathA
lea eax, [ebp - 0xc]
lea edx, [ebp - 0x4111]
mov ecx, 0x105
call fcn.00403d20
jmp 0x450316
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0040bff0
mov eax, esi
call fcn.00403f50
mov dword [ebp - 0x69f1], eax
lea eax, [ebp - 0x400c]
mov dword [ebp - 0x69e1], eax
mov dword [ebp - 0x69dd], 0x4000
mov dword [ebp - 0x69e9], 1
lea eax, [ebp - 0x69f1]
push eax
mov eax, dword [0x453d00]
mov eax, dword [eax]
call eax
mov dword [ebp - 8], eax
xor edx, edx
push ebp
push 0x450591
push dword fs:[edx]
mov dword fs:[edx], esp
cmp dword [ebp - 0x69e5], 0
je 0x450399
mov dword [ebp - 0x69fc], esi
mov byte [ebp - 0x69f8], 0xb
lea eax, [ebp - 0x69fc]
push eax
push 0
mov ecx, 0x4505d4
mov dl, 1
mov eax, dword [0x407590]
call fcn.0040b4d0
call fcn.0040353c
push ebx
push 0x450180
mov eax, dword [ebp - 8]
push eax
mov eax, dword [0x453c3c]
mov eax, dword [eax]
call eax
xor eax, eax
mov dword [ebp - 0x5121], eax
lea eax, [ebp - 0x694d]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [0x453fd4]
mov eax, dword [eax]
call eax
test eax, eax
jne 0x45055b
lea eax, [ebp - 0x6a00]
lea edx, [ebp - 0x5d4d]
mov ecx, 0x400
call fcn.00403d20
mov ecx, dword [ebp - 0x6a00]
mov eax, edi
mov edx, dword [ebp - 0xc]
call fcn.00403dd8
mov ecx, dword [edi]
lea eax, [ebx + 0x50]
mov edx, 0x450604
call fcn.00403dd8
mov dword [ebx + 0x58], 0
mov dword [ebx + 0x5c], 0
xor eax, eax
mov dword [ebx + 0x68], eax
lea eax, [ebp - 0x5141]
mov edx, dword [eax]
mov dword [ebx + 0x60], edx
mov edx, dword [eax + 4]
mov dword [ebx + 0x64], edx
push ebx
push 0x45176c
mov eax, ebx
call fcn.00414cf8
lea eax, [ebp - 0x6a04]
lea edx, [ebp - 0x5d4d]
mov ecx, 0x400
call fcn.00403d20
mov eax, dword [ebp - 0x6a04]
call fcn.0044e37c
cmp eax, 0x71e
jne 0x4504e4
push dword [ebx + 0x34]
push 0x45061c
lea eax, [ebp - 0x6a0c]
lea edx, [ebp - 0x5d4d]
mov ecx, 0x400
call fcn.00403d20
push dword [ebp - 0x6a0c]
lea eax, [ebp - 0x6a08]
mov edx, 3
call fcn.00403e4c
mov eax, dword [ebp - 0x6a08]
call fcn.0044f22c
test al, al
jne 0x4504e4
mov dword [ebp - 0x6a1c], 0x1001
mov byte [ebp - 0x6a18], 0
mov eax, dword [edi]
mov dword [ebp - 0x6a14], eax
mov byte [ebp - 0x6a10], 0xb
lea eax, [ebp - 0x6a1c]
push eax
push 1
mov ecx, 0x450628
mov dl, 1
mov eax, dword [0x407590]
call fcn.0040b4d0
call fcn.0040353c
push 0
mov eax, dword [ebp - 0xc]
call fcn.00403f50
push eax
push 2
mov eax, dword [ebp - 8]
push eax
mov eax, dword [0x453cac]
mov eax, dword [eax]
call eax
mov esi, eax
test esi, esi
je 0x45053f
mov dword [ebp - 0x6a1c], esi
mov byte [ebp - 0x6a18], 0
mov eax, dword [edi]
mov dword [ebp - 0x6a14], eax
mov byte [ebp - 0x6a10], 0xb
lea eax, [ebp - 0x6a1c]
push eax
push 1
mov ecx, 0x450628
mov dl, 1
mov eax, dword [0x407590]
call fcn.0040b4d0
call fcn.0040353c
lea eax, [ebp - 0x694d]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [0x453fd4]
mov eax, dword [eax]
call eax
test eax, eax
je 0x4503d0
cmp eax, 0xc
jne 0x450576
mov ecx, 0x450664
mov dl, 1
mov eax, dword [0x407590]
call fcn.0040b494
call fcn.0040353c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x450598
mov eax, dword [ebp - 8]
push eax
mov eax, dword [0x453d08]
mov eax, dword [eax]
call eax
ret