Function at 0x50c204
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x50c20c
push ebx
push esi
push edi
mov esi, eax
xor eax, eax
push ebp
push 0x50c50d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [esi + 0x3cc]
mov eax, dword [eax + 0x22c]
call fcn.00448fc0
test eax, eax
je 0x50c4c8
mov eax, dword [esi + 0x3d8]
call fcn.00471b38
mov edx, dword [esi + 0x3d8]
mov eax, dword [esi + 0x3cc]
call fcn.0044c570
mov dl, 1
mov eax, dword [0x427dac]
call fcn.0042e2cc
mov edi, eax
mov edx, 0x60
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov edx, 0x60
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x40]
lea eax, [ebp - 4]
mov edx, 0x200
call fcn.004049d8
mov eax, dword [ebp - 4]
call fcn.0040484c
push eax
push 0x200
call sub.kernel32.dll_GetTempPathA
mov eax, dword [ebp - 4]
call fcn.0040484c
mov edx, eax
lea eax, [ebp - 4]
call fcn.00404584
mov eax, dword [esi + 0x3cc]
mov eax, dword [eax + 0x22c]
call fcn.00448fc0
dec eax
test eax, eax
jl 0x50c441
inc eax
mov dword [ebp - 0x10], eax
xor ebx, ebx
mov eax, dword [esi + 0x3cc]
mov eax, dword [eax + 0x22c]
mov edx, ebx
call fcn.00448ff0
mov eax, dword [eax + 0x24]
lea edx, [ebp - 0x18]
call fcn.004096c0
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x14]
call fcn.00408880
mov eax, dword [ebp - 0x14]
mov edx, 0x50c524
call fcn.00404798
jne 0x50c35c
push dword [0x51934c]
push 0x50c534
mov eax, dword [esi + 0x3cc]
mov eax, dword [eax + 0x22c]
mov edx, ebx
call fcn.00448ff0
push dword [eax + 0x24]
lea eax, [ebp - 0x20]
mov edx, 3
call fcn.0040470c
mov edx, dword [ebp - 0x20]
lea eax, [ebp - 0x1c]
call fcn.00404be4
mov ecx, dword [ebp - 0x1c]
mov eax, dword [esi + 0x3dc]
mov edx, 0x66
call fcn.004be688
jmp 0x50c3f4
lea eax, [ebp - 8]
mov edx, 0x200
call fcn.004049d8
mov eax, dword [ebp - 8]
call fcn.0040484c
push eax
push 0
push 0x50c538
mov eax, dword [ebp - 4]
call fcn.0040484c
push eax
call sub.kernel32.dll_GetTempFileNameA
mov eax, dword [ebp - 8]
call fcn.0040484c
mov edx, eax
lea eax, [ebp - 8]
call fcn.00404584
push dword [0x51934c]
push 0x50c534
mov eax, dword [esi + 0x3cc]
mov eax, dword [eax + 0x22c]
mov edx, ebx
call fcn.00448ff0
push dword [eax + 0x24]
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.0040470c
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 8]
call fcn.004e3fdc
test al, al
je 0x50c3f4
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 8]
call fcn.00404be4
mov ecx, dword [ebp - 0x28]
mov eax, dword [esi + 0x3dc]
mov edx, 0x66
call fcn.004be688
push 0
mov eax, edi
call fcn.0042e894
mov edx, eax
mov eax, dword [esi + 0x3dc]
xor ecx, ecx
call fcn.00468c84
mov eax, dword [esi + 0x3d8]
xor ecx, ecx
mov edx, edi
call fcn.00471838
mov eax, dword [esi + 0x3cc]
mov eax, dword [eax + 0x22c]
mov edx, ebx
call fcn.00448ff0
mov ecx, ebx
xor edx, edx
call fcn.00448bbc
inc ebx
dec dword [ebp - 0x10]
jne 0x50c2d3
mov eax, dword [esi + 0x3cc]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x128]
mov eax, edi
call fcn.00403558
mov dl, 1
mov eax, dword [0x43aef8]
call fcn.0043aff8
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x50c4c1
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000001
mov eax, dword [ebp - 0xc]
call fcn.0043b098
mov cl, 1
mov edx, 0x50c544
mov eax, dword [ebp - 0xc]
call fcn.0043b100
mov ecx, 0x50c568
mov edx, 0x50c57c
mov eax, dword [ebp - 0xc]
call fcn.0043b47c
mov eax, dword [ebp - 0xc]
call fcn.0043b068
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50c4c8
mov eax, dword [ebp - 0xc]
call fcn.00403558
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50c514
lea eax, [ebp - 0x28]
call fcn.00404a98
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.004043b0
lea eax, [ebp - 0x1c]
call fcn.00404a98
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.004043b0
lea eax, [ebp - 8]
mov edx, 2
call fcn.004043b0
ret