Function at 0x500046
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x56e779
call fcn.0053c1d0
sub esp, 0x828
mov eax, dword [0x5af710]
push ebx
xor eax, ebp
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0xc]
xor ebx, ebx
cmp esi, ebx
push edi
mov edi, ecx
mov dword [ebp - 0x82c], eax
jne 0x50007e
xor eax, eax
jmp 0x5002ec
push str.filename
mov ecx, esi
call fcn.00502474
push eax
lea ecx, [ebp - 0x81c]
call fcn.004071e0
push str.path
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.00502474
push eax
lea ecx, [ebp - 0x830]
call fcn.004071e0
push str.section
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.00502474
push eax
lea ecx, [ebp - 0x828]
call fcn.004071e0
push 0x5769cc
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.00502474
push eax
lea ecx, [ebp - 0x824]
call fcn.004071e0
push str.lines
mov ecx, esi
mov byte [ebp - 4], 3
call fcn.00502474
push eax
lea ecx, [ebp - 0x820]
call fcn.004071e0
lea eax, [ebp - 0x81c]
push eax
lea esi, [edi + 0x8c]
lea eax, [ebp - 0x818]
push esi
push eax
mov byte [ebp - 4], 4
call fcn.0040b370
push str._avversion_
push dword [ebp - 0x81c]
mov byte [ebp - 4], 5
call fcn.0053e16c
add esp, 0x14
test eax, eax
jne 0x50019e
push str.avversion.dat
lea ecx, [ebp - 0x81c]
call fcn.00404600
lea eax, [ebp - 0x81c]
push eax
lea eax, [ebp - 0x814]
push esi
push eax
call fcn.0040b370
add esp, 0xc
push eax
lea ecx, [ebp - 0x818]
mov byte [ebp - 4], 6
call fcn.0040b4e0
mov ecx, dword [ebp - 0x814]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.00401250
push ebx
push dword [ebp - 0x818]
call fcn.0053e126
cmp eax, 0xffffffff
pop ecx
pop ecx
je 0x500293
mov eax, dword [ebp - 0x820]
cmp dword [eax - 0xc], ebx
jne 0x500208
mov esi, 0x400
push esi
lea eax, [ebp - 0x410]
push ebx
push eax
call fcn.0053c340
add esp, 0xc
push dword [ebp - 0x818]
lea eax, [ebp - 0x410]
push esi
push eax
push 0x572aed
push dword [ebp - 0x824]
push dword [ebp - 0x828]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov esi, dword [ebp - 0x82c]
lea eax, [ebp - 0x410]
push eax
mov ecx, esi
call fcn.00404600
mov eax, dword [esi]
cmp dword [eax - 0xc], ebx
je 0x500296
jmp 0x500293
push 0x574434
push dword [ebp - 0x818]
call fcn.0053d7d9
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x500296
push dword [ebp - 0x820]
call fcn.0053c6a5
cmp eax, ebx
pop ecx
mov dword [ebp - 0x834], eax
mov dword [ebp - 0x814], ebx
jle 0x50027a
mov esi, 0x400
test byte [edi + 0xc], 0x10
jne 0x50027a
push esi
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.0053c340
push edi
lea eax, [ebp - 0x810]
push esi
push eax
call fcn.0053de6e
add esp, 0x18
inc dword [ebp - 0x814]
mov eax, dword [ebp - 0x814]
cmp eax, dword [ebp - 0x834]
jl 0x500241
push edi
call fcn.0053baab
pop ecx
mov ecx, dword [ebp - 0x82c]
lea eax, [ebp - 0x810]
push eax
call fcn.00404600
xor ebx, ebx
inc ebx
mov ecx, dword [ebp - 0x818]
add ecx, 0xfffffff0
call fcn.00401250
mov ecx, dword [ebp - 0x820]
add ecx, 0xfffffff0
call fcn.00401250
mov ecx, dword [ebp - 0x824]
add ecx, 0xfffffff0
call fcn.00401250
mov ecx, dword [ebp - 0x828]
add ecx, 0xfffffff0
call fcn.00401250
mov ecx, dword [ebp - 0x830]
add ecx, 0xfffffff0
call fcn.00401250
mov ecx, dword [ebp - 0x81c]
add ecx, 0xfffffff0
call fcn.00401250
mov eax, ebx
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop esi
xor ecx, ebp
pop ebx
call fcn.0053aaae
leave
ret 8