Function at 0x40afc0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43ca70
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
push ebx
push esi
push edi
mov eax, dword [0x448684]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
mov esi, dword [ebp + 8]
mov eax, esi
lea edi, [eax + 1]
xor ebx, ebx
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x40aff5
sub eax, edi
push eax
push esi
call fcn.004055e0
mov esi, 0x800
lea ebx, [ebx]
push esi
call fcn.00412d0c
mov edi, eax
add esp, 4
mov dword [ebp - 0x14], edi
cmp edi, ebx
je 0x40b077
mov eax, dword [ebp + 8]
push eax
push esi
push edi
push 0x43e710
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionA]
lea ecx, [esi - 2]
cmp eax, ecx
jne 0x40b0a1
push edi
call fcn.00412c4d
add esi, esi
add esp, 4
cmp esi, 0x7fff
jbe 0x40b010
push 0x10
push str.Ini_file_too_big
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
call fcn.004055e0
push 0x443ba4
lea eax, [ebp - 0x4c]
push eax
call fcn.00412c01
push 0xd
push str.Out_of_memory
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
call fcn.004055e0
push 0x443ba4
lea edx, [ebp - 0x4c]
push edx
call fcn.00412c01
mov esi, edi
cmp byte [esi], bl
je 0x40b1c5
mov eax, esi
inc esi
mov dword [ebp + 8], eax
cmp byte [eax], bl
je 0x40b1aa
cmp byte [esi], bl
je 0x40b0ca
lea ecx, [ecx]
cmp byte [esi], 0x3d
je 0x40b0ca
inc esi
cmp byte [esi], bl
jne 0x40b0c0
mov byte [esi], bl
inc esi
mov edi, esi
inc esi
cmp byte [esi], bl
je 0x40b0d9
inc esi
cmp byte [esi], bl
jne 0x40b0d4
mov eax, edi
inc esi
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x40b0f0
sub eax, ecx
push eax
push edi
lea ecx, [ebp - 0x4c]
call fcn.004055e0
mov dword [ebp - 4], ebx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40b120
mov ecx, dword [ebp + 8]
sub eax, edi
push eax
push ecx
lea ecx, [ebp - 0x30]
call fcn.004055e0
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x10]
lea edx, [ebp - 0x30]
push edx
add ecx, 0x1c
call fcn.0040abf0
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, eax
call fcn.004053a0
mov byte [ebp - 4], bl
mov edi, 0x10
cmp dword [ebp - 0x18], edi
jb 0x40b170
mov edx, dword [ebp - 0x2c]
push edx
call fcn.004127b1
add esp, 4
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x34], edi
jb 0x40b195
mov eax, dword [ebp - 0x48]
push eax
call fcn.004127b1
add esp, 4
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
jmp 0x40b0a3
push str.Null_key_in_ini_file.
lea ecx, [ebp - 0x68]
call fcn.00406860
push 0x443ba4
lea ecx, [ebp - 0x68]
push ecx
call fcn.00412c01
push edi
call fcn.00412c4d
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4