Function at 0x48b874
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x37
push 0
push 0
dec ecx
jne 0x48b87c
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x48bf50
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x1d], 0
xor eax, eax
push ebp
push 0x48be65
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x150]
mov eax, dword [0x466f4c]
call fcn.0046782c
mov edx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x1c]
add eax, 0x304
mov ecx, 0x48bf6c
call fcn.00404c50
lea edx, [ebp - 0x154]
mov eax, dword [0x466f4c]
call fcn.0046782c
mov edx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x1c]
add eax, 0x308
mov ecx, 0x48bf84
call fcn.00404c50
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.00451810
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004517e8
mov edx, 0x48bf9c
mov eax, 0x48c074
call fcn.00404f48
dec eax
jge 0x48bd65
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x30c], 0
mov dl, 1
mov eax, dword [0x417cc8]
call fcn.00403b68
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x48bd5e
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 8]
call fcn.00404944
mov byte [ebp - 0x39], 0
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x18]
push eax
push 0
lea ecx, [ebp - 0x28]
lea eax, [ebp - 0x24]
push eax
mov eax, 0x48bf9c
pop edx
call fcn.004746c0
lea edx, [ebp - 0x158]
mov eax, dword [ebp - 8]
call fcn.00409f98
cmp dword [ebp - 0x158], 0
jne 0x48bad4
lea edx, [ebp - 0x160]
xor eax, eax
call fcn.004032dc
mov eax, dword [ebp - 0x160]
lea edx, [ebp - 0x15c]
call fcn.0040abc8
lea eax, [ebp - 0x15c]
mov edx, 0x48c080
call fcn.00404c0c
mov eax, dword [ebp - 0x15c]
call fcn.0040a798
test al, al
je 0x48bad4
xor eax, eax
push ebp
push 0x48baca
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x168]
xor eax, eax
call fcn.004032dc
mov eax, dword [ebp - 0x168]
lea edx, [ebp - 0x164]
call fcn.0040abc8
lea eax, [ebp - 0x164]
mov edx, 0x48c080
call fcn.00404c0c
mov edx, dword [ebp - 0x164]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x68]
lea ecx, [ebp - 8]
mov edx, 0x48c09c
mov eax, dword [ebp - 4]
call fcn.0041ac30
lea ecx, [ebp - 0xc]
mov edx, 0x48c0ac
mov eax, dword [ebp - 4]
call fcn.0041ac30
lea ecx, [ebp - 0x10]
mov edx, 0x48c0bc
mov eax, dword [ebp - 4]
call fcn.0041ac30
lea ecx, [ebp - 0x18]
mov edx, 0x48c0cc
mov eax, dword [ebp - 4]
call fcn.0041ac30
lea ecx, [ebp - 0x170]
mov edx, 0x48c0d8
mov eax, dword [ebp - 4]
call fcn.0041ac30
mov eax, dword [ebp - 0x170]
lea edx, [ebp - 0x16c]
call fcn.00409f98
mov eax, dword [ebp - 0x16c]
mov edx, 0x48c0e8
call fcn.00404d50
sete byte [ebp - 0x39]
lea eax, [ebp - 0x14]
call fcn.00404944
cmp byte [ebp - 0x39], 0
je 0x48bac0
lea eax, [ebp - 0x14]
mov edx, 0x48c0e8
call fcn.004049dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48bad4
lea edx, [ebp - 0x174]
mov eax, dword [ebp - 0x38]
call fcn.00409f98
cmp dword [ebp - 0x174], 0
jne 0x48baf8
lea eax, [ebp - 0x38]
mov edx, 0x48c0f4
call fcn.004049dc
lea edx, [ebp - 0x178]
mov eax, dword [ebp - 0x38]
call fcn.00409f98
cmp dword [ebp - 0x178], 0
je 0x48bce1
xor eax, eax
push ebp
push 0x48bcd7
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x40]
push eax
push 0
push 0
call sub.shell32.dll_SHGetSpecialFolderLocation
lea eax, [ebp - 0x149]
push eax
mov eax, dword [ebp - 0x40]
push eax
call sub.shell32.dll_SHGetPathFromIDListA
lea edx, [ebp - 0x180]
xor eax, eax
call fcn.004032dc
mov eax, dword [ebp - 0x180]
lea edx, [ebp - 0x17c]
call fcn.0040ace4
mov eax, dword [ebp - 0x17c]
push eax
lea edx, [ebp - 0x184]
mov eax, dword [0x466f4c]
call fcn.0046782c
mov edx, dword [ebp - 0x184]
lea eax, [ebp - 0x44]
pop ecx
call fcn.00404c50
lea eax, [ebp - 0x188]
lea edx, [ebp - 0x149]
mov ecx, 0x105
call fcn.00404bb4
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
call fcn.00475258
lea edx, [ebp - 0x18c]
mov eax, dword [0x466f4c]
call fcn.0046782c
mov edx, dword [ebp - 0x18c]
lea eax, [ebp - 0x44]
mov ecx, 0x48c104
call fcn.00404c50
lea eax, [ebp - 0x190]
mov ecx, dword [ebp - 0x38]
mov edx, 0x48c118
call fcn.00404c50
mov edx, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
call fcn.00475258
lea eax, [ebp - 0x40]
push eax
push 2
push 0
call sub.shell32.dll_SHGetSpecialFolderLocation
lea eax, [ebp - 0x149]
push eax
mov eax, dword [ebp - 0x40]
push eax
call sub.shell32.dll_SHGetPathFromIDListA
lea edx, [ebp - 0x194]
mov eax, dword [ebp - 0x24]
call fcn.00409f98
cmp dword [ebp - 0x194], 0
jne 0x48bc31
lea eax, [ebp - 0x24]
mov edx, 0x48c128
call fcn.004049dc
lea eax, [ebp - 0x198]
lea edx, [ebp - 0x149]
mov ecx, 0x105
call fcn.00404bb4
push dword [ebp - 0x198]
push 0x48c13c
push dword [ebp - 0x24]
push 0x48c13c
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.00404cc4
mov eax, dword [ebp - 0x34]
call fcn.0040a7a8
test al, al
jne 0x48bc7b
mov eax, dword [ebp - 0x34]
call fcn.0040a7cc
lea edx, [ebp - 0x1a0]
xor eax, eax
call fcn.004032dc
mov eax, dword [ebp - 0x1a0]
lea edx, [ebp - 0x19c]
call fcn.0040ace4
mov eax, dword [ebp - 0x19c]
push eax
lea edx, [ebp - 0x1a4]
mov eax, dword [0x466f4c]
call fcn.0046782c
mov edx, dword [ebp - 0x1a4]
lea eax, [ebp - 0x44]
pop ecx
call fcn.00404c50
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
call fcn.00475258
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48bce1
push ebp
call fcn.0048b6f4
pop ecx
lea edx, [ebp - 0x1a8]
mov eax, dword [ebp - 8]
call fcn.00409f98
cmp dword [ebp - 0x1a8], 0
sete al
or al, byte [ebp - 0x39]
je 0x48bd48
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [0x473e88]
call fcn.00474e44
test al, al
jne 0x48bd41
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x30c], 1
call fcn.004043e4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48bf00
push ebp
call fcn.0048b6f4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48bd65
mov eax, dword [ebp - 4]
call fcn.00403b98
ret
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x304]
call fcn.0040a798
test al, al
je 0x48be5b
xor eax, eax
push ebp
push 0x48be51
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x304]
mov eax, dword [0x466f4c]
call fcn.00467260
mov ebx, eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x308]
mov eax, dword [0x466f4c]
call fcn.00467260
cmp ebx, eax
jne 0x48bded
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x304]
mov eax, dword [0x466f4c]
call fcn.004670a0
fstp qword [ebp - 0x1b0]
wait
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x308]
mov eax, dword [0x466f4c]
call fcn.004670a0
fcomp qword [ebp - 0x1b0]
fnstsw ax
sahf
je 0x48be47
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x308]
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x304]
mov eax, dword [0x466f4c]
call fcn.00466fa0
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x304]
mov eax, dword [0x466f4c]
call fcn.004670a0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x1b4]
call fcn.0040cf04
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x308]
mov eax, dword [0x466f4c]
call fcn.004670f4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48be5b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48be6f
lea edx, [ebp - 0x1b8]
mov eax, dword [0x466f4c]
call fcn.0046782c
mov edx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1c]
add eax, 0x304
mov ecx, 0x48bf6c
call fcn.00404c50
lea edx, [ebp - 0x1bc]
mov eax, dword [0x466f4c]
call fcn.0046782c
mov edx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x1c]
add eax, 0x308
mov ecx, 0x48bf84
call fcn.00404c50
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x308]
call fcn.0040a798
test al, al
jne 0x48bee8
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x308]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x300]
call fcn.0048b0e0
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.00451810
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004517e8
mov byte [ebp - 0x1d], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48bf57
lea eax, [ebp - 0x1bc]
mov edx, 3
call fcn.00404968
lea eax, [ebp - 0x1a8]
mov edx, 0x17
call fcn.00404968
lea eax, [ebp - 0x44]
call fcn.00404944
lea eax, [ebp - 0x38]
mov edx, 6
call fcn.00404968
lea eax, [ebp - 0x18]
mov edx, 5
call fcn.00404968
ret