Function at 0x100024c1
Capabilities:
Query or enumerate registry value
Read .ini file
Set registry value

Disassembly:
push ebp
sub esp, 0x6c
lea ebp, [esp - 4]
mov eax, dword [0x1007b940]
xor eax, ebp
mov dword [ebp + 0x6c], eax
push 0x44
mov eax, 0x1005b12a
call fcn.1003230f
push 0x1006143c
push 1
push str.UseInstanceForLogStore
push str.MagicNumber
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
je 0x100026a3
lea eax, [ebp - 0x34]
push eax
call fcn.10031e3f
pop ecx
xor ebx, ebx
lea ecx, [ebp]
mov dword [ebp + 0x18], ebx
call fcn.100013fb
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call fcn.100013fb
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.1002762b
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.100013fb
mov ecx, dword [esi]
lea eax, [ebp + 0x10]
push eax
mov byte [ebp - 4], 3
call fcn.1000b43b
mov ecx, dword [esi]
lea eax, [ebp + 0x18]
push eax
push str.Count
mov edi, str.SixMonthWindow_
push edi
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
call fcn.1000cfb6
test eax, eax
jl 0x1000258e
mov eax, dword [ebp + 0x18]
dec eax
push eax
lea eax, [ebp]
push str.Log_03dDate
push eax
call fcn.10001266
mov ecx, dword [esi]
add esp, 0xc
lea eax, [ebp + 8]
push eax
push dword [ebp + 4]
push edi
call fcn.1000e3b3
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x30]
push dword [ebp - 0x34]
call fcn.100023f1
fstp qword [ebp - 0x24]
add esp, 0x10
push 0x1006143c
push 1
push str.TimeWarpFactor
push str.MagicNumber
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
mov esi, 0x100614d0
fmul qword [ebp - 0x24]
fld qword [0x100614c8]
fcompp
fnstsw ax
test ah, 5
jp 0x1000263f
push dword [ebp + 0x18]
lea eax, [ebp]
push str.Log_03dDate
push eax
call fcn.10001266
push dword [ebp + 0x18]
lea eax, [ebp - 0x14]
push str.Log_03d
push eax
call fcn.10001266
add esp, 0x18
lea eax, [ebp - 0x34]
push eax
push dword [ebp + 4]
lea ecx, [ebp - 0x40]
push esi
push dword [ebp + 0x14]
call fcn.10028184
fld qword [ebp + 0x78]
push ecx
push ecx
fstp qword [esp]
push dword [ebp - 0x10]
lea ecx, [ebp - 0x40]
push esi
push dword [ebp + 0x14]
call fcn.1002812f
inc dword [ebp + 0x18]
push dword [ebp + 0x18]
lea ecx, [ebp - 0x40]
push str.Count
push esi
push dword [ebp + 0x14]
call fcn.100280df
lea eax, [ebp - 0x34]
push eax
push str.LastTime
push esi
push dword [ebp + 0x14]
lea ecx, [ebp - 0x40]
call fcn.10028184
fld qword [ebp + 0x78]
push ecx
push ecx
fstp qword [esp]
push 0x100614a8
push esi
push dword [ebp + 0x14]
lea ecx, [ebp - 0x40]
call fcn.1002812f
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.10001636
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.1002765d
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], bl
call fcn.10001636
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp]
call fcn.10001636
mov al, 1
jmp 0x1000286e
xor ebx, ebx
cmp dword [esi + 0xc], ebx
jne 0x100026b1
xor al, al
jmp 0x1000286e
lea eax, [ebp - 0x1c]
push eax
call fcn.10031e3f
pop ecx
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x48]
push eax
push ebx
push ebx
push 0x100614a8
push dword [esi + 0xc]
mov dword [ebp + 0xc], 8
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x1000281f
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x2c]
push eax
push ebx
push ebx
push str.LastTime
push dword [esi + 0xc]
mov dword [ebp + 0xc], 8
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x100026aa
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.100023f1
fdiv qword [0x100614c8]
add esp, 0x10
push 0x1006143c
push 1
push str.TimeWarpFactor
push str.MagicNumber
fstp qword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fmul qword [ebp + 0x10]
fstp qword [ebp + 0x10]
fld1
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
je 0x1000269c
fld qword [ebp + 0x78]
lea eax, [ebp + 0xc]
fsub qword [ebp - 0x48]
push eax
lea eax, [ebp - 0x24]
push eax
fdiv qword [ebp + 0x10]
push ebx
push ebx
push 0x10061490
push dword [esi + 0xc]
mov dword [ebp + 0xc], 8
fstp qword [ebp - 0x50]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x100026aa
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.100023f1
fdiv qword [0x100614c8]
add esp, 0x10
push 0x1006143c
push 1
push str.TimeWarpFactor
push str.MagicNumber
fstp qword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp + 0x18], eax
fild dword [ebp + 0x18]
fmul qword [ebp - 0x14]
fadd qword [0x10061488]
call fcn.10032420
fld1
mov dword [ebp + 0x18], eax
jmp 0x10002813
push dword [ebp + 0x18]
lea eax, [ebp + 0x1c]
push str.Week_d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 8
lea eax, [ebp - 0x50]
push eax
push 3
push ebx
lea eax, [ebp + 0x1c]
push eax
push dword [esi + 0xc]
call edi
fld qword [ebp + 0x10]
fld1
inc dword [ebp + 0x18]
fsub st(1), st(0)
fxch st(1)
fstp qword [ebp + 0x10]
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
jnp 0x100027dd
jmp 0x1000283a
push 8
lea eax, [ebp - 0x1c]
push eax
push 3
push ebx
push 0x10061490
push dword [esi + 0xc]
call edi
test eax, eax
jne 0x100026aa
push 8
lea eax, [ebp - 0x1c]
push eax
push 3
push ebx
push str.LastTime
push dword [esi + 0xc]
call edi
test eax, eax
jne 0x100026aa
push 8
lea eax, [ebp + 0x78]
push eax
push 3
push ebx
push 0x100614a8
push dword [esi + 0xc]
call edi
neg eax
sbb al, al
inc al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x6c]
xor ecx, ebp
call fcn.100302c9
add ebp, 0x70
leave
ret 8