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

Disassembly:
push ebp
lea ebp, [esp - 0x2c]
sub esp, 0x2c
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x646d7b
push eax
mov eax, 0x3b1c
mov dword fs:[0], esp
call fcn.004b2660
push ebx
push esi
push edi
lea ecx, [ebp - 0xe4]
call fcn.0044ef30
lea ecx, [ebp - 0xe4]
call fcn.0044fc40
mov ebx, dword [ebp + 0x34]
lea ecx, [ebp - 0xe4]
push 0x4c
push ebx
call fcn.0044fcf0
lea eax, [ebp]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 8
lea eax, [ebp]
push eax
lea ecx, [ebp - 0xe4]
call fcn.0044fcf0
push dword [ebx + 4]
lea ecx, [ebp - 0xe4]
push dword [ebx]
call fcn.0044fcf0
push dword [ebx + 0xc]
lea ecx, [ebp - 0xe4]
push dword [ebx + 8]
call fcn.0044fcf0
cmp dword [ebx + 4], 0x7f
jbe 0x61c96a
mov dword [ebx + 4], 0x7f
cmp dword [ebx + 0xc], 0x7f
jbe 0x61c977
mov dword [ebx + 0xc], 0x7f
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0xe4]
call fcn.0044fb20
lea edi, [ebx + 0x2c]
mov ecx, 8
lea esi, [ebp + 0xc]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0xe4]
call fcn.0044fc40
push 0x4c
push ebx
lea ecx, [ebp - 0xe4]
call fcn.0044fcf0
lea ecx, [ebp - 0x3b28]
call fcn.0044c5b0
push 0x100
lea eax, [ebx + 0x2c]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x3b28]
call fcn.0044d9d0
mov eax, dword [ebp + 0x1c]
lea ecx, [ebp - 0x3b28]
mov dword [ebp - 0x3b28], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x3b24], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x3b20], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x3b1c], eax
lea eax, [ebp + 0xc]
push 2
push eax
push eax
call fcn.0044ca00
push 2
lea eax, [ebp + 0xc]
push eax
push eax
lea ecx, [ebp - 0x3b28]
call fcn.0044ca00
push 0x20
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0xe4]
call fcn.0044fcf0
lea eax, [ebp]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 8
lea eax, [ebp]
push eax
lea ecx, [ebp - 0xe4]
call fcn.0044fcf0
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0xe4]
call fcn.0044fb20
cmp byte [ebp + 0x38], 0
mov ecx, dword [ebx + 0x18]
mov eax, dword [ebp + 0xc]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp + 0x10]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp + 0x14]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp + 0x18]
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebp + 0x1c]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp + 0x20]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp + 0x24]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp + 0x28]
mov dword [ecx + 0x2c], eax
je 0x61caae
mov eax, dword [ebx + 0x1c]
push 0
add eax, 0x20
push eax
push dword [ebx + 0xc]
lea eax, [ebp + 0xc]
push dword [ebx + 8]
push eax
call fcn.0061d190
add esp, 0x14
jmp 0x61cae9
mov edi, dword [ebp + 0x34]
lea ecx, [ebp - 0x78]
mov ebx, dword [ebx + 0x1c]
add ebx, 0x20
mov esi, dword [edi + 0xc]
mov edi, dword [edi + 8]
call fcn.0044ef30
push esi
push edi
lea ecx, [ebp - 0x78]
call fcn.0044fcf0
push 8
push ebx
lea ecx, [ebp - 0x78]
call fcn.0044fcf0
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x78]
call fcn.0044fb20
mov ebx, dword [ebp + 0x34]
cmp byte [ebp + 0x38], 0
lea esi, [ebp + 0xc]
mov edi, dword [ebx + 0x1c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
je 0x61cb19
mov eax, dword [ebx + 0x1c]
push 0
add eax, 0x28
push eax
push dword [ebx + 0xc]
lea eax, [ebp + 0xc]
push dword [ebx + 8]
push eax
call fcn.0061d190
add esp, 0x14
jmp 0x61cb54
mov edi, dword [ebp + 0x34]
lea ecx, [ebp - 0x78]
mov ebx, dword [ebx + 0x1c]
add ebx, 0x28
mov esi, dword [edi + 0xc]
mov edi, dword [edi + 8]
call fcn.0044ef30
push esi
push edi
lea ecx, [ebp - 0x78]
call fcn.0044fcf0
push 8
push ebx
lea ecx, [ebp - 0x78]
call fcn.0044fcf0
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x78]
call fcn.0044fb20
mov ebx, dword [ebp + 0x34]
push 0x100
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x3b28]
call fcn.0044d9d0
xor eax, eax
lea ecx, [ebp - 0x3b28]
push 2
push dword [ebx + 0x24]
mov dword [ebp - 0x3b28], eax
mov dword [ebp - 0x3b24], eax
mov dword [ebp - 0x3b20], eax
mov dword [ebp - 0x3b1c], eax
lea eax, [ebx + 0x2c]
push eax
call fcn.0044ca00
cmp byte [ebp + 0x38], 0
je 0x61cbb9
push dword [ebx + 0x1c]
mov eax, dword [ebx + 0x18]
add eax, 0x20
push eax
push dword [ebx + 4]
lea eax, [ebp + 0xc]
push dword [ebx]
push eax
call fcn.0061d190
add esp, 0x14
jmp 0x61cc0b
mov edi, dword [ebp + 0x34]
lea ecx, [ebp - 0x78]
mov eax, dword [ebx + 0x1c]
mov ebx, dword [ebx + 0x18]
mov dword [ebp + 8], eax
add ebx, 0x20
mov esi, dword [edi + 4]
mov edi, dword [edi]
call fcn.0044ef30
push esi
push edi
lea ecx, [ebp - 0x78]
call fcn.0044fcf0
push 8
push ebx
lea ecx, [ebp - 0x78]
call fcn.0044fcf0
mov eax, dword [ebp + 8]
test eax, eax
je 0x61cbfc
push 0x30
push eax
lea ecx, [ebp - 0x78]
call fcn.0044fcf0
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x78]
call fcn.0044fb20
mov ebx, dword [ebp + 0x34]
cmp byte [ebp + 0x38], 0
lea esi, [ebp + 0xc]
mov edi, dword [ebx + 0x18]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
je 0x61cc3b
push dword [ebx + 0x1c]
mov eax, dword [ebx + 0x18]
add eax, 0x28
push eax
push dword [ebx + 4]
lea eax, [ebp + 0xc]
push dword [ebx]
push eax
call fcn.0061d190
add esp, 0x14
jmp 0x61cc8d
mov edi, dword [ebp + 0x34]
lea ecx, [ebp - 0x78]
mov eax, dword [ebx + 0x1c]
mov ebx, dword [ebx + 0x18]
mov dword [ebp + 0x38], eax
add ebx, 0x28
mov esi, dword [edi + 4]
mov edi, dword [edi]
call fcn.0044ef30
push esi
push edi
lea ecx, [ebp - 0x78]
call fcn.0044fcf0
push 8
push ebx
lea ecx, [ebp - 0x78]
call fcn.0044fcf0
mov eax, dword [ebp + 0x38]
test eax, eax
je 0x61cc7e
push 0x30
push eax
lea ecx, [ebp - 0x78]
call fcn.0044fcf0
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x78]
call fcn.0044fb20
mov ebx, dword [ebp + 0x34]
push 0x100
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x3b28]
call fcn.0044d9d0
xor eax, eax
lea ecx, [ebp - 0x3b28]
push 2
push dword [ebx + 0x20]
mov dword [ebp - 0x3b28], eax
mov dword [ebp - 0x3b24], eax
mov dword [ebp - 0x3b20], eax
mov dword [ebp - 0x3b1c], eax
lea eax, [ebx + 0x2c]
push eax
call fcn.0044ca00
push ebx
call fcn.0061cd00
add esp, 4
lea ecx, [ebp - 0x3b28]
call fcn.00403120
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
lea esp, [ebp + 0x2c]
pop ebp
ret