Function at 0x417ca0
Capabilities:
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4819cf
mov eax, dword fs:[0]
push eax
sub esp, 0x20c
mov eax, dword [0x4b185c]
xor eax, ebp
mov dword [ebp - 0x28], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1f8], ecx
push 0x104
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea ecx, [ebp - 0x24]
call fcn.0045a4ba
mov dword [ebp - 4], 0
push 0
push str.infoem.inf
lea ecx, [ebp - 0x134]
push ecx
lea ecx, [ebp - 0x1e8]
call fcn.0040e440
mov dword [ebp - 0x1fc], eax
mov edx, dword [ebp - 0x1fc]
mov dword [ebp - 0x200], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x200]
push eax
lea ecx, [ebp - 0x1ec]
push ecx
call fcn.00411600
add esp, 0xc
mov dword [ebp - 0x204], eax
mov edx, dword [ebp - 0x204]
mov dword [ebp - 0x208], edx
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x208]
call fcn.0040e550
push eax
lea ecx, [ebp - 0x24]
call fcn.0045a54f
mov dword [ebp - 0x138], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1ec]
call fcn.0040e4c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1e8]
call fcn.0040e4c0
cmp dword [ebp - 0x138], 0
je 0x417e1b
lea ecx, [ebp - 0x24]
call fcn.0045a1be
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0x24]
call fcn.0045a6fd
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x13c]
call fcn.0040e550
push eax
push 0x50
lea ecx, [ebp - 0x18c]
push ecx
push 0x48de84
push 0x48de8c
push 0x48de94
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x48de9c
lea edx, [ebp - 0x18c]
push edx
call fcn.0046ab17
add esp, 8
test eax, eax
jne 0x417e07
lea eax, [ebp - 0x13c]
push eax
mov ecx, dword [ebp - 0x1f8]
call fcn.00418e40
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x13c]
call fcn.0040e4c0
jmp 0x417d85
push 0
push str.infother.inf
lea ecx, [ebp - 0x134]
push ecx
lea ecx, [ebp - 0x1f0]
call fcn.0040e440
mov dword [ebp - 0x20c], eax
mov edx, dword [ebp - 0x20c]
mov dword [ebp - 0x210], edx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x210]
push eax
lea ecx, [ebp - 0x1f4]
push ecx
call fcn.00411600
add esp, 0xc
mov dword [ebp - 0x214], eax
mov edx, dword [ebp - 0x214]
mov dword [ebp - 0x218], edx
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x218]
call fcn.0040e550
push eax
lea ecx, [ebp - 0x24]
call fcn.0045a54f
mov dword [ebp - 0x138], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1f4]
call fcn.0040e4c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1f0]
call fcn.0040e4c0
cmp dword [ebp - 0x138], 0
je 0x417f44
lea ecx, [ebp - 0x24]
call fcn.0045a1be
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0x24]
call fcn.0045a6fd
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x190]
call fcn.0040e550
push eax
push 0x50
lea ecx, [ebp - 0x1e4]
push ecx
push str.Unknown
push str.Class
push 0x48dec8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x48ded0
lea edx, [ebp - 0x1e4]
push edx
call fcn.0046ab17
add esp, 8
test eax, eax
jne 0x417f30
lea eax, [ebp - 0x190]
push eax
mov ecx, dword [ebp - 0x1f8]
call fcn.00418e40
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x190]
call fcn.0040e4c0
jmp 0x417eae
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.0045a4e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x28]
xor ecx, ebp
call fcn.0046a0d3
mov esp, ebp
pop ebp
ret