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

Disassembly:
push 0x44
mov eax, 0x47264f
call fcn.00467d19
mov esi, ecx
call fcn.004464c8
xor ebx, ebx
test eax, eax
je 0x45bdc9
lea edi, [esi + 0xd3d0]
cmp dword [edi], ebx
je 0x45bdc9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, dword [edi]
jbe 0x45bdc9
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.004356a8
test eax, eax
je 0x45bde4
mov dword [esi + 0x758c], 1
cmp dword [esi + 0x1ce1c], ebx
jne 0x45c430
cmp dword [esi + 0x761c], ebx
je 0x45be04
cmp dword [esi + 0x3818], ebx
jne 0x45c430
mov ecx, esi
call fcn.0045bd44
mov ecx, edi
call fcn.0040ab7f
mov dword [ebp - 0x30], eax
cmp eax, ebx
jne 0x45be20
mov ecx, edi
call fcn.0043080f
mov ecx, edi
call fcn.0042f629
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 0x45be49
xor eax, eax
jmp 0x45be4c
mov eax, dword [eax + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x45bff5
fldz
fst dword [ebp - 0x24]
fst dword [ebp - 0x1c]
fstp dword [ebp - 0x18]
cmp dword [esi + 0x7528], ebx
je 0x45bebe
lea eax, [ebp - 0x14]
push eax
push 0x40
push dword [esi + 0x3810]
mov ecx, edi
call fcn.0042f0fe
test eax, eax
je 0x45bea0
fld dword [ebp - 0x14]
fcomp qword [0x477c28]
fnstsw ax
test ah, 0x44
jnp 0x45bea0
fld dword [ebp - 0x14]
fmul qword [0x4785d0]
jmp 0x45bebb
mov ecx, 0x49d430
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 0x45bebb
fadd dword [0x477ab8]
fstp dword [ebp - 0x24]
lea eax, [ebp - 0x14]
push eax
push 0x20
push dword [esi + 0x3810]
mov ecx, edi
call fcn.0042f0fe
test eax, eax
je 0x45beea
fld dword [ebp - 0x14]
fcomp qword [0x477c28]
fnstsw ax
test ah, 0x44
jnp 0x45beea
fld dword [ebp - 0x14]
jmp 0x45bf0c
push ebx
mov ecx, 0x49d430
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 0x45bf06
fadd dword [0x477ab8]
fdiv qword [0x4785d0]
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 0x45bf65
lea eax, [ebp - 0x14]
push eax
push 0x60
push dword [esi + 0x3810]
lea ecx, [esi + 0xcd48]
call fcn.0042f0fe
test eax, eax
je 0x45bf51
fld dword [ebp - 0x14]
fcomp qword [0x477c28]
fnstsw ax
test ah, 0x44
jnp 0x45bf51
fld dword [ebp - 0x14]
jmp 0x45bf62
mov ecx, 0x49d430
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 0x45bfb5
lea eax, [ebp - 0x14]
push eax
push ebx
push dword [esi + 0x3810]
lea ecx, [esi + 0xcd48]
call fcn.0042f0fe
test eax, eax
je 0x45bfa0
fld dword [ebp - 0x14]
fcomp qword [0x477c28]
fnstsw ax
test ah, 0x44
jnp 0x45bfa0
fld dword [ebp - 0x14]
jmp 0x45bfb2
push ebx
mov ecx, 0x49d430
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 0x45c00e
mov ecx, 0x49d430
call dword [sym.imp.RTHAL.dll_public:_int___thiscall_CHAL::IsLost_void_]
mov dword [esi + 0x7644], eax
cmp dword [esi + 0x1b4c], ebx
je 0x45c0a0
mov eax, dword [esi + 0x380c]
cmp dword [esi + eax*4 + 0x1b78], ebx
je 0x45c038
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x45c0a0
jmp 0x45c04e
lea edi, [esi + 0x3694]
cmp dword [edi], ebx
je 0x45c0a0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, dword [edi]
jbe 0x45c0a0
mov dword [edi], ebx
mov dword [ebp - 0x18], ebx
cmp dword [esi + 0x1b54], ebx
jbe 0x45c0a0
lea edi, [esi + 0x1b68]
mov eax, dword [edi]
push edi
push dword [ebp - 0x18]
mov ecx, 0x49d430
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 0x45c083
mov ecx, esi
call fcn.004491ed
jmp 0x45c088
cmp dword [edi + 0x10], ebx
jne 0x45c08f
mov ecx, esi
call fcn.0044dee0
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
add edi, 4
cmp eax, dword [esi + 0x1b54]
jb 0x45c05f
mov ecx, esi
call fcn.004561d6
cmp dword [esi + 0x74ec], ebx
je 0x45c248
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.00430df8
push 0x4749e0
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 0x45c13b
cmp dword [ebp - 0x28], ebx
jne 0x45c13b
push ebx
push ebx
lea eax, [ebp - 0x1c]
push str._Time_
push eax
call fcn.00412a69
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 0x45c13b
push 0x4772b8
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.004034a8
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.00449a0d
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 0x45c1aa
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004034a8
add esp, 0xc
mov ecx, eax
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
mov ecx, esi
call fcn.00444016
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc90.dll_Ordinal_601]
jmp 0x45c1c2
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
mov ecx, esi
call fcn.00444016
mov dword [ebp - 0x24], 1
cmp dword [ebp - 0x24], ebx
je 0x45c232
lea eax, [esi + 0x1ae4]
cmp dword [eax], ebx
je 0x45c232
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 0x45c232
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.0045ae19
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.0042f2e0
lea ecx, [esi + 0x3684]
cmp dword [ecx], eax
je 0x45c2b5
mov dword [ecx], eax
push ebx
cmp eax, ebx
je 0x45c2ad
lea eax, [ebp - 0x48]
push eax
call fcn.0040e7d4
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 0x45c2b5
push ebx
push ebx
call dword [sym.imp.WINMM.dll_PlaySoundA]
lea edi, [esi + 0xcd48]
mov ecx, edi
call fcn.0042f317
mov ecx, esi
call fcn.00453d7c
cmp dword [esi + 0x74f4], ebx
je 0x45c2d8
mov ecx, esi
call fcn.00455de8
cmp dword [esi + 0x1a8c], 2
jne 0x45c2eb
push 1
mov ecx, esi
call dword [sym.imp.RTUI.dll_public:_void___thiscall_CSkinnedWnd::LockUpdateLayeredWindow_int_]
cmp edi, ebx
jne 0x45c2f3
xor eax, eax
jmp 0x45c2f6
mov eax, dword [edi + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x45c337
mov ecx, edi
call fcn.0042fbe0
mov ecx, esi
call fcn.0044a5d1
mov ecx, edi
call fcn.0042fc38
lea edi, [esi + 0xcd68]
push dword [edi]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x45c337
push 0x105
push ebx
push ebx
push dword [edi]
call dword [sym.imp.USER32.dll_RedrawWindow]
cmp dword [esi + 0x1ae8], ebx
je 0x45c39e
cmp dword [esi + 0x7584], 0xffffffff
jne 0x45c351
cmp dword [esi + 0x7588], 0xffffffff
je 0x45c39e
lea ecx, [esi + 0x3800]
call fcn.004173fa
sub eax, ebx
je 0x45c37d
dec eax
jne 0x45c39e
push 1
push ebx
push 1
lea edi, [esi + 0x7588]
push dword [edi]
mov ecx, esi
call fcn.00444907
push 1
push dword [edi]
jmp 0x45c397
push 1
push ebx
push 1
push dword [esi + 0x7584]
mov ecx, esi
call fcn.00444907
push 1
push dword [esi + 0x7584]
mov ecx, esi
call fcn.004595b6
cmp dword [esi + 0x1cde0], ebx
jne 0x45c3da
cmp dword [esi + 0x751c], ebx
je 0x45c3da
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x45c3da
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
call sub.mfc90.dll_Ordinal_2592
cmp eax, esi
jne 0x45c3da
push 1
mov ecx, esi
call fcn.00454ce7
mov dword [esi + 0x751c], ebx
push ebx
mov ecx, esi
call fcn.00454076
cmp dword [esi + 0x1a8c], 2
jne 0x45c3f4
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 [0x4785d0]
fild qword [ebp - 0x50]
fdivp st(1)
fstp dword [esi + 0x1d2e4]
cmp ecx, ebx
je 0x45c430
call fcn.0042cb19
call fcn.00467db8
ret