Function at 0x46b8e8
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, 0x51e10c
mov esi, 0x51e078
xor eax, eax
push ebp
push 0x46bc37
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [0x51e1b0], eax
xor ebx, ebx
lea edx, [ebp - 4]
xor eax, eax
call fcn.004029a4
lea eax, [ebp - 0x158]
call fcn.0046dd98
lea eax, [ebp - 0x158]
mov edx, 0x46bc50
call fcn.0040515c
mov eax, dword [ebp - 0x158]
call fcn.0040534c
push eax
push 0x50
lea eax, [esi + 1]
push eax
push 0x46bc5c
push 0x46bc60
push 0x46bc6c
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.00402960
lea edx, [ebp - 0x1f0]
lea eax, [ebp - 0x15c]
call fcn.004050f8
mov eax, dword [ebp - 0x15c]
call fcn.00402934
call fcn.00402a8c
test eax, eax
lea edx, [ebp - 8]
xor eax, eax
call fcn.004029a4
lea eax, [ebp - 0x1f4]
mov edx, esi
call fcn.004050f8
mov eax, dword [ebp - 0x1f4]
call fcn.00402934
call fcn.00402a8c
test eax, eax
jne 0x46bbe1
xor eax, eax
mov al, byte [esi]
cmp byte [esi + eax], 0x5c
je 0x46ba16
mov eax, esi
mov edx, 0x46bc78
mov cl, 0x90
call fcn.00403298
lea eax, [ebp - 0x1f8]
call fcn.0046dd98
lea eax, [ebp - 0x1f8]
mov edx, 0x46bc50
call fcn.0040515c
mov eax, dword [ebp - 0x1f8]
call fcn.0040534c
push eax
push 0x50
lea eax, [edi + 1]
push eax
push 0x46bc7c
push 0x46bc94
push 0x46bc6c
call sub.kernel32.dll_GetPrivateProfileStringA
mov byte [edi], al
lea eax, [ebp - 0x1fc]
mov edx, edi
call fcn.004050f8
mov eax, dword [ebp - 0x1fc]
call fcn.00402934
call fcn.00402a8c
test eax, eax
jne 0x46bbe1
xor eax, eax
mov al, byte [edi]
cmp byte [edi + eax], 0x5c
je 0x46ba96
mov eax, edi
mov edx, 0x46bc78
mov cl, 0x90
call fcn.00403298
mov edx, edi
lea eax, [ebp - 0x29c]
call fcn.004032c8
mov edx, 0x51e1a0
lea eax, [ebp - 0x29c]
mov cl, 0x98
call fcn.00403298
lea edx, [ebp - 0x29c]
lea eax, [ebp - 0x33c]
call fcn.004032c8
mov edx, 0x46bca0
lea eax, [ebp - 0x33c]
mov cl, 0x9c
call fcn.00403298
lea edx, [ebp - 0x33c]
lea eax, [ebp - 0x200]
call fcn.004050f8
mov edx, dword [ebp - 0x200]
lea eax, [ebp - 0x154]
call fcn.0040309c
mov edx, 1
lea eax, [ebp - 0x154]
call fcn.00403870
call fcn.00402a8c
test eax, eax
jne 0x46bbe1
lea eax, [ebp - 0x154]
call fcn.004034c0
call fcn.004028f8
mov esi, eax
mov eax, esi
mov ecx, 0xf
cdq
idiv ecx
mov dword [0x51e1b4], eax
mov eax, esi
call fcn.00402790
mov dword [0x51e1b0], eax
push 0
mov edx, dword [0x51e1b0]
mov ecx, esi
lea eax, [ebp - 0x154]
call fcn.00403200
call fcn.004028f8
lea eax, [ebp - 0x154]
call fcn.00403240
call fcn.004028f8
mov edx, edi
lea eax, [ebp - 0x29c]
call fcn.004032c8
mov edx, 0x51e1a0
lea eax, [ebp - 0x29c]
mov cl, 0x98
call fcn.00403298
lea edx, [ebp - 0x29c]
lea eax, [ebp - 0x33c]
call fcn.004032c8
mov edx, 0x46bca8
lea eax, [ebp - 0x33c]
mov cl, 0x9c
call fcn.00403298
lea edx, [ebp - 0x33c]
lea eax, [ebp - 0x340]
call fcn.004050f8
mov eax, dword [ebp - 0x340]
mov edx, 0x40
call fcn.00409588
mov dword [0x51e1b8], eax
cmp dword [0x51e1b8], 0
jl 0x46bbe1
mov bl, 1
mov eax, dword [ebp - 8]
call fcn.00402934
mov eax, dword [ebp - 4]
call fcn.00402934
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46bc3e
lea eax, [ebp - 0x340]
call fcn.00404e9c
lea eax, [ebp - 0x200]
mov edx, 4
call fcn.00404ec0
lea eax, [ebp - 0x15c]
mov edx, 2
call fcn.00404ec0
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404ec0
ret