Function at 0x40bd00
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push 0x28
mov eax, 0x46ad05
call fcn.0042dbd7
mov edi, ecx
mov dword [ebp - 0x34], edi
xor ecx, ecx
mov byte [edi + 8], 1
mov dword [edi + 0xc], ecx
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], ecx
lea ebx, [edi + 0x18]
mov dword [ebp - 4], ecx
mov dword [ebx], ecx
mov dword [ebx + 4], ecx
mov dword [ebx + 8], ecx
lea ecx, [ebp - 0x14]
call fcn.0040699e
push dword [ebp + 0xc]
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 2
push dword [ebp + 8]
push 0x470190
push eax
call fcn.00406b1a
mov esi, dword [ebp - 0x14]
add esp, 0x10
cmp dword [esi - 4], 1
jle 0x40bd68
push dword [esi - 0xc]
lea ecx, [ebp - 0x14]
call fcn.00406aae
mov esi, dword [ebp - 0x14]
push esi
mov ecx, 0x493f4c
call fcn.0040c5a7
lea ecx, [ebp - 0x10]
call fcn.0040699e
xor eax, eax
mov byte [ebp - 4], 3
mov dword [ebp - 0x18], eax
cmp dword [ebp + 8], eax
je 0x40c02d
cmp dword [ebp + 0xc], eax
je 0x40c02d
push dword [ebp + 8]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x40c02d
push dword [ebp + 8]
call fcn.00436130
inc eax
push eax
mov dword [ebp - 0x2c], eax
call fcn.00432c26
push dword [ebp + 0xc]
mov dword [edi], eax
call fcn.00436130
inc eax
push eax
mov dword [ebp - 0x28], eax
call fcn.00432c26
add esp, 0x10
mov dword [edi + 4], eax
cmp dword [edi], 0
je 0x40bde8
push dword [ebp + 8]
push dword [ebp - 0x2c]
push dword [edi]
call fcn.004360d6
add esp, 0xc
cmp dword [edi + 4], 0
je 0x40bdff
push dword [ebp + 0xc]
push dword [ebp - 0x28]
push dword [edi + 4]
call fcn.004360d6
add esp, 0xc
push 0x7fff
call fcn.00432c26
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x40c02d
push dword [ebp + 8]
push 0x7fff
push eax
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionA]
test eax, eax
je 0x40c031
mov eax, dword [ebp - 0x18]
push eax
mov dword [ebp - 0x28], eax
call fcn.0040c362
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
mov dword [esp], 0x487527
push eax
call fcn.004359a0
pop ecx
pop ecx
test eax, eax
je 0x40c031
mov esi, dword [ebp - 0x28]
lea eax, [ebp - 0x30]
push eax
push 0x4701b0
push esi
call fcn.00436415
mov esi, eax
lea eax, [ebp - 0x30]
push eax
push 0x4701b4
push 0
mov dword [ebp - 0x28], esi
call fcn.00436415
push 1
push 0x4701b8
push esi
mov dword [ebp - 0x24], eax
call fcn.004362e1
add esp, 0x24
test eax, eax
je 0x40c003
push esi
call fcn.00436130
lea esi, [eax + 1]
push esi
call fcn.00432c26
mov dword [ebp - 0x1c], eax
pop ecx
pop ecx
test eax, eax
je 0x40bfff
push dword [ebp - 0x28]
push esi
push eax
call fcn.004360d6
add esp, 0xc
push 0x4701bc
push dword [ebp - 0x1c]
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov ecx, dword [edi + 0x10]
cmp ecx, dword [edi + 0x14]
je 0x40bee4
mov eax, dword [ebp - 0x1c]
mov dword [ecx], eax
add dword [edi + 0x10], 4
jmp 0x40bef1
lea eax, [ebp - 0x1c]
push eax
push ecx
lea ecx, [edi + 0xc]
call fcn.0040bc3b
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x40bfbf
push eax
call fcn.00432bb7
mov esi, eax
pop ecx
test esi, esi
jne 0x40bf31
xor ecx, ecx
mov byte [edi + 8], cl
mov eax, dword [ebx + 4]
mov dword [ebp - 0x28], ecx
cmp eax, dword [ebx + 8]
je 0x40bf20
mov dword [eax], ecx
jmp 0x40bfeb
lea ecx, [ebp - 0x28]
push ecx
push eax
mov ecx, ebx
call fcn.0040bc3b
jmp 0x40c003
push 0x4701bc
push esi
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
and dword [ebp - 0x20], 0
lea eax, [ebp - 0x20]
push esi
push eax
call fcn.0041c991
pop ecx
pop ecx
test eax, eax
je 0x40bf97
mov ecx, dword [ebp - 0x24]
push ecx
push dword [ebp - 0x28]
push dword [ebp + 0xc]
push dword [ebp + 8]
push eax
lea eax, [ebp - 0x10]
push str.WARNING:_Preprocessor_failed_to_process_value___Error_Code:_d__r_n_t_s_r_n_tsection:___s_r_n_tname:___s_r_n_tvalue:___s
push eax
call fcn.00406b1a
mov eax, dword [ebp - 0x10]
add esp, 0x1c
cmp dword [eax - 4], 1
jle 0x40bf84
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
call fcn.00406aae
push 5
push dword [ebp - 0x10]
mov ecx, 0x493f4c
call fcn.0040c5b8
mov byte [edi + 8], 0
mov ecx, dword [ebx + 4]
cmp ecx, dword [ebx + 8]
je 0x40bfaa
mov eax, dword [ebp - 0x20]
mov dword [ecx], eax
add dword [ebx + 4], 4
jmp 0x40bfb6
lea eax, [ebp - 0x20]
push eax
push ecx
mov ecx, ebx
call fcn.0040bc3b
push esi
call fcn.00432c0b
pop ecx
jmp 0x40c003
push 1
call fcn.00432c26
mov dword [ebp - 0x28], eax
pop ecx
test eax, eax
je 0x40bfff
push 0x487527
push 1
push eax
call fcn.004360d6
mov ecx, dword [ebx + 4]
add esp, 0xc
cmp ecx, dword [ebx + 8]
je 0x40bff1
mov eax, dword [ebp - 0x28]
mov dword [ecx], eax
add dword [ebx + 4], 4
jmp 0x40c003
lea eax, [ebp - 0x28]
push eax
push ecx
mov ecx, ebx
call fcn.0040bc3b
jmp 0x40c003
mov byte [edi + 8], 0
mov eax, dword [ebp - 0x2c]
mov esi, eax
push eax
call fcn.0040c362
mov dword [esp], 0x487527
push esi
mov dword [ebp - 0x2c], eax
call fcn.004359a0
pop ecx
pop ecx
test eax, eax
jne 0x40be5b
mov esi, dword [ebp - 0x14]
jmp 0x40c031
mov byte [edi + 8], 0
cmp byte [edi + 8], 0
jne 0x40c071
push dword [ebp + 0xc]
lea eax, [ebp - 0x10]
push dword [ebp + 8]
push str.WARNING:_INI_Section_not_read_into_memory_properly_r_n_t_s_r_n_tsection:___s
push eax
call fcn.00406b1a
mov eax, dword [ebp - 0x10]
add esp, 0x10
cmp dword [eax - 4], 1
jle 0x40c062
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
call fcn.00406aae
push 5
push dword [ebp - 0x10]
mov ecx, 0x493f4c
call fcn.0040c5b8
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x40c07f
push eax
call fcn.00432c0b
pop ecx
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.00406c57
lea ecx, [esi - 0x10]
call fcn.00406c57
mov eax, edi
call fcn.0042dba0
ret 8