Function at 0x45baa7
Capabilities:
Check for time delay via gettickcount
Check for time delay via queryperformancecounter

Disassembly:
push 0x44
mov eax, 0x4724b7
call fcn.00467be3
mov esi, ecx
call fcn.004461e3
xor ebx, ebx
test eax, eax
je 0x45bae2
lea edi, [esi + 0xd3d0]
cmp dword [edi], ebx
je 0x45bae2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, dword [edi]
jbe 0x45bae2
push ebx
lea ecx, [esi + 0xd374]
call sub.mfc90.dll_Ordinal_6584
mov dword [edi], ebx
lea edi, [esi + 0xcd48]
mov ecx, edi
call fcn.0043540d
test eax, eax
je 0x45bafd
mov dword [esi + 0x758c], 1
cmp dword [esi + 0x1ce1c], ebx
jne 0x45c149
cmp dword [esi + 0x761c], ebx
je 0x45bb1d
cmp dword [esi + 0x3818], ebx
jne 0x45c149
mov ecx, esi
call fcn.0045ba5d
mov ecx, edi
call fcn.0040aae8
mov dword [ebp - 0x30], eax
cmp eax, ebx
jne 0x45bb39
mov ecx, edi
call fcn.00430574
mov ecx, edi
call fcn.0042f38e
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [esi + 0xd0f0]
cmp eax, ebx
jne 0x45bb62
xor eax, eax
jmp 0x45bb65
mov eax, dword [eax + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x45bd0e
fldz
fst dword [ebp - 0x24]
fst dword [ebp - 0x1c]
fstp dword [ebp - 0x18]
cmp dword [esi + 0x7528], ebx
je 0x45bbd7
lea eax, [ebp - 0x14]
push eax
push 0x40
push dword [esi + 0x3810]
mov ecx, edi
call fcn.0042ee63
test eax, eax
je 0x45bbb9
fld dword [ebp - 0x14]
fcomp qword [0x477c18]
fnstsw ax
test ah, 0x44
jnp 0x45bbb9
fld dword [ebp - 0x14]
fmul qword [0x4785c0]
jmp 0x45bbd4
mov ecx, 0x49d410
call dword [sym.imp.RTHAL.dll_public:_unsigned_long_int___thiscall_CHAL::GetCurrentGpuVoltage_void_]
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
test eax, eax
jge 0x45bbd4
fadd dword [0x477aa8]
fstp dword [ebp - 0x24]
lea eax, [ebp - 0x14]
push eax
push 0x20
push dword [esi + 0x3810]
mov ecx, edi
call fcn.0042ee63
test eax, eax
je 0x45bc03
fld dword [ebp - 0x14]
fcomp qword [0x477c18]
fnstsw ax
test ah, 0x44
jnp 0x45bc03
fld dword [ebp - 0x14]
jmp 0x45bc25
push ebx
mov ecx, 0x49d410
call dword [sym.imp.RTHAL.dll_public:_unsigned_long_int___thiscall_CHAL::GetCurrentCoreClock_unsigned_long_int_]
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
test eax, eax
jge 0x45bc1f
fadd dword [0x477aa8]
fdiv qword [0x4785c0]
lea edi, [esi + 0x1d04]
fstp dword [ebp - 0x28]
push edi
call dword [sym.imp.RTHAL.dll_public:_static_int___cdecl_CVoltageFrequencyCurve::IsPower_struct_VOLTAGE_FREQUENCY_CURVE_DESC__]
pop ecx
test eax, eax
je 0x45bc7e
lea eax, [ebp - 0x14]
push eax
push 0x60
push dword [esi + 0x3810]
lea ecx, [esi + 0xcd48]
call fcn.0042ee63
test eax, eax
je 0x45bc6a
fld dword [ebp - 0x14]
fcomp qword [0x477c18]
fnstsw ax
test ah, 0x44
jnp 0x45bc6a
fld dword [ebp - 0x14]
jmp 0x45bc7b
mov ecx, 0x49d410
call dword [sym.imp.RTHAL.dll_public:_long_int___thiscall_CHAL::GetCurrentRelPower_void_]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fstp dword [ebp - 0x1c]
push edi
call dword [sym.imp.RTHAL.dll_public:_static_int___cdecl_CVoltageFrequencyCurve::IsThermal_struct_VOLTAGE_FREQUENCY_CURVE_DESC__]
pop ecx
test eax, eax
je 0x45bcce
lea eax, [ebp - 0x14]
push eax
push ebx
push dword [esi + 0x3810]
lea ecx, [esi + 0xcd48]
call fcn.0042ee63
test eax, eax
je 0x45bcb9
fld dword [ebp - 0x14]
fcomp qword [0x477c18]
fnstsw ax
test ah, 0x44
jnp 0x45bcb9
fld dword [ebp - 0x14]
jmp 0x45bccb
push ebx
mov ecx, 0x49d410
call dword [sym.imp.RTHAL.dll_public:_long_int___thiscall_CHAL::GetGpuTemperature_int_]
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
fstp dword [ebp - 0x18]
fld dword [ebp - 0x18]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [ebp - 0x1c]
fstp dword [esp + 8]
fild dword [esi + 0x1cb8]
fstp dword [esp + 4]
fild dword [esi + 0x1c70]
fstp dword [esp]
push ebx
fld dword [ebp - 0x28]
push ecx
push ecx
fstp dword [esp + 4]
lea ecx, [esi + 0xd0f0]
fld dword [ebp - 0x24]
fstp dword [esp]
call dword [sym.imp.RTHAL.dll_public:_void___thiscall_CVoltageFrequencyCurveWnd::SetCurrentHwState_float__float__unsigned_long_int__float__float__float__float_]
cmp dword [esi + 0x7640], ebx
je 0x45bd27
mov ecx, 0x49d410
call dword [sym.imp.RTHAL.dll_public:_int___thiscall_CHAL::IsLost_void_]
mov dword [esi + 0x7644], eax
cmp dword [esi + 0x1b4c], ebx
je 0x45bdb9
mov eax, dword [esi + 0x380c]
cmp dword [esi + eax*4 + 0x1b78], ebx
je 0x45bd51
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x45bdb9
jmp 0x45bd67
lea edi, [esi + 0x3694]
cmp dword [edi], ebx
je 0x45bdb9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, dword [edi]
jbe 0x45bdb9
mov dword [edi], ebx
mov dword [ebp - 0x18], ebx
cmp dword [esi + 0x1b54], ebx
jbe 0x45bdb9
lea edi, [esi + 0x1b68]
mov eax, dword [edi]
push edi
push dword [ebp - 0x18]
mov ecx, 0x49d410
mov dword [ebp - 0x28], eax
call dword [sym.imp.RTHAL.dll_public:_int___thiscall_CHAL::GetFanSpeed_int__unsigned_long_int__]
mov eax, dword [ebp - 0x28]
cmp eax, dword [edi]
je 0x45bd9c
mov ecx, esi
call fcn.00448ee4
jmp 0x45bda1
cmp dword [edi + 0x10], ebx
jne 0x45bda8
mov ecx, esi
call fcn.0044dbf9
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
add edi, 4
cmp eax, dword [esi + 0x1b54]
jb 0x45bd78
mov ecx, esi
call fcn.00455eef
cmp dword [esi + 0x74ec], ebx
je 0x45bf61
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [esi + 0xcd48]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], ebx
call fcn.00430b5d
push 0x4749d0
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [ebp - 4], 1
cmp dword [esi + 0x7508], ebx
je 0x45be54
cmp dword [ebp - 0x28], ebx
jne 0x45be54
push ebx
push ebx
lea eax, [ebp - 0x1c]
push str._Time_
push eax
call fcn.004129ea
add esp, 0x10
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc90.dll_Ordinal_941]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_4311]
test al, al
jne 0x45be54
push 0x4772a8
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_945]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004034a5
add esp, 0xc
mov ecx, eax
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
call sub.MSVCR90.dll_strlen
pop ecx
mov ecx, esi
mov edi, eax
call fcn.00449704
cmp edi, eax
lea ecx, [ebp - 0x1c]
setb byte [ebp - 0xd]
call dword [sym.imp.mfc90.dll_Ordinal_601]
cmp byte [ebp - 0xd], bl
je 0x45bec3
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004034a5
add esp, 0xc
mov ecx, eax
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
mov ecx, esi
call fcn.00443d54
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc90.dll_Ordinal_601]
jmp 0x45bedb
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
mov ecx, esi
call fcn.00443d54
mov dword [ebp - 0x24], 1
cmp dword [ebp - 0x24], ebx
je 0x45bf4b
lea eax, [esi + 0x1ae4]
cmp dword [eax], ebx
je 0x45bf4b
mov dword [eax], ebx
lea eax, [ebp - 0x1c]
push 0x3c
push eax
call dword [sym.imp.RTMUI.dll_class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______cdecl_LoadStringA_unsigned_int_]
pop ecx
pop ecx
mov edi, dword [esi]
push 0x2034
mov ecx, eax
mov byte [ebp - 4], 3
add edi, 0x158
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
mov ecx, esi
call dword [edi]
cmp eax, 6
lea ecx, [ebp - 0x1c]
sete byte [ebp - 0xd]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc90.dll_Ordinal_601]
cmp byte [ebp - 0xd], bl
je 0x45bf4b
push 0x105
push ebx
push ebx
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_RedrawWindow]
push ebx
push 2
mov ecx, esi
call fcn.0045ab32
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_601]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esi + 0xcd48]
call fcn.0042f045
lea ecx, [esi + 0x3684]
cmp dword [ecx], eax
je 0x45bfce
mov dword [ecx], eax
push ebx
cmp eax, ebx
je 0x45bfc6
lea eax, [ebp - 0x48]
push eax
call fcn.0040e7af
push str.SoundAlarm.wav
push eax
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 4], 4
call dword [sym.imp.RTFC.dll_class_CStringLite___cdecl_operator_class_CStringLite_const___char_const__]
mov eax, dword [eax + 4]
add esp, 0x14
push 0x20009
push ebx
push eax
call dword [sym.imp.WINMM.dll_PlaySoundA]
mov edi, dword [sym.imp.RTFC.dll_public_virtual:_void___thiscall_CStringLite::destructor_void_]
lea ecx, [ebp - 0x20]
call edi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call edi
jmp 0x45bfce
push ebx
push ebx
call dword [sym.imp.WINMM.dll_PlaySoundA]
lea edi, [esi + 0xcd48]
mov ecx, edi
call fcn.0042f07c
mov ecx, esi
call fcn.00453a95
cmp dword [esi + 0x74f4], ebx
je 0x45bff1
mov ecx, esi
call fcn.00455b01
cmp dword [esi + 0x1a8c], 2
jne 0x45c004
push 1
mov ecx, esi
call dword [sym.imp.RTUI.dll_public:_void___thiscall_CSkinnedWnd::LockUpdateLayeredWindow_int_]
cmp edi, ebx
jne 0x45c00c
xor eax, eax
jmp 0x45c00f
mov eax, dword [edi + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x45c050
mov ecx, edi
call fcn.0042f945
mov ecx, esi
call fcn.0044a2ea
mov ecx, edi
call fcn.0042f99d
lea edi, [esi + 0xcd68]
push dword [edi]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x45c050
push 0x105
push ebx
push ebx
push dword [edi]
call dword [sym.imp.USER32.dll_RedrawWindow]
cmp dword [esi + 0x1ae8], ebx
je 0x45c0b7
cmp dword [esi + 0x7584], 0xffffffff
jne 0x45c06a
cmp dword [esi + 0x7588], 0xffffffff
je 0x45c0b7
lea ecx, [esi + 0x3800]
call fcn.004172c3
sub eax, ebx
je 0x45c096
dec eax
jne 0x45c0b7
push 1
push ebx
push 1
lea edi, [esi + 0x7588]
push dword [edi]
mov ecx, esi
call fcn.00444645
push 1
push dword [edi]
jmp 0x45c0b0
push 1
push ebx
push 1
push dword [esi + 0x7584]
mov ecx, esi
call fcn.00444645
push 1
push dword [esi + 0x7584]
mov ecx, esi
call fcn.004592cf
cmp dword [esi + 0x1cde0], ebx
jne 0x45c0f3
cmp dword [esi + 0x751c], ebx
je 0x45c0f3
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x45c0f3
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
call sub.mfc90.dll_Ordinal_2592
cmp eax, esi
jne 0x45c0f3
push 1
mov ecx, esi
call fcn.00454a00
mov dword [esi + 0x751c], ebx
push ebx
mov ecx, esi
call fcn.00453d8f
cmp dword [esi + 0x1a8c], 2
jne 0x45c10d
push ebx
mov ecx, esi
call dword [sym.imp.RTUI.dll_public:_void___thiscall_CSkinnedWnd::LockUpdateLayeredWindow_int_]
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x34]
sbb ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ecx
fild qword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
fmul qword [0x4785c0]
fild qword [ebp - 0x50]
fdivp st(1)
fstp dword [esi + 0x1d2e4]
cmp ecx, ebx
je 0x45c149
call fcn.0042c8c9
call fcn.00467c82
ret