Function at 0x45fe9c
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x24], edx
mov esi, eax
xor eax, eax
push ebp
push 0x4601ad
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [eax]
jmp 0x45fece
call sub.kernel32.dll_GetTickCount_1
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x10], eax
fild qword [ebp - 0x14]
fstp qword [0x476d04]
wait
call sub.kernel32.dll_GetTickCount_1
mov bl, 1
mov byte [0x476be9], 0
call sub.kernel32.dll_GetTickCount_1
call sub.kernel32.dll_GetTickCount_1
mov edi, eax
mov dword [0x476c80], 1
mov ecx, 0x45a8b4
mov edx, dword [0x476c78]
mov eax, dword [0x476c94]
call fcn.0045a698
mov edx, 0x1f4
mov eax, esi
call fcn.00462808
cmp dword [0x476d5c], 0x181cd
jne 0x45ff3f
mov eax, esi
call fcn.0045dcac
jmp 0x45ff46
mov eax, esi
call fcn.0045dea4
mov eax, dword [0x475128]
mov eax, dword [eax]
call fcn.00456214
mov eax, esi
call fcn.004601c8
call sub.kernel32.dll_GetTickCount_1
sub eax, edi
cmp eax, 0x320
jbe 0x46004d
mov eax, dword [esi + 0x4dc]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x46004d
push 0x476be4
push 4
lea eax, [ebp - 4]
push eax
mov eax, dword [0x476c98]
add eax, 0x3c
push eax
mov eax, dword [0x476c94]
push eax
call sub.kernel32.dll_ReadProcessMemory
push 0x476be4
push 4
lea eax, [ebp - 8]
push eax
mov eax, dword [0x476c98]
add eax, 0x44
push eax
mov eax, dword [0x476c94]
push eax
call sub.kernel32.dll_ReadProcessMemory
fld dword [ebp - 4]
fsub dword [0x476d1c]
fmul st(0)
fstp xword [ebp - 0x20]
wait
fld dword [ebp - 8]
fsub dword [0x476d20]
fmul st(0)
fld xword [ebp - 0x20]
faddp st(1)
fsqrt
fstp dword [ebp - 0xc]
wait
fld dword [ebp - 0xc]
call fcn.00402ab8
push edx
push eax
lea eax, [ebp - 0x24]
call fcn.00407f10
lea eax, [ebp - 0x24]
mov edx, 0x4601c4
call fcn.004042c0
mov edx, dword [ebp - 0x24]
mov eax, dword [esi + 0x368]
call fcn.0043675c
mov eax, dword [esi + 0x4d8]
call fcn.004591cc
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
fcomp dword [ebp - 0xc]
fnstsw ax
sahf
ja 0x46004d
mov eax, esi
call fcn.00460dc8
mov edx, 0x64
mov eax, esi
call fcn.00462808
mov eax, esi
call fcn.0046a88c
xor ebx, ebx
call sub.kernel32.dll_GetTickCount_1
mov edi, eax
mov eax, dword [esi + 0x3bc]
call fcn.004591cc
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
fstp xword [ebp - 0x20]
wait
call sub.kernel32.dll_GetTickCount_1
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x10], eax
fild qword [ebp - 0x14]
fsub qword [0x476d04]
fld xword [ebp - 0x20]
fcompp
fnstsw ax
sahf
jae 0x46014d
call sub.kernel32.dll_GetTickCount_1
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x10], eax
fild qword [ebp - 0x14]
fstp qword [0x476d04]
wait
mov eax, esi
call fcn.00460dc8
cmp byte [0x476be8], 1
jne 0x4600bb
mov eax, esi
call fcn.0045ac58
mov eax, esi
call fcn.0045d798
push 0x64
push 0x263
call sub.kernel32.dll_Beep
mov edx, 0x32
mov eax, esi
call fcn.00462808
push 0x64
push 0x263
call sub.kernel32.dll_Beep
mov edx, 0x32
mov eax, esi
call fcn.00462808
push 0x64
push 0x263
call sub.kernel32.dll_Beep
mov edx, 0x32
mov eax, esi
call fcn.00462808
push 0x64
push 0x263
call sub.kernel32.dll_Beep
mov edx, 0x32
mov eax, esi
call fcn.00462808
push 0x64
push 0x263
call sub.kernel32.dll_Beep
mov edx, 0x32
mov eax, esi
call fcn.00462808
push 0x64
push 0x263
call sub.kernel32.dll_Beep
mov edx, 0x32
mov eax, esi
call fcn.00462808
xor ebx, ebx
push 0x476be4
push 4
push 0x476c80
mov eax, dword [0x476ca8]
push eax
mov eax, dword [0x476c94]
push eax
call sub.kernel32.dll_ReadProcessMemory
mov edx, 2
mov eax, esi
call fcn.00462808
cmp dword [0x476c80], 0
je 0x460197
test bl, bl
jne 0x45ff46
jmp 0x460197
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4601b4
lea eax, [ebp - 0x24]
call fcn.00403ff8
ret