Function at 0x401df0
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x4278f8
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push ebp
push esi
push edi
mov eax, dword [0x433a70]
xor eax, esp
push eax
lea eax, [esp + 0x2c]
mov dword fs:[0], eax
mov dword [esp + 0x20], ecx
push str.CIniFile::StringFromKey
lea ecx, [esp + 0x28]
call fcn.00401130
push 0x104
mov dword [esp + 0x38], 0
mov dword [esp + 0x18], 0
call fcn.00409b95
push 0x200
mov ebp, eax
call fcn.00409b95
push 0x20
mov ebx, eax
call fcn.00409b95
mov esi, eax
push 0x200
mov dword [esp + 0x2c], esi
call fcn.00409b95
add esp, 0x10
test ebp, ebp
mov dword [esp + 0x18], eax
je 0x401fc2
test esi, esi
je 0x401fc2
test ebx, ebx
je 0x401fc2
test eax, eax
je 0x401fd7
push 0x104
push 0
push ebx
call fcn.004132a0
mov eax, dword [str.VarFromKey]
mov dword [ebp], eax
mov ecx, dword [0x4297a8]
mov dword [ebp + 4], ecx
mov dx, word [0x4297ac]
push ebp
mov word [ebp + 8], dx
mov al, byte [0x4297ae]
lea ecx, [esp + 0x34]
push str.VarFromKeySection:__s
push ecx
mov byte [ebp + 0xa], al
call fcn.00401460
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x54]
add esp, 0x18
push edx
push 0x104
push ebx
push str.NOT_FOUND
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.NOT_FOUND
push ebx
call fcn.00413ac5
add esp, 8
test eax, eax
je 0x401fc2
push 0x25
push ebx
mov dword [esp + 0x1c], 1
call fcn.0041389e
mov esi, eax
add esp, 8
test esi, esi
je 0x401fae
push esi
call fcn.00413daf
push 0x25
push eax
call fcn.0041389e
mov edi, eax
add esp, 0xc
test edi, edi
je 0x402042
mov ecx, dword [esp + 0x44]
mov byte [esi], 0
push ecx
mov ecx, dword [esp + 0x24]
add esi, 1
mov byte [edi], 0
push esi
add edi, 1
call fcn.004018b0
mov esi, eax
test esi, esi
je 0x401fc2
push edi
mov edi, dword [esp + 0x1c]
push esi
push ebx
push 0x429778
push 0x200
push edi
call fcn.004131ec
add esp, 0x18
cmp eax, 0xffffffff
je 0x40205a
mov edx, ebx
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x401f87
push esi
call fcn.00409b90
push 0x25
push ebx
call fcn.0041389e
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x401f22
mov edx, dword [esp + 0x40]
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x401fb6
mov eax, dword [esp + 0x18]
test eax, eax
je 0x401fd3
push eax
call fcn.00409b90
add esp, 4
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x401fe4
push esi
call fcn.00409b90
add esp, 4
test ebx, ebx
je 0x401ff1
push ebx
call fcn.00409b90
add esp, 4
test ebp, ebp
je 0x401ffe
push ebp
call fcn.00409b90
add esp, 4
mov esi, dword [esp + 0x14]
cmp esi, 1
jne 0x402019
lea ecx, [esp + 0x24]
push str.Read_variable_from_key
push ecx
call fcn.00401460
add esp, 8
lea ecx, [esp + 0x24]
mov dword [esp + 0x34], 0xffffffff
call fcn.004012e0
mov eax, esi
mov ecx, dword [esp + 0x2c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret 0xc
push ebx
lea edx, [esp + 0x28]
push str.Invalid_string_:__s
push edx
call fcn.00401460
add esp, 0xc
jmp 0x401fae
push 0x250
push str..cinifile.cpp
lea eax, [esp + 0x2c]
push str.ERROR:_string_too_long__s:_d
push eax
call fcn.00401460
add esp, 0x10
mov dword [esp + 0x14], 0
jmp 0x401fc2