Function at 0x512230
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffc04
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x3fc], ecx
mov dword [ebp - 0x3f8], ecx
mov dword [ebp - 0x3f4], ecx
mov dword [ebp - 0x3f0], ecx
mov dword [ebp - 0x3ec], ecx
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 0x3e4], ecx
mov dword [ebp - 0x2dc], ecx
mov dword [ebp - 0x2e0], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.0040436c
lea edi, [ebp - 0x1d4]
xor eax, eax
push ebp
push 0x51254c
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x104
lea eax, [ebp - 0x2d8]
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
test eax, eax
jne 0x5122cb
push 0x30
push 0x51255c
push 0x512570
mov eax, ebx
call fcn.00439b40
push eax
call sub.user32.dll_MessageBoxA_1
jmp 0x512511
mov eax, dword [ebp - 4]
mov edx, 0x512590
call fcn.004042c8
jne 0x5122e2
mov esi, dword [ebx + 0x318]
jmp 0x5122e8
mov esi, dword [ebx + 0x320]
mov eax, dword [esi + 0x20c]
call fcn.00462584
lea eax, [ebp - 0x3e0]
lea edx, [ebp - 0x2d8]
call fcn.00402f74
lea edx, [ebp - 0x3e0]
lea eax, [ebp - 0x2e0]
call fcn.0040415c
push dword [ebp - 0x2e0]
push 0x5125a4
push dword [ebp - 4]
lea eax, [ebp - 0x2dc]
mov edx, 3
call fcn.00404278
mov edx, dword [ebp - 0x2dc]
mov eax, edi
call fcn.00406716
mov eax, edi
call fcn.00406b27
call fcn.004028c4
jmp 0x5124c4
lea edx, [ebp - 8]
mov eax, edi
call fcn.004045a4
mov eax, edi
call fcn.00406ac4
call fcn.004028c4
lea edx, [ebp - 0x3e4]
mov eax, dword [ebp - 8]
call fcn.004098e8
mov eax, dword [ebp - 0x3e4]
call fcn.0040437c
call fcn.0040a638
mov edx, eax
lea eax, [ebp - 8]
call fcn.004040f0
mov eax, dword [ebp - 8]
call fcn.0040437c
mov edx, eax
lea eax, [ebp - 0x3e8]
call fcn.004040f0
mov edx, dword [ebp - 0x3e8]
mov eax, 0x5125b0
call fcn.004044a4
dec eax
je 0x512407
mov eax, dword [ebp - 8]
call fcn.0040437c
mov edx, eax
lea eax, [ebp - 0x3ec]
call fcn.004040f0
mov edx, dword [ebp - 0x3ec]
mov eax, 0x5125c0
call fcn.004044a4
dec eax
je 0x512407
mov eax, dword [ebp - 8]
call fcn.0040437c
mov edx, eax
lea eax, [ebp - 0x3f0]
call fcn.004040f0
mov edx, dword [ebp - 0x3f0]
mov eax, 0x5125cc
call fcn.004044a4
dec eax
jne 0x51242c
mov eax, dword [esi + 0x20c]
call fcn.00462450
mov ebx, eax
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.00461f24
mov dl, 1
mov eax, ebx
call fcn.00461ec8
jmp 0x5124c4
mov eax, dword [ebp - 8]
call fcn.0040437c
mov edx, eax
lea eax, [ebp - 0x3f4]
call fcn.004040f0
mov edx, dword [ebp - 0x3f4]
mov eax, 0x5125dc
call fcn.004044a4
dec eax
je 0x5124a4
mov eax, dword [ebp - 8]
call fcn.0040437c
mov edx, eax
lea eax, [ebp - 0x3f8]
call fcn.004040f0
mov edx, dword [ebp - 0x3f8]
mov eax, 0x5125ec
call fcn.004044a4
dec eax
je 0x5124a4
mov eax, dword [ebp - 8]
call fcn.0040437c
mov edx, eax
lea eax, [ebp - 0x3fc]
call fcn.004040f0
mov edx, dword [ebp - 0x3fc]
mov eax, 0x5125fc
call fcn.004044a4
dec eax
jne 0x5124c4
mov eax, dword [esi + 0x20c]
call fcn.00462450
mov ebx, eax
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.00461f24
xor edx, edx
mov eax, ebx
call fcn.00461ec8
mov eax, edi
call fcn.004068bc
call fcn.004028c4
test al, al
je 0x512351
mov eax, edi
call fcn.00406880
call fcn.004028c4
mov eax, dword [esi + 0x20c]
call fcn.00462490
test eax, eax
jne 0x512511
xor edx, edx
mov eax, esi
call fcn.00463c60
mov eax, dword [esi + 0x20c]
call fcn.00462450
mov edx, 0x51260c
call fcn.00461f24
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x512553
lea eax, [ebp - 0x3fc]
mov edx, 7
call fcn.00403f5c
lea eax, [ebp - 0x2e0]
mov edx, 2
call fcn.00403f5c
lea eax, [ebp - 8]
mov edx, 2
call fcn.00403f5c
ret