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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
push ebx
mov ebx, ecx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x38], ebx
mov ecx, dword [ebx + 0x298]
test ecx, 0x80001
je 0x4d879d
mov eax, dword [ebp + 8]
add dword [ebx + 0x8dc], eax
adc dword [ebx + 0x8e0], edi
mov esi, dword [ebx + 0x8d0]
add esi, dword [ebp + 8]
mov eax, dword [ebx + 0x900]
mov edx, dword [ebx + 0x7d4]
add eax, esi
mov dword [ebp - 0x28], esi
mov dword [ebx + 0x8d0], esi
mov dword [ebx + 0x8d8], eax
test edx, edx
je 0x4d87dc
cmp dword [ebx + 0x15c], 1
je 0x4d87dc
cmp esi, dword [ebx + 0xfc]
jae 0x4d88bb
cmp dword [ebp + 8], edi
je 0x4d87f3
lea eax, [esi + 0x10200]
cmp eax, dword [ebx + 0x8fc]
jb 0x4d940e
test cl, 0x10
je 0x4d88bb
xor edx, edx
mov dword [ebx + 0x8c4], 1
test esi, esi
jne 0x4d883d
xorps xmm0, xmm0
mov dword [ebx + 0x8b4], edi
movlpd qword [ebp - 0x50], xmm0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov dword [ebx + 0x8b8], edi
mov dword [ebx + 0x8bc], ecx
mov dword [ebx + 0x8c0], eax
mov eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebx + 0x170]
mov esi, dword [ebx + 0x8d4]
mov eax, dword [ebp - 0x28]
sub eax, esi
div dword [ecx + 4]
mov edx, dword [ebx + 0x878]
mov ecx, eax
mov eax, dword [ebx + 0x874]
test esi, esi
jne 0x4d886f
mov dword [ebx + 0x8b4], eax
mov dword [ebx + 0x8b8], edx
add ecx, eax
mov dword [ebx + 0x8d0], edi
mov eax, edi
mov dword [ebx + 0x874], ecx
adc eax, edx
mov dword [ebx + 0x8d4], edi
mov edx, dword [ebx + 0x900]
add ecx, 0xffffffff
mov dword [ebx + 0x878], eax
mov dword [ebx + 0x8d8], edx
adc eax, 0xffffffff
mov edx, 0x4a
mov dword [ebx + 0x8bc], ecx
mov dword [ebx + 0x8c0], eax
mov eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test esi, esi
je 0x4d93e5
mov eax, dword [ebp + 8]
mov edx, esi
nop dword [eax + eax]
mov ecx, dword [ebx + 0x298]
test ecx, 0x80001
jne 0x4d9006
mov dword [ebp - 0x20], 0
mov dword [ebp - 8], 0
test ecx, 0x8c6
jne 0x4d8917
test ecx, 0xe80
je 0x4d8940
mov eax, dword [ebx + 0x170]
mov edx, dword [eax + 0x1a0]
mov eax, dword [eax + 0x1a4]
mov dword [ebp - 0x20], edx
jmp 0x4d893d
mov ecx, dword [ebx + 0x170]
mov eax, dword [ecx + 0x1ac]
mov ecx, dword [ecx + 0x1a8]
mov dword [ebp - 0x20], eax
call fcn.004f9de0
mov esi, dword [ebx + 0x8d0]
mov ecx, dword [ebx + 0x298]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x170]
test eax, eax
jne 0x4d8950
mov eax, dword [ebx + 0x16c]
mov eax, dword [eax + 4]
xor edx, edx
mov dword [ebp - 4], eax
mov eax, esi
div dword [ebp - 4]
cmp dword [ebp + 8], 0
mov dword [ebp - 0xc], eax
jne 0x4d8975
mov eax, dword [ebp - 4]
dec eax
test esi, eax
mov eax, dword [ebp - 0xc]
je 0x4d8975
inc eax
mov dword [ebp - 0xc], eax
test cl, 0x46
je 0x4d89bd
cmp dword [0x64f3fc], 0
jle 0x4d89bd
mov esi, dword [ebx + 0x874]
mov ecx, esi
mov edx, dword [ebx + 0x878]
sub ecx, dword [ebx + 0x88c]
push 0
push eax
mov eax, edx
sbb eax, dword [ebx + 0x890]
push eax
push ecx
push edx
push esi
push 0x64f65c
call fcn.00527370
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4d940e
mov edx, dword [ebx + 0x298]
mov ecx, edx
and ecx, 6
je 0x4d89dc
mov eax, dword [0x64f2d0]
test eax, eax
jne 0x4d89ed
mov eax, dword [0x64f2d4]
test eax, eax
jne 0x4d89ed
test edx, 0xc80
je 0x4d8a1d
mov eax, dword [0x64f2d8]
test eax, eax
je 0x4d8a1d
cmp dword [eax + 0x1c], 0
je 0x4d8a0a
mov eax, dword [eax + 0x20]
xor edx, edx
mov esi, dword [ebp - 4]
mov eax, dword [eax + 0x44]
div esi
mov ecx, eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
jmp 0x4d8a4b
mov esi, dword [ebp - 4]
xor eax, eax
xor edx, edx
div esi
mov ecx, eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
jmp 0x4d8a4b
test ecx, ecx
je 0x4d8a40
test byte [0x64f5d0], 8
je 0x4d8a40
mov esi, dword [ebp - 4]
mov eax, 0x10000
xor edx, edx
div esi
mov ecx, eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
jmp 0x4d8a4b
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov esi, dword [ebp - 4]
mov dword [ebp - 0x1c], eax
imul ecx, esi
mov dword [ebp - 0x40], ecx
test eax, eax
je 0x4d9358
nop dword [eax]
call fcn.004e1a40
test eax, eax
jne 0x4d9353
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
jbe 0x4d8a88
mov eax, ecx
imul eax, esi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebx + 0x874]
cmp eax, ecx
mov edx, ecx
mov ecx, dword [ebx + 0x298]
cmovbe edx, eax
sub esi, dword [ebx + 0x88c]
mov eax, dword [ebx + 0x878]
sbb eax, dword [ebx + 0x890]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x10], eax
test cl, 0x46
jne 0x4d8e07
mov esi, edx
test ecx, 0xe80
je 0x4d8d7e
test ecx, 0xc80
je 0x4d8f6f
mov esi, dword [0x64f2d8]
test esi, esi
je 0x4d8b7a
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x34], ecx
lea eax, [ecx + 0x50]
mov dword [esi + 0x30], eax
cmp eax, dword [esi + 0x24]
jne 0x4d8afe
mov eax, dword [esi + 0x20]
mov dword [esi + 0x30], eax
push 0xffffffffffffffff
add ecx, 4
call fcn.0047edf0
mov esi, dword [esi + 0x34]
mov ecx, dword [ebx + 0x8d4]
add ecx, dword [ebx + 0x900]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
mov dword [esi + 0x48], eax
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x3c], eax
mov dword [esi + 0x34], edx
mov dword [esi + 0x40], edi
movzx eax, word [edx + 6]
imul eax, edi
push eax
push ecx
push dword [esi + 0x20]
mov dword [esi + 0x28], eax
call fcn.005c9900
add esp, 0xc
lea ecx, [esi + 0x10]
call fcn.0047ede0
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x4d8b62
push 2
call fcn.00515980
mov eax, dword [0x64f2d8]
mov edi, dword [eax + 0x38]
test edi, edi
jne 0x4d9358
mov esi, dword [ebp - 0x14]
jmp 0x4d8f6f
cmp dword [ebx + 0x9d0], 0
je 0x4d8c26
push 0xffffffffffffffff
push dword [ebx + 0x984]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [ebx + 0x9bc], 0
jne 0x4d93c6
mov eax, dword [ebp - 0x14]
mov esi, eax
mov ecx, dword [ebp - 4]
cmp eax, dword [ebx + 0x9b4]
jbe 0x4d8bc0
mov esi, dword [ebx + 0x9b4]
mov eax, esi
imul eax, ecx
mov dword [ebp - 0x28], eax
mov edi, dword [ebx + 0x98c]
mov eax, dword [ebx + 0x9b4]
sub eax, esi
mov dword [ebx + 0x9b4], eax
cmp dword [ebx + 0x9b4], 0
jne 0x4d8bee
push dword [ebx + 0x984]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov ecx, dword [ebp - 4]
jmp 0x4d8bff
mov eax, esi
imul eax, ecx
add eax, dword [ebx + 0x98c]
mov dword [ebx + 0x98c], eax
push dword [ebp - 0x20]
mov eax, dword [ebx + 0x8d4]
add eax, dword [ebx + 0x900]
push ecx
push dword [ebp - 0x28]
mov ecx, ebx
push edi
push eax
push dword [ebp - 0x10]
push dword [ebp - 0x18]
call fcn.004d7f50
jmp 0x4d8f65
mov eax, dword [ebx + 0x8d4]
add eax, dword [ebx + 0x900]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], edx
xor edx, edx
movzx ecx, word [eax + 6]
mov eax, 0x10000
div ecx
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebx + 0x918]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x24], ecx
test edx, edx
je 0x4d8d64
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x44], edx
mov edi, edx
mov edx, dword [ebp - 8]
cmovbe edi, dword [ebp - 0x44]
push edx
push edi
movzx ebx, word [edx + 6]
push ecx
imul ebx, edi
push eax
push esi
mov dword [ebp - 0x30], ebx
call fcn.004faf40
mov ebx, dword [ebp - 0x38]
add esp, 0x14
test eax, eax
jne 0x4d8d05
cmp dword [0x64f418], 0
jg 0x4d8cbd
push edi
push dword [ebp - 0x10]
push esi
push 0
push 1
call fcn.004a0e90
mov ecx, eax
add esp, 0x14
test ecx, ecx
jne 0x4d8d54
mov dword [0x64f418], 1
push dword [ebp - 0x30]
push 0
push dword [ebp - 0x24]
call fcn.005c9220
add esp, 0xc
xor esi, esi
test edi, edi
je 0x4d8d02
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov ecx, esi
push eax
push 1
movzx eax, word [eax + 6]
imul eax, esi
add eax, dword [ebp - 0x24]
push eax
xor eax, eax
add ecx, ebx
adc eax, dword [ebp - 0x10]
push eax
push ecx
call fcn.004faf40
inc esi
add esp, 0x14
cmp esi, edi
jb 0x4d8cd6
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x18]
push dword [ebp - 0x20]
mov eax, dword [ebp - 8]
mov ecx, ebx
movzx eax, word [eax + 6]
push eax
push dword [ebp - 0x30]
push dword [ebp - 0x24]
push dword [ebp - 0x34]
push dword [ebp - 0x10]
push esi
call fcn.004d7f50
mov ecx, eax
test ecx, ecx
jne 0x4d8d60
mov eax, dword [ebp - 0x10]
add esi, edi
mov edx, dword [ebp - 0x2c]
adc eax, ecx
mov dword [ebp - 0x18], esi
sub edx, edi
mov dword [ebp - 0x10], eax
mov edi, dword [ebp - 0x34]
add edi, dword [ebp - 0x30]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x34], edi
test edx, edx
je 0x4d8d66
mov ecx, dword [ebp - 0x24]
jmp 0x4d8c65
mov dword [0x64f418], 0xffffffff
jmp 0x4d8d66
mov edi, eax
jmp 0x4d8d68
xor ecx, ecx
mov edi, ecx
mov esi, dword [ebp - 0x14]
test ecx, ecx
je 0x4d8f6f
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test ecx, 0x40000
je 0x4d8f6f
mov dword [ebp - 0x34], 0
mov esi, edx
test edx, edx
je 0x4d8f6f
xor esi, esi
nop dword [eax]
mov eax, dword [ebx + 0x900]
push dword [ebp - 4]
add eax, esi
add eax, dword [ebx + 0x8d4]
push eax
push 0
call dword [0x644e78]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push 4
push eax
push 0
call dword [0x644e78]
add dword [ebx + 0x8e4], eax
add esp, 0x18
mov ecx, dword [ebx + 0x7e4]
lea eax, [ebp - 0x3c]
push 4
push eax
call fcn.004983b0
mov edi, eax
test edi, edi
jne 0x4d940e
mov eax, dword [ebp - 0x34]
add esi, dword [ebp - 4]
inc eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
cmp eax, ecx
jb 0x4d8da0
mov esi, ecx
jmp 0x4d8f6f
mov edi, dword [0x64f2d0]
test edi, edi
je 0x4d8e9f
mov ecx, dword [edi + 0x30]
mov dword [edi + 0x34], ecx
lea eax, [ecx + 0x48]
mov dword [edi + 0x30], eax
cmp eax, dword [edi + 0x24]
jne 0x4d8e2c
mov eax, dword [edi + 0x20]
mov dword [edi + 0x30], eax
push 0xffffffffffffffff
add ecx, 4
call fcn.0047edf0
mov edi, dword [edi + 0x34]
mov eax, dword [ebx + 0x8d4]
add eax, dword [ebx + 0x900]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
mov dword [edi + 0x3c], ecx
mov ecx, dword [ebp - 0x14]
mov dword [edi + 0x38], esi
mov dword [edi + 0x34], edx
mov dword [edi + 0x40], ecx
movzx esi, word [edx + 6]
imul esi, ecx
push esi
push eax
push dword [edi + 0x20]
call fcn.005c9900
add esp, 0xc
mov dword [edi + 0x28], esi
lea ecx, [edi + 0x10]
call fcn.0047ede0
mov ecx, dword [edi + 0x1c]
test ecx, ecx
je 0x4d8e87
push 2
call fcn.00515980
mov eax, dword [0x64f2d0]
mov edi, dword [eax + 0x38]
test edi, edi
jne 0x4d9358
mov esi, dword [ebp - 0x14]
jmp 0x4d8f6f
mov edi, dword [0x64f2d4]
test edi, edi
je 0x4d8f2b
mov ecx, dword [edi + 0x30]
mov dword [edi + 0x34], ecx
lea eax, [ecx + 0x70]
mov dword [edi + 0x30], eax
cmp eax, dword [edi + 0x24]
jne 0x4d8ec4
mov eax, dword [edi + 0x20]
mov dword [edi + 0x30], eax
push 0xffffffffffffffff
add ecx, 4
call fcn.0047edf0
mov esi, dword [edi + 0x34]
mov ecx, dword [ebx + 0x8d4]
add ecx, dword [ebx + 0x900]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x3c], eax
mov dword [esi + 0x34], edx
mov dword [esi + 0x40], edi
movzx eax, word [edx + 6]
imul eax, edi
push eax
push ecx
push dword [esi + 0x20]
mov dword [esi + 0x28], eax
call fcn.005c9900
add esp, 0xc
lea ecx, [esi + 0x48]
push 0x20
call fcn.00515980
mov eax, dword [0x64f2d4]
mov edi, dword [eax + 0x38]
test edi, edi
jne 0x4d9358
mov esi, dword [ebp - 0x14]
jmp 0x4d8f6f
mov ecx, dword [ebx + 0x8d4]
add ecx, dword [ebx + 0x900]
cmp dword [0x64f400], 0
push 0
je 0x4d8f54
push 0
push dword [ebp - 8]
push edx
push ecx
push eax
push esi
mov ecx, ebx
call fcn.004ce8e0
jmp 0x4d8f62
push dword [ebp - 8]
push edx
push ecx
push eax
push esi
mov ecx, ebx
call fcn.004cebf0
mov esi, dword [ebp - 0x14]
mov edi, eax
test edi, edi
jne 0x4d940e
mov eax, dword [0x650ce0]
mov ecx, dword [0x650ce4]
add eax, esi
mov dword [0x650ce0], eax
adc ecx, 0
mov dword [0x650ce4], ecx
mov eax, dword [0x650cf0]
mov ecx, dword [0x650cf4]
add eax, esi
mov dword [0x650cf0], eax
adc ecx, 0
mov dword [0x650cf4], ecx
add dword [ebx + 0x874], esi
adc dword [ebx + 0x878], 0
cmp dword [ebx + 0x9d0], 0
je 0x4d8fd8
sub dword [ebx + 0x8a4], esi
je 0x4d8fd8
cmp dword [ebx + 0x9b4], 0
jne 0x4d8fd8
push dword [ebx + 0x980]
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [ebx + 0x8d0]
mov ecx, eax
cmp dword [ebp - 0x28], eax
cmovbe ecx, dword [ebp - 0x28]
add dword [ebx + 0x8d4], ecx
sub eax, ecx
sub dword [ebp - 0xc], esi
mov esi, dword [ebp - 4]
mov dword [ebx + 0x8d0], eax
jne 0x4d8a60
jmp 0x4d9358
cmp dword [ebx + 0x7d4], 0
je 0x4d918f
cmp dword [ebx + 0x15c], 0
je 0x4d9039
push 0
mov ecx, ebx
call fcn.0047eac0
test eax, eax
jne 0x4d93d5
mov edx, dword [ebx + 0x8d0]
mov dword [ebx + 0x15c], eax
mov esi, dword [ebx + 0x144]
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp + 8], eax
jne 0x4d9054
add edx, 0x7ff
shr edx, 0xb
jmp 0x4d9078
shr edx, 0xb
mov dword [ebp - 0x14], edx
cmp esi, 1
jbe 0x4d90a1
mov ecx, dword [ebx + 0x160]
add edx, ecx
mov dword [ebp - 0x14], edx
mov eax, edx
xor edx, edx
div esi
sub dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
sub edx, ecx
mov dword [ebp - 0x14], edx
cmp esi, 1
jbe 0x4d90a1
mov eax, dword [ebx + 0x160]
test eax, eax
je 0x4d9095
sub esi, eax
mov dword [ebp - 0x34], 1
jmp 0x4d90a6
cmp esi, 0x10
jae 0x4d90a6
mov esi, 0x10
jmp 0x4d90a6
mov esi, 0x1f
mov eax, esi
shl eax, 0xb
mov dword [ebp - 0x20], eax
test edx, edx
je 0x4d9358
nop word [eax + eax]
cmp dword [ebx + 0x15c], 0
jne 0x4d9358
call fcn.004e1a40
test eax, eax
jne 0x4d9353
mov edx, dword [ebp - 0x14]
mov ecx, edx
shl ecx, 0xb
mov eax, edx
cmp esi, edx
mov edx, dword [ebx + 0x8d0]
cmovbe ecx, dword [ebp - 0x20]
cmovbe eax, esi
mov esi, eax
cmp ecx, edx
mov eax, edx
cmovbe eax, ecx
cmp dword [ebp + 8], 0
mov dword [ebp - 0x20], eax
jne 0x4d9110
cmp edx, eax
jne 0x4d9110
mov eax, 1
jmp 0x4d9112
xor eax, eax
push eax
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
mov eax, dword [ebx + 0x900]
add eax, dword [ebx + 0x8d4]
push esi
push eax
call fcn.0047e520
mov edi, eax
test edi, edi
jne 0x4d9400
mov eax, dword [ebp - 0x48]
cmp esi, eax
je 0x4d9147
mov esi, eax
shl eax, 0xb
mov dword [ebp - 0x20], eax
jmp 0x4d914a
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
sub dword [ebx + 0x8d0], eax
sub edx, esi
add dword [ebx + 0x8d4], eax
cmp dword [ebp - 0x34], 0
mov dword [ebp - 0x14], edx
je 0x4d9182
mov esi, dword [ebx + 0x144]
xor eax, eax
mov dword [ebp - 0x34], eax
cmp esi, 0x10
mov eax, 0x10
cmovb esi, eax
mov eax, esi
shl eax, 0xb
mov dword [ebp - 0x20], eax
test edx, edx
jne 0x4d90c0
jmp 0x4d9358
test eax, eax
jne 0x4d9197
mov eax, esi
jmp 0x4d91bc
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x4d91ad
test byte [0x64f4f0], 0x20
jne 0x4d91ad
neg eax
and eax, esi
jmp 0x4d91bc
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x4d91ba
neg eax
and eax, esi
jmp 0x4d91bc
xor eax, eax
and esi, 0xfffff000
mov ecx, 0x10000
test eax, eax
cmovne esi, eax
test byte [0x64f5d0], 2
mov eax, esi
mov dword [ebp - 0x28], esi
cmovne eax, ecx
mov dword [ebp - 0x44], eax
test esi, esi
je 0x4d9358
mov edi, esi
mov dword [ebp - 0x34], edi
jmp 0x4d91f3
mov edi, dword [ebp - 0x34]
call fcn.004e1a40
test eax, eax
jne 0x4d9353
cmp dword [ebp - 0x44], edi
mov esi, edi
cmovbe esi, dword [ebp - 0x44]
mov dword [ebp - 0x2c], esi
cmp dword [0x644b68], eax
je 0x4d9315
mov eax, dword [0x644b48]
add eax, dword [0x644b50]
mov edi, dword [0x644b4c]
adc edi, dword [0x644b54]
mov dword [ebp - 0x30], eax
mov eax, dword [0x644b60]
or eax, dword [0x644b64]
mov dword [ebp - 0x40], edi
jne 0x4d927b
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x4d9258
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
jmp 0x4d9263
push 0
call fcn.005cc714
add esp, 4
cdq
cmp edx, edi
ja 0x4d9275
jb 0x4d926e
cmp eax, dword [ebp - 0x30]
jae 0x4d9275
pause
mov edi, dword [ebp - 0x40]
jmp 0x4d9242
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x2c]
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x4d9291
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
jmp 0x4d929c
push 0
call fcn.005cc714
add esp, 4
cdq
cmp edx, edi
jb 0x4d92e0
ja 0x4d92a7
cmp eax, dword [ebp - 0x30]
jb 0x4d92e0
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x4d92bd
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
jmp 0x4d92c8
push 0
call fcn.005cc714
add esp, 4
cdq
mov ecx, dword [0x644b5c]
mov dword [0x644b50], eax
mov eax, dword [0x644b58]
mov dword [0x644b54], edx
jmp 0x4d92eb
mov ecx, dword [0x644b64]
mov eax, dword [0x644b60]
xor edx, edx
cmp edx, ecx
jb 0x4d9306
ja 0x4d92f7
cmp esi, eax
jbe 0x4d9306
xorps xmm0, xmm0
mov esi, eax
movlpd qword [0x644b60], xmm0
jmp 0x4d9315
sub eax, esi
mov dword [0x644b60], eax
sbb ecx, edx
mov dword [0x644b64], ecx
mov eax, dword [ebp - 0x28]
lea ecx, [ebx + 8]
push eax
mov eax, dword [ebx + 0x900]
add eax, dword [ebx + 0x8d4]
push esi
push eax
call fcn.00497cd0
mov edi, eax
test edi, edi
jne 0x4d940e
sub dword [ebx + 0x8d0], esi
add dword [ebx + 0x8d4], esi
sub dword [ebp - 0x34], esi
mov dword [ebp - 0x28], eax
jne 0x4d91f0
jmp 0x4d9358
mov edi, 1
mov eax, dword [ebx + 0x8d0]
mov edx, eax
mov esi, eax
test eax, eax
je 0x4d9390
cmp dword [ebx + 0x8d4], 0
je 0x4d9390
mov ecx, dword [ebx + 0x900]
push eax
mov eax, dword [ebx + 0x8d4]
add eax, ecx
push eax
push ecx
call fcn.005c9900
mov edx, dword [ebx + 0x8d0]
add esp, 0xc
mov esi, edx
mov eax, dword [ebx + 0x900]
add eax, esi
mov dword [ebx + 0x8d4], 0
mov dword [ebx + 0x8d8], eax
mov eax, dword [ebp + 8]
test eax, eax
jne 0x4d940e
test esi, esi
je 0x4d940e
test edi, edi
je 0x4d88d0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 0x9bc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, ebx
call fcn.0047e140
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test edx, edx
je 0x4d940e
push 1
lea eax, [ebp - 0x4c]
mov ecx, ebx
push eax
push 0
push 0
call fcn.0047e520
mov edi, eax
test edi, edi
je 0x4d940e
cmp edi, 1
je 0x4d940e
mov ecx, ebx
call fcn.0047e140
mov edi, eax
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4