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

Disassembly:
push ebp
sub esp, 0x74
lea ebp, [esp - 4]
mov eax, dword [0x1007b940]
xor eax, ebp
mov dword [ebp + 0x74], eax
push 0x28
mov eax, 0x1005b15f
call fcn.1003230f
push 0x1006143c
push 1
push str.UseInstanceForLogStore
push str.MagicNumber
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
fldz
test eax, eax
je 0x10002c64
lea eax, [ebp - 0x24]
fstp qword [ebp - 0x1c]
push eax
call fcn.10031e3f
pop ecx
xor edi, edi
lea ecx, [ebp + 8]
mov dword [ebp + 0x10], edi
call fcn.100013fb
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], edi
call fcn.100013fb
fldz
mov ecx, dword [esi]
fstp qword [ebp - 0x2c]
lea eax, [ebp + 0x10]
push eax
push str.Count
mov ebx, str.SixMonthWindow_
push ebx
mov byte [ebp - 4], 1
call fcn.1000cfb6
test eax, eax
jl 0x10002c44
mov ecx, dword [esi]
lea eax, [ebp - 0x2c]
push eax
push 0x100614a8
push ebx
call fcn.1000d00b
test eax, eax
jl 0x10002c44
call fcn.10023c2a
test eax, eax
je 0x1000297e
mov ebx, 0x29a
push ebx
call fcn.10023c32
pop ecx
test eax, eax
je 0x10002979
push dword [esi]
fld qword [ebp - 0x2c]
push ecx
push ecx
fstp qword [esp]
push ebx
call fcn.10025237
add esp, 0x10
cmp eax, 2
jne 0x10002979
push dword [0x1007b714]
push dword [0x1007b710]
push ebx
call fcn.10023c3b
add esp, 0xc
mov ebx, str.SixMonthWindow_
mov eax, dword [ebp + 0x10]
fldz
dec eax
fstp qword [ebp - 0x14]
cmp eax, edi
mov dword [ebp], edi
mov dword [ebp + 4], edi
mov dword [ebp + 0x20], eax
jl 0x10002c44
mov edi, 0x297
push dword [ebp + 0x20]
lea eax, [ebp + 8]
push str.Log_03dDate
push eax
call fcn.10001266
mov ecx, dword [esi]
add esp, 0xc
lea eax, [ebp]
push eax
push dword [ebp + 0xc]
push ebx
call fcn.1000e3b3
test eax, eax
jl 0x10002c3b
push dword [ebp + 4]
push dword [ebp]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call fcn.100023f1
fstp qword [ebp + 0x18]
add esp, 0x10
call fcn.10023c2a
test eax, eax
je 0x10002a1b
push edi
call fcn.10023c32
pop ecx
test eax, eax
je 0x10002a1b
push dword [esi]
push dword [ebp + 0x20]
push edi
call fcn.100251ee
add esp, 0xc
cmp eax, 2
jne 0x10002a1b
push dword [0x1007b714]
push dword [0x1007b710]
push edi
call fcn.10023c3b
add esp, 0xc
call fcn.10023c2a
test eax, eax
je 0x10002a68
push 0x298
call fcn.10023c32
pop ecx
test eax, eax
je 0x10002a68
push dword [esi]
fld qword [ebp + 0x18]
push ecx
push ecx
fstp qword [esp]
push 0x298
call fcn.10025237
add esp, 0x10
cmp eax, 2
jne 0x10002a68
push dword [0x1007b714]
push dword [0x1007b710]
push 0x298
call fcn.10023c3b
add esp, 0xc
fld qword [ebp + 0x18]
call fcn.10032420
cmp eax, dword [esi + 4]
jl 0x10002c3b
fild dword [esi + 8]
fcom qword [ebp + 0x18]
fnstsw ax
test ah, 5
jp 0x10002a8b
fld qword [ebp + 0x18]
jmp 0x10002a8d
fld st(0)
fld qword [0x10061520]
fdivrp st(2)
fmulp st(1)
fstp qword [ebp + 0x18]
call fcn.10023c2a
test eax, eax
je 0x10002ae7
push 0x299
call fcn.10023c32
pop ecx
test eax, eax
je 0x10002ae7
push dword [esi]
fld qword [ebp + 0x18]
push ecx
push ecx
fstp qword [esp]
push 0x299
call fcn.10025237
add esp, 0x10
cmp eax, 2
jne 0x10002ae7
push dword [0x1007b714]
push dword [0x1007b710]
push 0x299
call fcn.10023c3b
add esp, 0xc
push dword [ebp + 0x20]
lea eax, [ebp - 0x34]
push str.Log_03d
push eax
call fcn.10001266
mov ecx, dword [esi]
add esp, 0xc
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x30]
push ebx
call fcn.1000d00b
test eax, eax
jl 0x10002c3b
call fcn.10023c2a
test eax, eax
je 0x10002b5f
push 0x29d
call fcn.10023c32
pop ecx
test eax, eax
je 0x10002b5f
push dword [esi]
fld qword [ebp - 0x14]
push ecx
push ecx
fstp qword [esp]
push 0x29d
call fcn.10025237
add esp, 0x10
cmp eax, 2
jne 0x10002b5f
push dword [0x1007b714]
push dword [0x1007b710]
push 0x29d
call fcn.10023c3b
add esp, 0xc
fld qword [ebp - 0x2c]
push 0x1006143c
fsub qword [ebp - 0x14]
push 1
push str.TimeWarpFactor
push str.MagicNumber
fdiv qword [ebp + 0x18]
fstp qword [ebp + 0x18]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp + 0x14], eax
fild dword [ebp + 0x14]
fmul qword [ebp + 0x18]
fstp qword [ebp + 0x18]
fld qword [ebp - 0x1c]
fcomp qword [ebp + 0x18]
fnstsw ax
test ah, 5
jp 0x10002ba1
fld qword [ebp + 0x18]
fstp qword [ebp - 0x1c]
call fcn.10023c2a
test eax, eax
je 0x10002bee
push 0x29b
call fcn.10023c32
pop ecx
test eax, eax
je 0x10002bee
push dword [esi]
fld qword [ebp + 0x18]
push ecx
push ecx
fstp qword [esp]
push 0x29b
call fcn.10025237
add esp, 0x10
cmp eax, 2
jne 0x10002bee
push dword [0x1007b714]
push dword [0x1007b710]
push 0x29b
call fcn.10023c3b
add esp, 0xc
call fcn.10023c2a
test eax, eax
je 0x10002c3b
push 0x29c
call fcn.10023c32
pop ecx
test eax, eax
je 0x10002c3b
push dword [esi]
fld qword [ebp - 0x1c]
push ecx
push ecx
fstp qword [esp]
push 0x29c
call fcn.10025237
add esp, 0x10
cmp eax, 2
jne 0x10002c3b
push dword [0x1007b714]
push dword [0x1007b710]
push 0x29c
call fcn.10023c3b
add esp, 0xc
dec dword [ebp + 0x20]
jns 0x1000299d
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.10001636
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.10001636
fld qword [ebp - 0x1c]
jmp 0x10002d4c
xor ebx, ebx
fst qword [ebp + 8]
cmp dword [esi + 0xc], ebx
je 0x10002d4c
lea eax, [ebp]
fstp st(0)
push eax
call fcn.10031e3f
pop ecx
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x14]
push eax
push ebx
push ebx
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push 0x10061490
push dword [esi + 0xc]
mov dword [ebp + 0x14], 8
call ebx
test eax, eax
je 0x10002caa
fldz
jmp 0x10002d4c
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp + 4]
push dword [ebp]
call fcn.100023f1
fdiv qword [0x100614c8]
add esp, 0x10
push 0x1006143c
push 1
push str.TimeWarpFactor
push str.MagicNumber
fstp qword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp + 0x10], eax
fild dword [ebp + 0x10]
fmul qword [ebp - 0x24]
call fcn.10032420
mov edi, eax
sub edi, 0x1a
jns 0x10002cf5
xor edi, edi
and dword [ebp + 0x20], 0
mov eax, dword [ebp + 0x20]
add eax, edi
push eax
lea eax, [ebp + 0x24]
push str.Week_d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x18]
push eax
push 0
push 0
lea eax, [ebp + 0x24]
push eax
push dword [esi + 0xc]
mov dword [ebp + 0x14], 8
call ebx
test eax, eax
jne 0x10002d3a
fld qword [ebp + 0x18]
fadd qword [ebp + 8]
fstp qword [ebp + 8]
inc dword [ebp + 0x20]
cmp dword [ebp + 0x20], 0x1a
jl 0x10002cf9
fld qword [ebp + 8]
fdiv qword [0x10061518]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x74]
xor ecx, ebp
call fcn.100302c9
add ebp, 0x78
leave
ret