Function at 0x41a958
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 0x41a975
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x5f5f7c], ebx
jne 0x41a96e
xor edi, edi
inc edi
mov dword [0x5f5f84], edi
cmp dword [0x5f5f78], ebx
jne 0x41aafc
mov dword [0x5f5f7c], edi
cmp dword [0x5f5f9c], ebx
jne 0x41a9c6
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 [0x5f5f9c], eax
push 0x5f5f90
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
jne 0x41aa1b
mov dword [0x5f5f90], ebx
mov dword [0x5f5f94], ebx
cmp dword [0x5f5f98], ebx
jne 0x41aa7f
cmp dword [0x5f5fa0], ebx
jne 0x41aa7f
mov dword [0x5f5fa0], edi
mov dword [0x5f5f7c], ebx
mov dword [0x5f5f84], edi
mov dword [0x5f5f98], ebx
call fcn.0041a958
jmp 0x41ac26
cmp dword [0x5f5f94], ebx
jg 0x41aa4f
jl 0x41aa31
cmp dword [0x5f5f90], 0x3e8
jae 0x41aa3d
mov dword [0x5f5f90], ebx
mov dword [0x5f5f94], ebx
cmp dword [0x5f5f94], ebx
jl 0x41aa7f
jg 0x41aa4f
cmp dword [0x5f5f90], ebx
jbe 0x41aa7f
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x41aa7f
cmp dword [0x5f5fa4], ebx
jne 0x41aa73
mov dword [0x5f5fa4], edi
cmp dword [0x5f5f98], ebx
je 0x41a9ff
mov dword [0x5f5f90], ebx
mov dword [0x5f5f94], ebx
mov esi, dword [sym.imp.WINMM.dll_timeBeginPeriod]
mov dword [ebp - 4], edi
push edi
jmp 0x41aaa3
cmp dword [ebp - 4], 0xa
jae 0x41aaa9
cmp dword [0x5f5f98], ebx
je 0x41a9ff
inc dword [ebp - 4]
push dword [ebp - 4]
call esi
test eax, eax
jne 0x41aa8b
cmp dword [0x5f5f94], ebx
jl 0x41aad6
jg 0x41aabb
cmp dword [0x5f5f90], ebx
jbe 0x41aad6
push 0x5f5f88
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x41aad6
mov dword [0x5f5f90], ebx
mov dword [0x5f5f94], ebx
push edi
call esi
mov dword [0x5f5f90], ebx
mov dword [0x5f5f94], ebx
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x5f5f80], eax
mov dword [0x5f5f78], edi
mov dword [0x5f5f7c], ebx
cmp dword [0x5f5f94], ebx
jl 0x41abe9
jg 0x41ab18
mov esi, dword [0x5f5f90]
cmp esi, ebx
jbe 0x41abef
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x41ab64
cmp dword [0x5f5fa8], ebx
jne 0x41ab53
mov dword [0x5f5fa8], edi
cmp dword [0x5f5f98], ebx
jne 0x41ab42
mov dword [0x5f5f98], ebx
mov dword [0x5f5f78], ebx
mov dword [0x5f5f84], ebx
jmp 0x41aa11
xor esi, esi
xor eax, eax
mov dword [0x5f5f90], esi
mov dword [0x5f5f94], eax
jmp 0x41ab6f
mov eax, dword [0x5f5f94]
mov esi, dword [0x5f5f90]
cmp eax, ebx
jg 0x41abb4
jl 0x41ab7d
cmp esi, 0x3e8
jae 0x41abb4
mov ecx, esi
or ecx, eax
je 0x41abb4
cmp dword [0x5f5fac], ebx
jne 0x41aba5
mov dword [0x5f5fac], edi
cmp dword [0x5f5f98], ebx
jne 0x41aba5
mov dword [0x5f5f84], edi
mov dword [0x5f5f98], ebx
xor esi, esi
xor eax, eax
mov dword [0x5f5f90], esi
mov dword [0x5f5f94], eax
mov edi, dword [ebp - 0x10]
sub edi, dword [0x5f5f88]
mov ecx, dword [ebp - 0xc]
sbb ecx, dword [0x5f5f8c]
push ebx
push 0x3e8
push eax
push esi
mov dword [ebp - 8], ecx
call fcn.004a89f0
push edx
push eax
mov eax, dword [ebp - 8]
push eax
push edi
call fcn.004a89f0
mov dword [ebp - 8], eax
xor ebx, ebx
jmp 0x41abef
mov esi, dword [0x5f5f90]
or esi, dword [0x5f5f94]
jne 0x41ac18
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x5f5f80]
cmp ecx, eax
jae 0x41ac13
or edx, 0xffffffff
sub edx, ecx
add eax, edx
mov dword [ebp - 8], eax
jmp 0x41ac18
sub ecx, eax
mov dword [ebp - 8], ecx
mov eax, dword [0x5f5f9c]
add eax, dword [ebp - 8]
mov dword [0x5f5f84], ebx
pop edi
pop esi
pop ebx
leave
ret