Function at 0x406cfc
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffcb4
push ebx
push esi
push edi
mov ebx, eax
mov esi, 0x4d8c78
mov eax, 0x4d920c
call fcn.004c928c
mov edx, dword [ebx + 0x5ac]
sub edx, 1
jb 0x406d3b
je 0x406d4d
dec edx
je 0x406d5f
dec edx
je 0x406d71
jmp 0x406d8e
mov dl, 1
mov eax, dword [ebx + 0x52c]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
jmp 0x406d8e
mov dl, 1
mov eax, dword [ebx + 0x59c]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
jmp 0x406d8e
mov dl, 1
mov eax, dword [ebx + 0x5a0]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
jmp 0x406d8e
mov dl, 1
mov eax, dword [ebx + 0x530]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov dl, 1
mov eax, dword [ebx + 0x538]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov edx, dword [ebx + 0x5b0]
mov eax, dword [ebx + 0x534]
call fcn.0047096c
push 0x104
push 0
lea ecx, [ebp - 0x144]
push ecx
call fcn.004c8d84
add esp, 0xc
lea eax, [ebp - 0x248]
push 0x104
push 0
push eax
call fcn.004c8d84
add esp, 0xc
lea edi, [ebp - 0x34c]
mov eax, edi
lea ecx, [ebp - 0x248]
push esi
add esi, 0x11f
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
lea edx, [esi + 0x127]
push edx
push ecx
call fcn.00401978
add esp, 8
lea eax, [ebp - 0x248]
lea edx, [ebp - 0x144]
lea ecx, [esi + 0x131]
push eax
push 0x104
push edx
push 0
push ecx
lea eax, [ebp - 0x34c]
push eax
call sub.KERNEL32.DLL_GetPrivateProfileStringA
mov word [ebp - 0x30], 8
lea edx, [ebp - 0x144]
lea eax, [ebp - 4]
call fcn.004d5740
inc dword [ebp - 0x24]
mov edx, dword [eax]
mov eax, dword [ebx + 0x558]
call fcn.0047096c
dec dword [ebp - 0x24]
lea eax, [ebp - 4]
mov edx, 2
call fcn.004d58a0
lea ecx, [ebp - 0x248]
lea eax, [ebp - 0x144]
push ecx
push 0x104
push eax
lea edx, [esi + 0x137]
push 0
push edx
lea ecx, [ebp - 0x34c]
push ecx
call sub.KERNEL32.DLL_GetPrivateProfileStringA
mov word [ebp - 0x30], 0x14
lea edx, [ebp - 0x144]
lea eax, [ebp - 8]
call fcn.004d5740
inc dword [ebp - 0x24]
mov edx, dword [eax]
mov eax, dword [ebx + 0x55c]
call fcn.0047096c
dec dword [ebp - 0x24]
lea eax, [ebp - 8]
mov edx, 2
call fcn.004d58a0
lea ecx, [ebp - 0x248]
lea eax, [ebp - 0x144]
push ecx
push 0x104
push eax
lea edx, [esi + 0x13f]
push 0
push edx
lea ecx, [ebp - 0x34c]
push ecx
call sub.KERNEL32.DLL_GetPrivateProfileStringA
mov word [ebp - 0x30], 0x20
lea edx, [ebp - 0x144]
lea eax, [ebp - 0xc]
call fcn.004d5740
inc dword [ebp - 0x24]
mov edx, dword [eax]
mov eax, dword [ebx + 0x560]
call fcn.0047096c
dec dword [ebp - 0x24]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004d58a0
lea ecx, [ebp - 0x248]
lea eax, [ebp - 0x144]
push ecx
push 0x104
push eax
lea edx, [esi + 0x146]
push 0
push edx
lea ecx, [ebp - 0x34c]
push ecx
call sub.KERNEL32.DLL_GetPrivateProfileStringA
mov word [ebp - 0x30], 0x2c
lea edx, [ebp - 0x144]
lea eax, [ebp - 0x10]
call fcn.004d5740
inc dword [ebp - 0x24]
mov edx, dword [eax]
mov eax, dword [ebx + 0x564]
call fcn.0047096c
dec dword [ebp - 0x24]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.004d58a0
lea ecx, [ebp - 0x248]
lea eax, [ebp - 0x144]
push ecx
push 0x104
push eax
lea edx, [esi + 0x14f]
push 0
push edx
lea ecx, [ebp - 0x34c]
push ecx
call sub.KERNEL32.DLL_GetPrivateProfileStringA
mov word [ebp - 0x30], 0x38
lea edx, [ebp - 0x144]
lea eax, [ebp - 0x14]
call fcn.004d5740
inc dword [ebp - 0x24]
mov edx, dword [eax]
mov eax, dword [ebx + 0x5a4]
call fcn.0047096c
dec dword [ebp - 0x24]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004d58a0
lea ecx, [ebp - 0x248]
lea eax, [esi + 0x157]
push ecx
push 0x28
push eax
lea edx, [ebp - 0x34c]
push edx
call sub.KERNEL32.DLL_GetPrivateProfileIntA
cmp eax, 0x28
je 0x406fec
cmp eax, 0x80
je 0x406fec
mov eax, 0x28
cmp eax, 0x28
jne 0x407013
mov dl, 1
mov eax, dword [ebx + 0x57c]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
xor edx, edx
mov eax, dword [ebx + 0x580]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
jmp 0x407033
xor edx, edx
mov eax, dword [ebx + 0x57c]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov dl, 1
mov eax, dword [ebx + 0x580]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
lea edx, [ebp - 0x248]
lea eax, [esi + 0x164]
push edx
push 1
push eax
lea edx, [ebp - 0x34c]
push edx
call sub.KERNEL32.DLL_GetPrivateProfileIntA
dec eax
je 0x407064
xor edx, edx
mov eax, dword [ebx + 0x588]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
jmp 0x407074
mov dl, 1
mov eax, dword [ebx + 0x588]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
lea eax, [ebp - 0x248]
lea edx, [esi + 0x171]
push eax
push 2
push edx
lea ecx, [ebp - 0x34c]
push ecx
call sub.KERNEL32.DLL_GetPrivateProfileIntA
cmp eax, 2
je 0x4070a7
xor edx, edx
mov eax, dword [ebx + 0x58c]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
jmp 0x4070b7
mov dl, 1
mov eax, dword [ebx + 0x58c]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
lea eax, [ebp - 0x248]
lea edx, [esi + 0x180]
push eax
push 4
push edx
lea ecx, [ebp - 0x34c]
push ecx
call sub.KERNEL32.DLL_GetPrivateProfileIntA
cmp eax, 4
je 0x4070ea
xor edx, edx
mov eax, dword [ebx + 0x590]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
jmp 0x4070fa
mov dl, 1
mov eax, dword [ebx + 0x590]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
lea eax, [ebp - 0x248]
lea edx, [ebp - 0x144]
push eax
push 0x104
push edx
lea ecx, [esi + 0x18e]
push 0
push ecx
lea eax, [ebp - 0x34c]
push eax
call sub.KERNEL32.DLL_GetPrivateProfileStringA
mov word [ebp - 0x30], 0x44
lea edx, [ebp - 0x144]
lea eax, [ebp - 0x18]
call fcn.004d5740
inc dword [ebp - 0x24]
mov edx, dword [eax]
mov eax, dword [ebx + 0x594]
call fcn.0047096c
dec dword [ebp - 0x24]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.004d58a0
lea ecx, [ebp - 0x248]
lea eax, [ebp - 0x144]
push ecx
push 0x104
push eax
lea edx, [esi + 0x19b]
push 0
push edx
lea ecx, [ebp - 0x34c]
push ecx
call sub.KERNEL32.DLL_GetPrivateProfileStringA
mov word [ebp - 0x30], 0x50
lea edx, [ebp - 0x144]
lea eax, [ebp - 0x1c]
call fcn.004d5740
inc dword [ebp - 0x24]
mov edx, dword [eax]
mov eax, dword [ebx + 0x598]
call fcn.0047096c
dec dword [ebp - 0x24]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.004d58a0
lea ecx, [ebp - 0x248]
lea eax, [esi + 0x1ae]
push ecx
push 1
push eax
lea edx, [esi + 0x1a7]
push edx
call sub.KERNEL32.DLL_GetPrivateProfileIntA
test eax, eax
mov eax, dword [ebx + 0x540]
setne dl
mov ecx, dword [eax]
and edx, 1
call dword [ecx + 0xc8]
mov eax, dword [ebp - 0x40]
mov dword fs:[0], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret