Function at 0x4053e0
Capabilities:
Read .ini file

Disassembly:
push ebx
push ecx
push edx
push esi
push edi
sub esp, 0x28
mov edx, 0x104
mov eax, 0x41a108
mov esi, 0x4050d9
mov edi, 0x41a108
call fcn.00409930
push edi
sub ecx, ecx
dec ecx
mov al, 0
repne scasb al, byte es:[edi]
dec edi
mov al, byte [esi]
mov byte [edi], al
cmp al, 0
je 0x405422
mov al, byte [esi + 1]
add esi, 2
mov byte [edi + 1], al
add edi, 2
cmp al, 0
jne 0x40540a
pop edi
call fcn.00405130
call fcn.00403880
call fcn.00401460
push edi
push 1
push 0x405038
push 0x405087
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntA]
push edi
push 1
push 0x4050ba
test eax, eax
setne al
push 0x405087
mov byte [0x41a0c7], al
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntA]
push edi
push 1
push 0x4050a5
test eax, eax
setne al
push 0x405087
mov byte [0x41a0c6], al
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntA]
push edi
push 1
push 0x405020
test eax, eax
setne al
push 0x405087
mov byte [0x41a0c9], al
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntA]
push edi
push 1
push 0x40509b
test eax, eax
setne al
push 0x405087
mov byte [0x41a0c8], al
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntA]
push edi
push 1
push 0x405041
test eax, eax
setne al
push 0x405087
mov byte [0x41a0ca], al
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntA]
test eax, eax
setne al
push edi
push 1
push 0x405068
push 0x405087
mov byte [0x41a0cb], al
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntA]
test eax, eax
setne al
push edi
mov byte [0x41a0cc], al
movzx eax, byte [0x41a0c0]
push eax
push 0x4050fd
push 0x405087
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntA]
test eax, eax
setne al
push edi
mov byte [0x41a0c0], al
movzx eax, byte [0x41a0c1]
push eax
push 0x405060
push 0x405087
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntA]
test eax, eax
setne al
push edi
mov byte [0x41a0c1], al
movzx eax, byte [0x41a0c2]
push eax
push 0x4050ac
push 0x405087
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntA]
test eax, eax
setne al
push edi
mov byte [0x41a0c2], al
movzx eax, byte [0x41a0c3]
push eax
push 0x40502b
push 0x405087
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntA]
test eax, eax
setne al
push edi
mov byte [0x41a0c3], al
movzx eax, byte [0x41a0c4]
push eax
push 0x405117
push 0x405087
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntA]
test eax, eax
setne al
push edi
mov byte [0x41a0c4], al
movzx eax, byte [0x41a0c5]
push eax
push 0x4050d2
push 0x405087
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntA]
test eax, eax
setne al
xor ecx, ecx
mov byte [0x41a0c5], al
mov ebx, 0xa
movzx esi, cx
lea edx, [esp + 0x1c]
mov eax, esi
call fcn.004098d0
mov eax, esi
shl eax, 5
lea edx, [esp + 0x1c]
add eax, 0x41a004
inc ecx
call fcn.004052f0
cmp cx, 4
jb 0x4055d1
mov edx, 0x405108
mov eax, 0x41a084
mov ebx, 0xa
call fcn.004052f0
mov edx, 0x31
lea eax, [esp + 0x10]
call fcn.00407cd0
mov ebx, 0x10
mov edx, 0x31
mov eax, esp
mov byte [esp + 0x19], 0
call fcn.00407cd0
push 0x41a108
push 0xa
lea eax, [esp + 0x18]
push eax
push eax
push 0x4050c3
push 0x405087
mov byte [esp + 0x27], 0
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
push 0x41a108
push 0x10
lea eax, [esp + 8]
push eax
push eax
push 0x40510d
push 0x405087
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
mov edx, esp
lea eax, [esp + 0x10]
call fcn.00404db0
mov edx, 0x405087
mov eax, 0x41a108
mov ebx, 0x10
call fcn.00407990
mov edx, 0x41a108
mov eax, 0x405087
mov ecx, dword [0x41a0b8]
call fcn.00407160
add esp, 0x28
pop edi
pop esi
pop edx
pop ecx
pop ebx
ret