Function at 0x401e97
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
jmp 0x4f1d7c
sub esp, 0xc
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], ebp
jmp 0x4f1d9a
push ebp
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x762bac], ebp
jne 0x4f1d93
xor edi, edi
inc edi
cmp dword [0x762ba8], ebp
mov dword [0x762bb4], edi
jne 0x4f1f3d
cmp dword [0x762bcc], ebp
mov dword [0x762bac], edi
jne 0x4f1deb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.0050ea80
pop ecx
call fcn.0050ea90
cdq
mov ecx, 0x36ee80
idiv ecx
mov eax, 0x2932e00
sub eax, edx
mov dword [0x762bcc], eax
push 0x762bc0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
jne 0x4f1e57
cmp dword [0x762bc8], ebp
mov dword [0x762bc0], ebp
mov dword [0x762bc4], ebp
jne 0x4f1ec6
cmp dword [0x762bd0], ebp
jne 0x4f1ec6
mov dword [0x762bd0], edi
push str.:9:TimeGetTime___initialization:_No_performance_counter_exists_
mov dword [0x762bac], ebp
mov dword [0x762bb4], ebp
mov dword [0x762bc8], edi
call fcn.00401375
pop ecx
mov dword [0x762bb4], edi
mov dword [0x762bc8], ebp
call fcn.00401e97
jmp 0x4f20d1
cmp dword [0x762bc4], ebp
jg 0x4f1e8b
jl 0x4f1e6d
cmp dword [0x762bc0], 0x3e8
jae 0x4f1e79
mov dword [0x762bc0], ebp
mov dword [0x762bc4], ebp
cmp dword [0x762bc4], ebp
jl 0x4f1ec6
jg 0x4f1e8b
cmp dword [0x762bc0], ebp
jbe 0x4f1ec6
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x4f1ec6
cmp dword [0x762bd4], ebp
jne 0x4f1eba
cmp dword [0x762bc8], ebp
mov dword [0x762bd4], edi
jne 0x4f1eba
push str.:8:QueryPerformanceCounter___FAILED_to_initialize_in_TimeGetTime___initialization_
jmp 0x4f1e29
mov dword [0x762bc0], ebp
mov dword [0x762bc4], ebp
mov esi, dword [sym.imp.WINMM.dll_timeBeginPeriod]
mov ebx, edi
push edi
jmp 0x4f1ee4
cmp ebx, 0xa
jae 0x4f1eea
cmp dword [0x762bc8], ebp
je 0x4f1fb2
inc ebx
push ebx
call esi
test eax, eax
jne 0x4f1ed1
cmp dword [0x762bc4], ebp
jl 0x4f1f17
jg 0x4f1efc
cmp dword [0x762bc0], ebp
jbe 0x4f1f17
push 0x762bb8
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x4f1f17
mov dword [0x762bc0], ebp
mov dword [0x762bc4], ebp
push edi
call esi
mov dword [0x762bc0], ebp
mov dword [0x762bc4], ebp
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x762bb0], eax
mov dword [0x762ba8], edi
mov dword [0x762bac], ebp
mov ebx, dword [0x762bc4]
cmp ebx, ebp
jl 0x4f2093
jg 0x4f1f5b
mov esi, dword [0x762bc0]
cmp esi, ebp
jbe 0x4f2099
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x4f1fee
cmp dword [0x762bd8], ebp
jne 0x4f1fdc
cmp dword [0x762bc8], ebp
mov dword [0x762bd8], edi
jne 0x4f1fa1
push str.:9:QueryPerformanceCounter___FAILED_______________________
mov dword [0x762bc8], edi
mov dword [0x762bb4], ebp
call fcn.004020c2
pop ecx
mov dword [0x762bc8], ebp
mov dword [0x762ba8], ebp
mov dword [0x762bb4], ebp
jmp 0x4f1e4d
push str._GetLastError_
push ebx
push str.:8:QueryPerformanceCounter___FAILED_to_set_timeGetTime___granularity:_timeBeginPeriod__d__failed:_trying_one_higher:__s
mov dword [0x762bc8], edi
mov dword [0x762bb4], ebp
mov dword [0x762bac], ebp
call fcn.00401375
add esp, 0xc
jmp 0x4f1e41
xor esi, esi
xor ebx, ebx
mov dword [0x762bc0], esi
mov dword [0x762bc4], ebx
jmp 0x4f1ffa
mov ebx, dword [0x762bc4]
mov esi, dword [0x762bc0]
cmp ebx, ebp
jg 0x4f2059
jl 0x4f2008
cmp esi, 0x3e8
jae 0x4f2059
mov eax, esi
or eax, ebx
je 0x4f2059
cmp dword [0x762bdc], ebp
jne 0x4f2049
cmp dword [0x762bc8], ebp
mov dword [0x762bdc], edi
jne 0x4f2049
push esi
push str.:9:TimeGetTime___has_encountered_a_serious_exception:_the_performance_frequency_counter_has_a_resolution_of_only__d_milliseconds______This_is_too_low_to_be_of_any_use_
mov dword [0x762bc8], edi
mov dword [0x762bb4], ebp
call fcn.004020c2
pop ecx
pop ecx
mov dword [0x762bb4], edi
mov dword [0x762bc8], ebp
xor esi, esi
xor ebx, ebx
mov dword [0x762bc0], esi
mov dword [0x762bc4], ebx
mov edi, dword [esp + 0x14]
sub edi, dword [0x762bb8]
mov eax, dword [esp + 0x18]
sbb eax, dword [0x762bbc]
push ebp
push 0x3e8
push ebx
push esi
mov dword [esp + 0x20], eax
call fcn.005163f0
push edx
push eax
mov eax, dword [esp + 0x18]
push eax
push edi
call fcn.005163f0
mov dword [esp + 0x10], eax
xor ebp, ebp
jmp 0x4f2099
mov esi, dword [0x762bc0]
or esi, ebx
jne 0x4f20c0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x762bb0]
cmp ecx, eax
jae 0x4f20ba
or edx, 0xffffffff
sub edx, ecx
add eax, edx
mov dword [esp + 0x10], eax
jmp 0x4f20c0
sub ecx, eax
mov dword [esp + 0x10], ecx
mov eax, dword [0x762bcc]
mov ecx, dword [esp + 0x10]
mov dword [0x762bb4], ebp
add eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret