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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
xor ebx, ebx
push esi
push edi
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], ebx
jmp 0x4182fb
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x5908fc], ebx
jne 0x4182f4
xor edi, edi
inc edi
mov dword [0x590c68], edi
cmp dword [0x590704], ebx
jne 0x418482
mov dword [0x5908fc], edi
cmp dword [0x590c70], ebx
jne 0x41834c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.0040236d
pop ecx
call fcn.0040237f
cdq
mov ecx, 0x36ee80
idiv ecx
mov eax, 0x2932e00
sub eax, edx
mov dword [0x590c70], eax
push 0x590c60
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
jne 0x4183a1
mov dword [0x590c60], ebx
mov dword [0x590c64], ebx
cmp dword [0x590c6c], ebx
jne 0x418405
cmp dword [0x590c74], ebx
jne 0x418405
mov dword [0x590c74], edi
mov dword [0x5908fc], ebx
mov dword [0x590c68], edi
mov dword [0x590c6c], ebx
call fcn.004182de
jmp 0x4185ac
cmp dword [0x590c64], ebx
jg 0x4183d5
jl 0x4183b7
cmp dword [0x590c60], 0x3e8
jae 0x4183c3
mov dword [0x590c60], ebx
mov dword [0x590c64], ebx
cmp dword [0x590c64], ebx
jl 0x418405
jg 0x4183d5
cmp dword [0x590c60], ebx
jbe 0x418405
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x418405
cmp dword [0x590c78], ebx
jne 0x4183f9
mov dword [0x590c78], edi
cmp dword [0x590c6c], ebx
je 0x418385
mov dword [0x590c60], ebx
mov dword [0x590c64], ebx
mov esi, dword [sym.imp.WINMM.dll_timeBeginPeriod]
mov dword [ebp - 4], edi
push edi
jmp 0x418429
cmp dword [ebp - 4], 0xa
jae 0x41842f
cmp dword [0x590c6c], ebx
je 0x418385
inc dword [ebp - 4]
push dword [ebp - 4]
call esi
test eax, eax
jne 0x418411
cmp dword [0x590c64], ebx
jl 0x41845c
jg 0x418441
cmp dword [0x590c60], ebx
jbe 0x41845c
push 0x590c58
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x41845c
mov dword [0x590c60], ebx
mov dword [0x590c64], ebx
push edi
call esi
mov dword [0x590c60], ebx
mov dword [0x590c64], ebx
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x590af4], eax
mov dword [0x590704], edi
mov dword [0x5908fc], ebx
cmp dword [0x590c64], ebx
jl 0x41856f
jg 0x41849e
mov esi, dword [0x590c60]
cmp esi, ebx
jbe 0x418575
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x4184ea
cmp dword [0x590c7c], ebx
jne 0x4184d9
mov dword [0x590c7c], edi
cmp dword [0x590c6c], ebx
jne 0x4184c8
mov dword [0x590c6c], ebx
mov dword [0x590704], ebx
mov dword [0x590c68], ebx
jmp 0x418397
xor esi, esi
xor eax, eax
mov dword [0x590c60], esi
mov dword [0x590c64], eax
jmp 0x4184f5
mov eax, dword [0x590c64]
mov esi, dword [0x590c60]
cmp eax, ebx
jg 0x41853a
jl 0x418503
cmp esi, 0x3e8
jae 0x41853a
mov ecx, esi
or ecx, eax
je 0x41853a
cmp dword [0x590c80], ebx
jne 0x41852b
mov dword [0x590c80], edi
cmp dword [0x590c6c], ebx
jne 0x41852b
mov dword [0x590c68], edi
mov dword [0x590c6c], ebx
xor esi, esi
xor eax, eax
mov dword [0x590c60], esi
mov dword [0x590c64], eax
mov edi, dword [ebp - 0x10]
sub edi, dword [0x590c58]
mov ecx, dword [ebp - 0xc]
sbb ecx, dword [0x590c5c]
push ebx
push 0x3e8
push eax
push esi
mov dword [ebp - 8], ecx
call fcn.00469770
push edx
push eax
mov eax, dword [ebp - 8]
push eax
push edi
call fcn.00469770
mov dword [ebp - 8], eax
xor ebx, ebx
jmp 0x418575
mov esi, dword [0x590c60]
or esi, dword [0x590c64]
jne 0x41859e
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x590af4]
cmp ecx, eax
jae 0x418599
or edx, 0xffffffff
sub edx, ecx
add eax, edx
mov dword [ebp - 8], eax
jmp 0x41859e
sub ecx, eax
mov dword [ebp - 8], ecx
mov eax, dword [0x590c70]
add eax, dword [ebp - 8]
mov dword [0x590c68], ebx
pop edi
pop esi
pop ebx
leave
ret