Function at 0x40f350
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x424
mov eax, dword [0x4e412c]
xor eax, ebp
mov dword [ebp - 8], eax
cmp dword [ebp + 8], 0
je 0x40f37f
push 0x5c
mov eax, dword [ebp + 8]
push eax
call fcn.004894f0
add esp, 8
mov dword [ebp - 0x424], eax
jmp 0x40f389
mov dword [ebp - 0x424], 0
mov ecx, dword [ebp - 0x424]
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 0
jne 0x40f39d
jmp 0x40f5e7
mov edx, dword [ebp - 4]
sub edx, dword [ebp + 8]
add edx, 1
push edx
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x318]
push ecx
call fcn.00489d00
add esp, 0xc
mov edx, dword [ebp - 4]
sub edx, dword [ebp + 8]
mov byte [ebp + edx - 0x317], 0
cmp dword [ebp + 0xc], 0
je 0x40f4ca
mov dword [ebp - 0x10c], 1
jmp 0x40f3ed
mov eax, dword [ebp - 0x10c]
add eax, 1
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x10c]
push ecx
push 0x4b47a8
lea edx, [ebp - 0x210]
push edx
call fcn.00489bd8
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
push 0xff
lea ecx, [ebp - 0x108]
push ecx
push 0x4afcbb
lea edx, [ebp - 0x210]
push edx
push 0x4b47b4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsx eax, byte [ebp - 0x108]
test eax, eax
jne 0x40f43f
jmp 0x40f4c5
lea ecx, [ebp - 0x108]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.0049c8ee
add esp, 8
test eax, eax
jne 0x40f4c0
mov eax, dword [ebp - 0x10c]
push eax
push 0x4b47bc
lea ecx, [ebp - 0x210]
push ecx
call fcn.00489bd8
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
push 0xff
lea eax, [ebp - 0x108]
push eax
push 0x4afcd2
lea ecx, [ebp - 0x210]
push ecx
push 0x4b47c8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x108]
push edx
lea eax, [ebp - 0x318]
push eax
call fcn.00489af0
add esp, 8
lea ecx, [ebp - 0x318]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00440c60
jmp 0x40f4c5
jmp 0x40f3de
jmp 0x40f5e7
lea eax, [ebp - 0x318]
push eax
call fcn.00489c70
add esp, 4
lea ecx, [ebp + eax - 0x318]
mov dword [ebp - 0x31c], ecx
mov dword [ebp - 0x10c], 1
jmp 0x40f501
mov edx, dword [ebp - 0x10c]
add edx, 1
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x10c]
push eax
push str.PRTNAME_d
lea ecx, [ebp - 0x210]
push ecx
call fcn.00489bd8
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
push 0xff
lea eax, [ebp - 0x108]
push eax
push 0x4afcd3
lea ecx, [ebp - 0x210]
push ecx
push 0x4b47dc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsx edx, byte [ebp - 0x108]
test edx, edx
je 0x40f5e0
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x420]
push ecx
call fcn.00489ae0
add esp, 8
mov edx, dword [ebp - 0x10c]
push edx
push str.PRTINFO_d
lea eax, [ebp - 0x210]
push eax
call fcn.00489bd8
add esp, 0xc
mov ecx, dword [ebp + 8]
push ecx
push 0xff
lea edx, [ebp - 0x108]
push edx
push 0x4afd32
lea eax, [ebp - 0x210]
push eax
push str.INFO
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsx ecx, byte [ebp - 0x108]
test ecx, ecx
je 0x40f5de
lea edx, [ebp - 0x108]
push edx
mov eax, dword [ebp - 0x31c]
push eax
call fcn.00489ae0
add esp, 8
lea ecx, [ebp - 0x318]
push ecx
lea edx, [ebp - 0x420]
push edx
call fcn.00440c60
jmp 0x40f5e2
jmp 0x40f5e7
jmp 0x40f4f2
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00488550
mov esp, ebp
pop ebp
ret