Function at 0x4011ca
Capabilities:
Check if file exists
Get common file path
Get file attributes
Read .ini file

Disassembly:
enter 0x228, 0
push ebx
push esi
push edi
push 0x40b049
push 0x401486
call fcn.00408e78
lea eax, [ebp - 0x105]
push eax
push 0x40b033
call fcn.00407e6a
lea eax, [ebp - 0x206]
push eax
push 0x40b034
call fcn.00407e6a
mov eax, dword [0x40c86c]
push dword [eax + 0x2c]
push 0x100
lea eax, [ebp - 0x105]
push eax
push 0
mov eax, dword [0x40c86c]
push dword [eax + 0x28]
push 0x40b035
call sub.kernel32.dll_GetPrivateProfileStringA
lea eax, [ebp - 0x105]
push eax
call fcn.00407e40
test eax, eax
je 0x401253
lea eax, [ebp - 0x105]
push eax
lea eax, [ebp - 0x105]
push eax
call fcn.00401112
push eax
call fcn.00407e6a
lea eax, [ebp - 0x105]
push eax
call fcn.00407e40
test eax, eax
jne 0x401445
lea eax, [ebp - 0x105]
push eax
push 0x40cb4c
call fcn.00407e6a
push 0x40cb4c
call fcn.00407e40
test eax, eax
jne 0x401297
lea eax, [ebp - 0x105]
push eax
push 0x40ca4a
call fcn.00407e6a
lea eax, [ebp - 0x206]
push eax
push 0x40b038
call fcn.00407e6a
lea eax, [ebp - 0x212]
push eax
push 0
call fcn.0040888c
call fcn.004085ec
push 2
call fcn.004085dc
mov ecx, eax
add ecx, 3
and esi, 0
jmp 0x40130d
lea eax, [ebp - 0x212]
push eax
lea eax, [ebp - 0x21c]
push eax
push dword [ebp - 0x212]
call fcn.004088c4
lea eax, [ebp - 0x218]
push eax
push 0x14
call fcn.004085dc
add eax, 0x41
push eax
call fcn.004087c0
pop eax
push dword [eax]
call fcn.00408928
pop eax
push dword [eax]
call fcn.0040888c
inc esi
cmp ecx, esi
jge 0x4012cc
lea eax, [ebp - 0x206]
push eax
mov eax, dword [ebp - 0x212]
push eax
call fcn.00407ebd
lea eax, [ebp - 0x212]
push eax
push 0x40b044
call fcn.0040888c
mov esi, 1
lea eax, [ebp - 0x212]
push eax
lea eax, [ebp - 0x224]
push eax
push dword [ebp - 0x212]
call fcn.004088c4
lea eax, [ebp - 0x220]
push eax
push 0x14
call fcn.004085dc
add eax, 0x41
push eax
call fcn.004087c0
pop eax
push dword [eax]
call fcn.00408928
pop eax
push dword [eax]
call fcn.0040888c
inc esi
cmp esi, 3
jle 0x40133a
lea eax, [ebp - 0x206]
push eax
mov eax, dword [ebp - 0x212]
push eax
call fcn.00407ebd
lea eax, [ebp - 0x105]
push eax
lea eax, [ebp - 0x206]
push eax
call fcn.00407ebd
lea eax, [ebp - 0x105]
push eax
call fcn.004010e3
test al, al
jne 0x401409
lea eax, [ebp - 0x105]
push eax
push 0xff
call sub.kernel32.dll_GetTempPathA
lea eax, [ebp - 0x105]
push eax
lea eax, [ebp - 0x206]
push eax
call fcn.00407ebd
lea eax, [ebp - 0x105]
push eax
call fcn.004010e3
test al, al
jne 0x401409
lea eax, [ebp - 0x105]
push eax
lea eax, [ebp - 0x206]
push eax
call fcn.00407e6a
lea eax, [ebp - 0x105]
push eax
call fcn.004010e3
lea eax, [ebp - 0x206]
push eax
lea eax, [ebp - 0x105]
push eax
call fcn.00401112
push eax
call fcn.00407e6a
mov eax, dword [0x40c86c]
push dword [eax + 0x2c]
lea eax, [ebp - 0x206]
push eax
mov eax, dword [0x40c86c]
push dword [eax + 0x28]
push 0x40b046
call sub.kernel32.dll_WritePrivateProfileStringA
jmp 0x401462
lea eax, [ebp - 0x105]
push eax
call sub.kernel32.dll_GetFileAttributesA
cmp eax, 0xffffffff
jne 0x401462
lea eax, [ebp - 0x105]
push eax
call fcn.004010e3
lea eax, [ebp - 0x105]
mov dword [ebp - 0x228], eax
xor eax, eax
pop dword fs:[eax]
add esp, 8
push 0x40148d
push 0x40b049
call fcn.00408ecc
ret