Function at 0x424ab0
Capabilities:
Read .ini file

Disassembly:
push ecx
push ebp
push esi
mov esi, ecx
push edi
lea ebp, [esi + 0x148]
push ebp
mov dword [esp + 0x10], ebp
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0x14f3]
xor edi, edi
cmp eax, edi
jne 0x424ae9
push ebp
mov dword [esi + 0x118], 1
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebp
pop ecx
ret
mov eax, dword [esi + 0x161c]
cmp eax, edi
jne 0x424aff
mov dword [esi + 0x1620], 1
jmp 0x424b0b
mov dword [esi + 0x1620], eax
mov dword [esi + 0x161c], edi
mov ecx, dword [esi + 0x1624]
push ebx
mov ebx, dword [esi + 0x1620]
cmp ebx, ecx
jle 0x424b26
mov dword [esi + 0x11c], 1
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebx, edx
jg 0x424b44
mov edi, 1
jmp 0x424c22
lea edx, [ecx + ecx]
mov eax, 0x38e38e39
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebx, edx
jg 0x424b65
mov edi, 2
jmp 0x424c22
lea edx, [ecx + ecx*2]
mov eax, 0x38e38e39
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebx, edx
jg 0x424b86
mov edi, 3
jmp 0x424c22
lea edx, [ecx*4]
mov eax, 0x38e38e39
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebx, edx
jg 0x424ba8
mov edi, 4
jmp 0x424c22
lea edx, [ecx + ecx*4]
mov eax, 0x38e38e39
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebx, edx
jg 0x424bc6
mov edi, 5
jmp 0x424c22
lea edx, [ecx + ecx*2]
shl edx, 1
mov eax, 0x38e38e39
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebx, edx
jg 0x424be6
mov edi, 6
jmp 0x424c22
mov edx, ecx
imul edx, edx, 7
mov eax, 0x38e38e39
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebx, edx
jg 0x424c06
mov edi, 7
jmp 0x424c22
shl ecx, 3
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
cmp ebx, edx
jg 0x424c22
mov edi, 8
cmp edi, dword [esi + 0x1628]
jne 0x424c30
push ebp
jmp 0x424e67
lea eax, [edi - 1]
cmp eax, 7
ja case.default.0x424c3c
jmp dword [eax*4 + 0x424e80]
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebx, [esi + 0x1508]
push ebx
push 7
push str.MAXFRAME1
push 0x45e87c
call ebp
push ebx
push 0xc8
push str.PERSIST1
push 0x45e890
mov dword [esi + 0x14cf], eax
call ebp
push ebx
push 4
push str.SLOT1
push 0x45e8a0
jmp 0x424e4e
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebx, [esi + 0x1508]
push ebx
push 6
push str.MAXFRAME2
push 0x45e8b4
call ebp
push ebx
push 0x96
push str.PERSIST2
push 0x45e8c8
mov dword [esi + 0x14cf], eax
call ebp
push ebx
push 5
push str.SLOT2
push 0x45e8d8
jmp 0x424e4e
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebx, [esi + 0x1508]
push ebx
push 6
push str.MAXFRAME3
push 0x45e8ec
call ebp
push ebx
push 0x64
push str.PERSIST3
push 0x45e900
mov dword [esi + 0x14cf], eax
call ebp
push ebx
push 5
push str.SLOT3
push 0x45e910
jmp 0x424e4e
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebx, [esi + 0x1508]
push ebx
push 5
push str.MAXFRAME4
push 0x45e924
call ebp
push ebx
push 0x3c
push str.PERSIST4
push 0x45e938
mov dword [esi + 0x14cf], eax
call ebp
push ebx
push 0xa
push str.SLOT4
push 0x45e948
jmp 0x424e4e
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebx, [esi + 0x1508]
push ebx
push 4
push str.MAXFRAME5
push 0x45e95c
call ebp
push ebx
push 0x32
push str.PERSIST5
push 0x45e970
mov dword [esi + 0x14cf], eax
call ebp
push ebx
push 0xa
push str.SLOT5
push 0x45e980
jmp 0x424e4e
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebx, [esi + 0x1508]
push ebx
push 3
push str.MAXFRAME6
push 0x45e994
call ebp
push ebx
push 0x28
push str.PERSIST6
push 0x45e9a8
mov dword [esi + 0x14cf], eax
call ebp
push ebx
push 0xa
push str.SLOT6
push 0x45e9b8
jmp 0x424e4e
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebx, [esi + 0x1508]
push ebx
push 3
push str.MAXFRAME7
push 0x45e9cc
call ebp
push ebx
push 0x1e
push str.PERSIST7
push 0x45e9e0
mov dword [esi + 0x14cf], eax
call ebp
push ebx
push 0xc
push str.SLOT7
push 0x45e9f0
jmp 0x424e4e
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebx, [esi + 0x1508]
push ebx
push 2
push str.MAXFRAME8
push 0x45ea04
call ebp
push ebx
push 0x1e
push str.PERSIST8
push 0x45ea18
mov dword [esi + 0x14cf], eax
call ebp
push ebx
push 0xc
push str.SLOT8
push 0x45ea28
mov dword [esi + 0x14c7], eax
call ebp
mov dword [esi + 0x14cb], eax
mov dword [esi + 0x1628], edi
mov edx, dword [esp + 0x10]
push edx
mov dword [esi + 0x118], 1
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop ebx
pop edi
pop esi
pop ebp
pop ecx
ret