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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x10
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ebp
jmp 0x4a6bef
push ebp
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x64a318], ebp
jne 0x4a6be8
xor edi, edi
inc edi
cmp dword [0x64a314], ebp
mov dword [0x64a330], edi
jne 0x4a6d92
cmp dword [0x64a338], ebp
mov dword [0x64a318], edi
jne 0x4a6c40
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.004b7d00
pop ecx
call fcn.004b7d0d
cdq
mov ecx, 0x36ee80
idiv ecx
mov eax, 0x2932e00
sub eax, edx
mov dword [0x64a338], eax
push 0x64a328
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
jne 0x4a6cac
cmp dword [0x64a334], ebp
mov dword [0x64a328], ebp
mov dword [0x64a32c], ebp
jne 0x4a6d1b
cmp dword [0x64a33c], ebp
jne 0x4a6d1b
mov dword [0x64a33c], edi
push str.:9:TimeGetTime___initialization:_No_performance_counter_exists_
mov dword [0x64a318], ebp
mov dword [0x64a330], ebp
mov dword [0x64a334], edi
call fcn.0041936e
pop ecx
mov dword [0x64a330], edi
mov dword [0x64a334], ebp
call fcn.004a6bcb
jmp 0x4a6f26
cmp dword [0x64a32c], ebp
jg 0x4a6ce0
jl 0x4a6cc2
cmp dword [0x64a328], 0x3e8
jae 0x4a6cce
mov dword [0x64a328], ebp
mov dword [0x64a32c], ebp
cmp dword [0x64a32c], ebp
jl 0x4a6d1b
jg 0x4a6ce0
cmp dword [0x64a328], ebp
jbe 0x4a6d1b
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x4a6d1b
cmp dword [0x64a340], ebp
jne 0x4a6d0f
cmp dword [0x64a334], ebp
mov dword [0x64a340], edi
jne 0x4a6d0f
push str.:8:QueryPerformanceCounter___FAILED_to_initialize_in_TimeGetTime___initialization_
jmp 0x4a6c7e
mov dword [0x64a328], ebp
mov dword [0x64a32c], ebp
mov esi, dword [sym.imp.WINMM.dll_timeBeginPeriod]
mov ebx, edi
push edi
jmp 0x4a6d39
cmp ebx, 0xa
jae 0x4a6d3f
cmp dword [0x64a334], ebp
je 0x4a6e07
inc ebx
push ebx
call esi
test eax, eax
jne 0x4a6d26
cmp dword [0x64a32c], ebp
jl 0x4a6d6c
jg 0x4a6d51
cmp dword [0x64a328], ebp
jbe 0x4a6d6c
push 0x64a320
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x4a6d6c
mov dword [0x64a328], ebp
mov dword [0x64a32c], ebp
push edi
call esi
mov dword [0x64a328], ebp
mov dword [0x64a32c], ebp
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x64a31c], eax
mov dword [0x64a314], edi
mov dword [0x64a318], ebp
mov ebx, dword [0x64a32c]
cmp ebx, ebp
jl 0x4a6ee8
jg 0x4a6db0
mov esi, dword [0x64a328]
cmp esi, ebp
jbe 0x4a6eee
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x4a6e43
cmp dword [0x64a344], ebp
jne 0x4a6e31
cmp dword [0x64a334], ebp
mov dword [0x64a344], edi
jne 0x4a6df6
push str.:9:QueryPerformanceCounter___FAILED_______________________
mov dword [0x64a334], edi
mov dword [0x64a330], ebp
call fcn.00418e96
pop ecx
mov dword [0x64a334], ebp
mov dword [0x64a314], ebp
mov dword [0x64a330], ebp
jmp 0x4a6ca2
push str._GetLastError_
push ebx
push str.:8:QueryPerformanceCounter___FAILED_to_set_timeGetTime___granularity:_timeBeginPeriod__d__failed:_trying_one_higher:__s
mov dword [0x64a334], edi
mov dword [0x64a330], ebp
mov dword [0x64a318], ebp
call fcn.0041936e
add esp, 0xc
jmp 0x4a6c96
xor esi, esi
xor ebx, ebx
mov dword [0x64a328], esi
mov dword [0x64a32c], ebx
jmp 0x4a6e4f
mov ebx, dword [0x64a32c]
mov esi, dword [0x64a328]
cmp ebx, ebp
jg 0x4a6eae
jl 0x4a6e5d
cmp esi, 0x3e8
jae 0x4a6eae
mov eax, esi
or eax, ebx
je 0x4a6eae
cmp dword [0x64a348], ebp
jne 0x4a6e9e
cmp dword [0x64a334], ebp
mov dword [0x64a348], edi
jne 0x4a6e9e
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 [0x64a334], edi
mov dword [0x64a330], ebp
call fcn.00418e96
pop ecx
pop ecx
mov dword [0x64a330], edi
mov dword [0x64a334], ebp
xor esi, esi
xor ebx, ebx
mov dword [0x64a328], esi
mov dword [0x64a32c], ebx
mov edi, dword [esp + 0x18]
sub edi, dword [0x64a320]
mov eax, dword [esp + 0x1c]
sbb eax, dword [0x64a324]
push ebp
push 0x3e8
push ebx
push esi
mov dword [esp + 0x24], eax
call fcn.004cfdb0
push edx
push eax
mov eax, dword [esp + 0x1c]
push eax
push edi
call fcn.004cfdb0
mov dword [esp + 0x14], eax
xor ebp, ebp
jmp 0x4a6eee
mov esi, dword [0x64a328]
or esi, ebx
jne 0x4a6f15
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x64a31c]
cmp ecx, eax
jae 0x4a6f0f
or edx, 0xffffffff
sub edx, ecx
add eax, edx
mov dword [esp + 0x14], eax
jmp 0x4a6f15
sub ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [0x64a338]
mov ecx, dword [esp + 0x14]
mov dword [0x64a330], ebp
add eax, ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret