Function at 0x40245e
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
and byte [ebp - 0xc], 0
push ebx
push esi
push edi
xor eax, eax
lea edi, [ebp - 0xb]
and byte [ebp - 0x1c], al
stosd dword es:[edi], eax
lea edi, [ebp - 0x1b]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xbb0]
test cl, 4
je 0x4024dd
add eax, 0x104
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp + 8], eax
push eax
lea eax, [ebp - 0xc]
push 5
mov ebx, 0x406184
push eax
push ebx
mov edi, str.UserInfo
push str.Interval
push edi
call esi
cmp byte [ebp - 0xc], 0
je 0x4024c9
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.MSVCRT.dll_atol]
pop ecx
jmp 0x4026a7
push dword [ebp + 8]
lea eax, [ebp - 0x1c]
push 0x10
push eax
push ebx
push str.Range
push edi
call esi
jmp 0x402520
test cl, 0x80
je 0x4024fa
add eax, 0x104
push eax
lea eax, [ebp - 0x1c]
push 0x10
push eax
push 0x407a44
push str.Logon
jmp 0x402515
test cl, 0x40
je 0x40255e
add eax, 0x104
push eax
lea eax, [ebp - 0x1c]
push 0x10
push eax
push 0x407a44
push str.WinStart
push str.AutoUpdate
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [ebp - 0x1c], 0
je 0x4026ac
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.MSVCRT.dll_atol]
mov esi, eax
pop ecx
imul esi, esi, 0x3c
test esi, esi
je 0x402557
push 0
call dword [sym.imp.MSVCRT.dll_time]
pop ecx
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor eax, edi
xor edx, edx
div esi
mov esi, edx
mov eax, esi
jmp 0x4026ca
test cl, 0x20
je 0x4026ac
add eax, 0x104
push eax
lea eax, [ebp - 0x1c]
push 0x10
push eax
push 0x407a44
push str.TimeZone
push str.AutoUpdate
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [ebp - 0x1c], 0
jne 0x40259a
mov ecx, 0xffff
mov ebx, ecx
mov dword [ebp + 8], ecx
jmp 0x402608
mov esi, dword [sym.imp.MSVCRT.dll_atoi]
and byte [ebp - 0x18], 0
lea eax, [ebp - 0x1c]
push eax
call esi
and byte [ebp - 0x13], 0
mov ebx, eax
lea eax, [ebp - 0x17]
push eax
call esi
pop ecx
mov dword [ebp + 8], eax
pop ecx
mov esi, 0x937
test ebx, ebx
mov ecx, 0xffff
jl 0x4025da
cmp ebx, esi
jg 0x4025da
mov eax, ebx
push 0x64
cdq
pop edi
idiv edi
cmp edx, 0x3b
jle 0x4025dc
mov ebx, ecx
mov eax, dword [ebp + 8]
test eax, eax
jl 0x4025f2
cmp eax, esi
jg 0x4025f2
push 0x64
cdq
pop esi
idiv esi
cmp edx, 0x3b
jle 0x4025f5
mov dword [ebp + 8], ecx
cmp ebx, 0xffffffff
je 0x4026ac
cmp dword [ebp + 8], 0xffffffff
je 0x4026ac
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx edi, word [ebp - 0x24]
movzx eax, word [ebp - 0x22]
imul edi, edi, 0x3c
add edi, eax
mov eax, ebx
push 0x64
cdq
pop ecx
idiv ecx
push 0x64
pop esi
push 0x64
mov ecx, eax
mov eax, ebx
cdq
imul ecx, ecx, 0x3c
idiv esi
mov eax, dword [ebp + 8]
pop ebx
add ecx, edx
cdq
idiv esi
mov dword [ebp - 4], ecx
mov esi, eax
mov eax, dword [ebp + 8]
cdq
imul esi, esi, 0x3c
idiv ebx
mov eax, 0x5a0
add esi, edx
cmp ecx, esi
jbe 0x40265a
add esi, eax
cmp esi, edi
jae 0x402665
add ecx, eax
add esi, eax
mov dword [ebp - 4], ecx
cmp edi, ecx
push 0
ja 0x40268c
call dword [sym.imp.MSVCRT.dll_time]
pop ecx
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub esi, dword [ebp - 4]
xor ebx, eax
mov eax, ebx
xor edx, edx
div esi
sub edx, edi
add edx, dword [ebp - 4]
jmp 0x4026a5
call dword [sym.imp.MSVCRT.dll_time]
pop ecx
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor ebx, eax
sub esi, edi
mov eax, ebx
xor edx, edx
div esi
mov eax, edx
imul eax, eax, 0x3c
jmp 0x4026ca
push 0
call dword [sym.imp.MSVCRT.dll_time]
pop ecx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor eax, esi
xor edx, edx
mov ecx, 0xb4
div ecx
mov eax, edx
pop edi
pop esi
pop ebx
leave
ret