Function at 0x4ad484
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 8
push 0
push 0
dec ecx
jne 0x4ad48c
push ecx
push ebx
push esi
mov eax, 0x4ad12c
call fcn.00406c70
mov esi, dword [0x4afea0]
xor eax, eax
push ebp
push 0x4ad8ac
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [esi]
call fcn.00460a74
lea edx, [ebp - 0x1c]
mov eax, dword [esi]
call fcn.004610e4
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
call fcn.0040924c
push dword [ebp - 0x18]
push 0x4ad8c4
push 0x4ad8d4
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00404a80
mov eax, dword [ebp - 0x14]
call fcn.00404bb8
push eax
push 0xc8
push 0x4b23e4
push 0x4ad8e0
push 0x4ad8e4
push 0x4ad8ec
call sub.kernel32.dll_GetPrivateProfileStringA
lea edx, [ebp - 0x28]
mov eax, dword [esi]
call fcn.004610e4
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x24]
call fcn.0040924c
push dword [ebp - 0x24]
push 0x4ad8c4
push 0x4ad8d4
lea eax, [ebp - 0x20]
mov edx, 3
call fcn.00404a80
mov eax, dword [ebp - 0x20]
call fcn.00404bb8
push eax
push 0xc8
push 0x4b24b0
push 0x4ad8e0
push 0x4ad8f4
push 0x4ad8ec
call sub.kernel32.dll_GetPrivateProfileStringA
lea eax, [ebp - 0x2c]
mov edx, 0x4b23e4
mov ecx, 0xc9
call fcn.00404970
cmp dword [ebp - 0x2c], 0
je 0x4ad781
lea eax, [ebp - 0x30]
mov edx, 0x4b24b0
mov ecx, 0xc9
call fcn.00404970
cmp dword [ebp - 0x30], 0
je 0x4ad781
call fcn.004ad090
fmul dword [0x4ad8fc]
fadd dword [0x4ad900]
fstp dword [0x4b257c]
wait
lea eax, [ebp - 0x38]
push eax
fld dword [0x4b257c]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x3c]
call fcn.0040a218
mov eax, dword [ebp - 0x3c]
mov ecx, 8
mov edx, 1
call fcn.00404c18
mov eax, dword [ebp - 0x38]
call fcn.00408f48
mov ebx, eax
lea eax, [ebp - 0x40]
mov edx, 0x4b23e4
mov ecx, 0xc9
call fcn.00404970
mov eax, dword [ebp - 0x40]
call fcn.004049c0
imul ebx, eax
mov eax, ebx
add eax, 0xbc241
lea ecx, [ebp - 0x34]
xor edx, edx
call fcn.00408f0c
mov eax, dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x44]
mov edx, 0x4b24b0
mov ecx, 0xc9
call fcn.00404970
mov edx, dword [ebp - 0x44]
pop eax
call fcn.00404b04
jne 0x4ad673
mov ecx, dword [0x4afcfc]
mov eax, dword [esi]
mov edx, dword [0x49e8a0]
call fcn.00460a8c
mov eax, dword [esi]
mov edx, 0x4ad90c
call fcn.00460680
mov eax, dword [0x4afcfc]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
xor edx, edx
call fcn.004525dc
jmp 0x4ad88a
mov ecx, dword [esi]
mov dl, 1
mov eax, dword [0x4ace34]
call fcn.00459444
mov edx, dword [0x4afbe4]
mov dword [edx], eax
mov eax, dword [0x4afbe4]
mov eax, dword [eax]
call fcn.0045d680
mov eax, dword [0x4afbe4]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x88]
mov ecx, dword [0x4afcfc]
mov eax, dword [esi]
mov edx, dword [0x49e8a0]
call fcn.00460a8c
mov eax, dword [0x4afcfc]
mov eax, dword [eax]
mov edx, 0x4ad930
call fcn.00440b58
mov eax, dword [esi]
mov dword [eax + 0x74], 0x1770
mov eax, dword [0x4afcfc]
mov eax, dword [eax]
mov eax, dword [eax + 0x318]
add eax, 0x80
mov edx, 0x4ad95c
call fcn.0040475c
mov eax, dword [0x4afcfc]
mov eax, dword [eax]
mov eax, dword [eax + 0x31c]
add eax, 0x80
mov edx, 0x4ad95c
call fcn.0040475c
mov eax, dword [0x4afcfc]
mov eax, dword [eax]
mov eax, dword [eax + 0x320]
add eax, 0x80
mov edx, 0x4ad95c
call fcn.0040475c
mov eax, dword [esi]
mov edx, 0x4ad930
call fcn.00460680
call sub.kernel32.dll_GetTickCount
mov ebx, eax
add ebx, 0xfa0
mov eax, dword [esi]
call fcn.00460960
call sub.kernel32.dll_GetTickCount
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
cmp edx, dword [esp + 4]
jne 0x4ad760
cmp eax, dword [esp]
pop edx
pop eax
jae 0x4ad73e
jmp 0x4ad764
pop edx
pop eax
jge 0x4ad73e
mov eax, dword [0x4afbe4]
mov eax, dword [eax]
call fcn.0045d678
mov eax, dword [0x4afbe4]
mov eax, dword [eax]
call fcn.0040399c
jmp 0x4ad88a
mov ecx, dword [esi]
mov dl, 1
mov eax, dword [0x4ace34]
call fcn.00459444
mov edx, dword [0x4afbe4]
mov dword [edx], eax
mov eax, dword [0x4afbe4]
mov eax, dword [eax]
call fcn.0045d680
mov eax, dword [0x4afbe4]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x88]
mov ecx, dword [0x4afcfc]
mov eax, dword [esi]
mov edx, dword [0x49e8a0]
call fcn.00460a8c
mov eax, dword [0x4afcfc]
mov eax, dword [eax]
mov edx, 0x4ad930
call fcn.00440b58
mov eax, dword [esi]
mov dword [eax + 0x74], 0x1770
mov eax, dword [0x4afcfc]
mov eax, dword [eax]
mov eax, dword [eax + 0x318]
add eax, 0x80
mov edx, 0x4ad95c
call fcn.0040475c
mov eax, dword [0x4afcfc]
mov eax, dword [eax]
mov eax, dword [eax + 0x31c]
add eax, 0x80
mov edx, 0x4ad95c
call fcn.0040475c
mov eax, dword [0x4afcfc]
mov eax, dword [eax]
mov eax, dword [eax + 0x320]
add eax, 0x80
mov edx, 0x4ad95c
call fcn.0040475c
mov eax, dword [esi]
mov edx, 0x4ad930
call fcn.00460680
call sub.kernel32.dll_GetTickCount
mov ebx, eax
add ebx, 0xfa0
mov eax, dword [esi]
call fcn.00460960
call sub.kernel32.dll_GetTickCount
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
cmp edx, dword [esp + 4]
jne 0x4ad86e
cmp eax, dword [esp]
pop edx
pop eax
jae 0x4ad84c
jmp 0x4ad872
pop edx
pop eax
jge 0x4ad84c
mov eax, dword [0x4afbe4]
mov eax, dword [eax]
call fcn.0045d678
mov eax, dword [0x4afbe4]
mov eax, dword [eax]
call fcn.0040399c
mov eax, dword [esi]
call fcn.00460b0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ad8b3
lea eax, [ebp - 0x44]
mov edx, 0xd
call fcn.0040472c
ret