Function at 0x46f228
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffcc0
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
mov edi, 0x505288
mov esi, 0x5051f4
xor eax, eax
push ebp
push 0x46f577
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [0x50532c], eax
xor ebx, ebx
lea edx, [ebp - 4]
xor eax, eax
call fcn.00402984
lea eax, [ebp - 0x158]
call fcn.00473180
lea eax, [ebp - 0x158]
mov edx, 0x46f590
call fcn.00404e34
mov eax, dword [ebp - 0x158]
call fcn.00405024
push eax
push 0x50
lea eax, [esi + 1]
push eax
push 0x46f59c
push 0x46f5a0
push 0x46f5ac
call sub.kernel32.dll_GetPrivateProfileStringA
mov byte [esi], al
lea eax, [ebp - 0x1f0]
push eax
mov ecx, 2
mov edx, 1
mov eax, esi
call fcn.00402940
lea edx, [ebp - 0x1f0]
lea eax, [ebp - 0x15c]
call fcn.00404dd0
mov eax, dword [ebp - 0x15c]
call fcn.00402914
call fcn.00402a6c
test eax, eax
lea edx, [ebp - 8]
xor eax, eax
call fcn.00402984
lea eax, [ebp - 0x1f4]
mov edx, esi
call fcn.00404dd0
mov eax, dword [ebp - 0x1f4]
call fcn.00402914
call fcn.00402a6c
test eax, eax
jne 0x46f521
xor eax, eax
mov al, byte [esi]
cmp byte [esi + eax], 0x5c
je 0x46f356
mov eax, esi
mov edx, 0x46f5b8
mov cl, 0x90
call fcn.00403038
lea eax, [ebp - 0x1f8]
call fcn.00473180
lea eax, [ebp - 0x1f8]
mov edx, 0x46f590
call fcn.00404e34
mov eax, dword [ebp - 0x1f8]
call fcn.00405024
push eax
push 0x50
lea eax, [edi + 1]
push eax
push 0x46f5bc
push 0x46f5d4
push 0x46f5ac
call sub.kernel32.dll_GetPrivateProfileStringA
mov byte [edi], al
lea eax, [ebp - 0x1fc]
mov edx, edi
call fcn.00404dd0
mov eax, dword [ebp - 0x1fc]
call fcn.00402914
call fcn.00402a6c
test eax, eax
jne 0x46f521
xor eax, eax
mov al, byte [edi]
cmp byte [edi + eax], 0x5c
je 0x46f3d6
mov eax, edi
mov edx, 0x46f5b8
mov cl, 0x90
call fcn.00403038
mov edx, edi
lea eax, [ebp - 0x29c]
call fcn.00403068
mov edx, 0x50531c
lea eax, [ebp - 0x29c]
mov cl, 0x98
call fcn.00403038
lea edx, [ebp - 0x29c]
lea eax, [ebp - 0x33c]
call fcn.00403068
mov edx, 0x46f5e0
lea eax, [ebp - 0x33c]
mov cl, 0x9c
call fcn.00403038
lea edx, [ebp - 0x33c]
lea eax, [ebp - 0x200]
call fcn.00404dd0
mov edx, dword [ebp - 0x200]
lea eax, [ebp - 0x154]
call fcn.00402e3c
mov edx, 1
lea eax, [ebp - 0x154]
call fcn.00403548
call fcn.00402a6c
test eax, eax
jne 0x46f521
lea eax, [ebp - 0x154]
call fcn.004031f4
call fcn.004028d8
mov esi, eax
mov eax, esi
mov ecx, 0xf
cdq
idiv ecx
mov dword [0x505330], eax
mov eax, esi
call fcn.00402770
mov dword [0x50532c], eax
push 0
mov edx, dword [0x50532c]
mov ecx, esi
lea eax, [ebp - 0x154]
call fcn.00402fa0
call fcn.004028d8
lea eax, [ebp - 0x154]
call fcn.00402fe0
call fcn.004028d8
mov edx, edi
lea eax, [ebp - 0x29c]
call fcn.00403068
mov edx, 0x50531c
lea eax, [ebp - 0x29c]
mov cl, 0x98
call fcn.00403038
lea edx, [ebp - 0x29c]
lea eax, [ebp - 0x33c]
call fcn.00403068
mov edx, 0x46f5e8
lea eax, [ebp - 0x33c]
mov cl, 0x9c
call fcn.00403038
lea edx, [ebp - 0x33c]
lea eax, [ebp - 0x340]
call fcn.00404dd0
mov eax, dword [ebp - 0x340]
mov edx, 0x40
call fcn.004091f8
mov dword [0x505334], eax
cmp dword [0x505334], 0
jl 0x46f521
mov bl, 1
mov eax, dword [ebp - 8]
call fcn.00402914
mov eax, dword [ebp - 4]
call fcn.00402914
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46f57e
lea eax, [ebp - 0x340]
call fcn.00404b74
lea eax, [ebp - 0x200]
mov edx, 4
call fcn.00404b98
lea eax, [ebp - 0x15c]
mov edx, 2
call fcn.00404b98
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404b98
ret