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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x90
mov eax, dword [0x4b000c]
xor eax, esp
mov dword [esp + 0x8c], eax
cmp byte [0x4da066], 0
push esi
push edi
je 0x44bdb2
cmp byte [0x4b17e6], 0
jne 0x44bdb2
mov cl, byte [0x4d9b93]
movsx ax, cl
add ax, word [0x73c0c0]
movzx edx, ax
movzx esi, ax
mov word [0x73c0c0], ax
test cl, cl
jns 0x44bd3a
mov dword [0x4e9c30], 0
xorps xmm0, xmm0
movups xmmword [0x4e9c20], xmm0
test dx, dx
jg 0x44bdad
xor eax, eax
mov byte [0x4b17e6], 1
mov word [0x73c0c0], ax
mov byte [0x4da066], al
jmp 0x44bdad
mov ecx, 0xff
mov edx, esi
cmp si, cx
jl 0x44bd6a
xorps xmm0, xmm0
mov dword [0x4e9c30], 0
movups xmmword [0x4e9c20], xmm0
mov word [0x73c0c0], cx
mov edx, ecx
mov byte [0x4b17e6], 1
mov al, byte [0x4da067]
test al, al
je 0x44bdad
xor esi, esi
movzx eax, al
cmp dx, cx
cmove eax, esi
mov byte [0x4da067], al
movsx eax, dx
sub ecx, eax
sar ecx, 2
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov cl, byte [0x4b17ec]
divss xmm0, dword [0x4a96d4]
movss dword [0x73c194], xmm0
call fcn.0044d720
call fcn.0044c7a0
mov ecx, dword [0x4eb5ec]
cmp ecx, dword [0x4e96a0]
mov eax, dword [0x4eb158]
cmovne ecx, dword [0x4e96a0]
mov dword [0x4eb5ec], ecx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1bc]
movups xmm0, xmmword [0x7a402c]
xor edx, edx
movups xmmword [0x7a4054], xmm0
movups xmm0, xmmword [0x7a403c]
movups xmmword [0x7a4064], xmm0
movq xmm0, qword [0x7a404c]
movq qword [0x7a4074], xmm0
mov esi, edx
mov ecx, edx
shr esi, 5
mov eax, esi
shl eax, 5
sub ecx, eax
mov eax, 1
shl eax, cl
cmp dword [0x4d3824], 0
je 0x44be54
cmp dword [0xc0dac8], 0
je 0x44be54
cmp edx, 0x146
ja 0x44be54
mov cl, byte [edx + 0xc0d88f]
cmp cl, 2
jne 0x44be4f
mov byte [edx + 0xc0d88f], 0
mov edi, 1
jmp 0x44be56
movsx edi, cl
jmp 0x44be56
xor edi, edi
mov ecx, dword [esi*4 + 0x7a402c]
test edi, edi
je 0x44be65
or ecx, eax
jmp 0x44be69
not eax
and ecx, eax
inc edx
mov dword [esi*4 + 0x7a402c], ecx
cmp edx, 0x146
jle 0x44be07
call fcn.0044c720
cmp dword [0x73c0fc], 0
jl 0x44c60b
call fcn.00442d40
mov eax, dword [0x4e9bf0]
test al, 2
jne 0x44beab
or eax, 2
mov dword [0x4e9b50], 1
mov dword [0x4e9bf0], eax
mov ecx, dword [0x4e9bf4]
mov eax, ecx
mov edx, dword [0x4eb158]
shr eax, 9
and eax, 0xf
shr ecx, 0xd
and ecx, 0xf
mov esi, dword [edx]
push 0xffffffffffffffff
lea eax, [eax + eax*8]
add eax, ecx
push 0x4e96a4
push dword [eax*4 + 0x4e9c64]
push edx
call dword [esi + 0x8c]
mov eax, dword [0x4e9bf4]
and eax, 0xfffea9ff
mov dword [0x4e9b40], 4
or eax, 0xa800
mov dword [0x4e9b44], 5
mov dword [0x4e9bf4], eax
mov eax, dword [0x4eb158]
push 0xffffffffffffffff
push 0x4e96a4
push dword [0x4e9d08]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x8c]
mov eax, dword [0x73c178]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fstp dword [esp + 0x10]
cmp byte [0x73bfcd], 0
mov dword [0x4eb098], 0
mov dword [0x4eb09c], 0x3f800000
je 0x44bfbf
mov eax, dword [0x73c174]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x4a960c]
cvttss2si ecx, xmm0
sub eax, ecx
cdq
sub eax, edx
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
sar eax, 1
movaps xmm0, xmm2
movss dword [0x4eb090], xmm2
divss xmm0, dword [0x4a960c]
cvttss2si esi, xmm0
movd xmm0, eax
mov eax, dword [0x73c178]
sub eax, esi
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
movss dword [0x4eb088], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x4eb08c], xmm0
movd xmm0, esi
jmp 0x44bfee
movd xmm0, dword [0x73c174]
cvtdq2ps xmm0, xmm0
mov dword [0x4eb088], 0
mov dword [0x4eb08c], 0
movss dword [0x4eb090], xmm0
movd xmm0, dword [0x73c178]
mov eax, dword [0x4eb158]
cvtdq2ps xmm0, xmm0
push 0x4eb088
push 1
push eax
movss dword [0x4eb094], xmm0
mov ecx, dword [eax]
call dword [ecx + 0xb0]
mov ecx, 0x4e9600
call fcn.00441ee0
mov ecx, 0x4eb110
call fcn.00441ee0
mov eax, dword [0x73c178]
sub esp, 8
movaps xmm3, xmmword [0x4e9600]
cdq
movaps xmm2, xmmword [0x4e9610]
sub eax, edx
sar eax, 1
neg eax
movaps xmm1, xmmword [0x4e9620]
movups xmmword [0x4e8038], xmm3
movaps xmm0, xmmword [0x4e9630]
movd xmm3, eax
mov eax, dword [0x73c178]
cdq
sub eax, edx
sar eax, 1
movups xmmword [0x4e8048], xmm2
movups xmmword [0x4e8058], xmm1
movd xmm2, eax
mov eax, dword [0x73c174]
cdq
sub eax, edx
sar eax, 1
movups xmmword [0x4e8068], xmm0
cvtdq2ps xmm3, xmm3
movd xmm1, eax
mov eax, dword [0x73c174]
cdq
sub eax, edx
sar eax, 1
neg eax
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
call fcn.00442c10
movaps xmm3, xmmword [0x4eb110]
add esp, 4
movaps xmm2, xmmword [0x4eb120]
movaps xmm1, xmmword [0x4eb130]
movaps xmm0, xmmword [0x4eb140]
mov edx, dword [0x73c0fc]
movups xmmword [0x4e8078], xmm3
movups xmmword [0x4e8088], xmm2
movups xmmword [0x4e8098], xmm1
movups xmmword [0x4e80a8], xmm0
call fcn.00445540
add esp, 4
test dword [0x4eb040], 0x3800
jbe 0x44c114
mov eax, dword [0x4eb5e0]
mov dword [eax], 1
mov dword [0x4e9b30], 1
lea ecx, [esp + 0x30]
call fcn.00441ee0
mov eax, ecx
mov edx, 0x4e9600
push eax
mov ecx, 0x876060
call fcn.00441f50
movaps xmm4, xmmword [0x876060]
mov eax, 0xc01
movaps xmm2, xmmword [0x876080]
movaps xmm3, xmm4
shufps xmm3, xmmword [0x876070], 0x44
movaps xmm1, xmm2
shufps xmm1, xmmword [0x876090], 0x44
movaps xmm0, xmm3
shufps xmm4, xmmword [0x876070], 0xee
add esp, 4
test dword [0x4eb040], 0x3800
mov ecx, eax
shufps xmm2, xmmword [0x876090], 0xee
shufps xmm0, xmm1, 0x88
movups xmmword [0x4e7ff8], xmm0
mov dword [0x4e79f4], 1
movaps xmm0, xmm4
shufps xmm3, xmm1, 0xdd
shufps xmm0, xmm2, 0x88
shufps xmm4, xmm2, 0xdd
movups xmmword [0x4e8008], xmm3
mov dword [0x4e9dbc], 0x6eb670
movups xmmword [0x4e8018], xmm0
mov dword [0x6eb67c], 0
movups xmmword [0x4e8028], xmm4
mov dword [0x6eb678], 0
mov dword [0x6eb674], 0x4eb630
mov dword [0x4eb63c], 0xffffffff
mov word [0x6eb670], ax
jbe 0x44c20e
mov eax, 0xc0d
mov dword [0x4eb644], 0
mov dword [0x4eb648], 0
mov ecx, eax
mov word [0x6eb670], ax
mov eax, dword [0x73c174]
cdq
sub eax, edx
inc dword [0x4e9dc8]
sar eax, 1
neg eax
shr ecx, 3
and ecx, 7
mov dword [0x4eb638], 0xc53b8000
movd xmm1, eax
mov eax, dword [0x73c178]
cdq
sub eax, edx
sar eax, 1
neg eax
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov eax, 1
mov word [0x6eb672], ax
mov eax, dword [ecx*4 + 0x4eb178]
mov edi, dword [0x6eb670]
mov ecx, dword [0x4eb0a4]
movss dword [0x4eb630], xmm1
lea esi, [eax + 0x4eb630]
mov dword [0x4eb174], esi
cvtdq2ps xmm0, xmm0
movss dword [0x4eb634], xmm0
test edi, 0x2000
je 0x44c299
test ecx, ecx
je 0x44c2b2
mov dword [ecx + 4], 0xffffffff
jmp 0x44c2a4
test esi, esi
je 0x44c2b2
mov dword [esi + 0xc], 0xffffffff
or word [0x6eb670], 1
mov edi, dword [0x6eb670]
test dword [0x4eb040], 0x3800
jbe 0x44c305
test edi, 0x2000
je 0x44c2da
test ecx, ecx
je 0x44c305
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0x3f600000
jmp 0x44c2ec
test esi, esi
je 0x44c305
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0x3f600000
mov eax, dword [0x6eb670]
and eax, 0xffcf
or eax, 0xc
mov word [0x6eb670], ax
mov edi, dword [0x6eb670]
mov eax, dword [0x73c174]
cdq
sub eax, edx
sar eax, 1
neg eax
movd xmm0, eax
mov eax, dword [0x73c178]
cdq
sub eax, edx
sar eax, 1
cvtdq2ps xmm0, xmm0
movd xmm1, eax
mov eax, esi
mov dword [esp + 0xc], eax
cvtdq2ps xmm1, xmm1
test edi, 0x2000
je 0x44c361
test ecx, ecx
je 0x44c3a5
cvttss2si eax, xmm0
mov word [ecx], ax
cvttss2si eax, xmm1
mov word [ecx + 2], ax
add ecx, 0x18
mov edi, dword [0x6eb670]
mov eax, esi
mov dword [0x4eb0a4], ecx
mov dword [esp + 0xc], eax
jmp 0x44c39f
test esi, esi
je 0x44c3a5
movss dword [esi], xmm0
movss dword [esi + 4], xmm1
mov dword [esi + 8], 0xc53b8000
inc word [0x6eb672]
mov edi, dword [0x6eb670]
mov eax, edi
shr eax, 3
and eax, 7
mov eax, dword [eax*4 + 0x4eb178]
add esi, eax
mov dword [0x4eb174], esi
mov eax, esi
mov dword [esp + 0xc], esi
inc dword [0x4e9dc8]
test edi, 0x2000
je 0x44c3ba
test ecx, ecx
je 0x44c3d3
mov dword [ecx + 4], 0xffffffff
jmp 0x44c3c5
test eax, eax
je 0x44c3d3
mov dword [esi + 0xc], 0xffffffff
or word [0x6eb670], 1
mov edi, dword [0x6eb670]
test dword [0x4eb040], 0x3800
jbe 0x44c426
test edi, 0x2000
je 0x44c3fb
test ecx, ecx
je 0x44c426
mov dword [ecx + 8], 0x3f200000
mov dword [ecx + 0xc], 0
jmp 0x44c40d
test eax, eax
je 0x44c426
mov dword [esi + 0x14], 0x3f200000
mov dword [esi + 0x18], 0
mov eax, dword [0x6eb670]
and eax, 0xffcf
or eax, 0xc
mov word [0x6eb670], ax
mov edi, dword [0x6eb670]
mov eax, dword [0x73c174]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
mov eax, dword [0x73c178]
cdq
sub eax, edx
mov edx, dword [esp + 0xc]
sar eax, 1
neg eax
cvtdq2ps xmm0, xmm0
movd xmm1, eax
mov eax, edx
mov dword [esp + 0xc], eax
cvtdq2ps xmm1, xmm1
test edi, 0x2000
je 0x44c486
test ecx, ecx
je 0x44c4ca
cvttss2si eax, xmm0
mov word [ecx], ax
cvttss2si eax, xmm1
mov word [ecx + 2], ax
add ecx, 0x18
mov edi, dword [0x6eb670]
mov eax, edx
mov dword [0x4eb0a4], ecx
mov dword [esp + 0xc], eax
jmp 0x44c4c4
test edx, edx
je 0x44c4ca
movss dword [esi], xmm0
movss dword [esi + 4], xmm1
mov dword [esi + 8], 0xc53b8000
inc word [0x6eb672]
mov edi, dword [0x6eb670]
mov eax, edi
shr eax, 3
and eax, 7
mov esi, dword [eax*4 + 0x4eb178]
add esi, edx
mov dword [0x4eb174], esi
mov eax, esi
mov dword [esp + 0xc], esi
inc dword [0x4e9dc8]
test edi, 0x2000
je 0x44c4df
test ecx, ecx
je 0x44c4f8
mov dword [ecx + 4], 0xffffffff
jmp 0x44c4ea
test eax, eax
je 0x44c4f8
mov dword [esi + 0xc], 0xffffffff
or word [0x6eb670], 1
mov edi, dword [0x6eb670]
test dword [0x4eb040], 0x3800
jbe 0x44c54b
test edi, 0x2000
je 0x44c520
test ecx, ecx
je 0x44c54b
mov dword [ecx + 8], 0x3f200000
mov dword [ecx + 0xc], 0x3f600000
jmp 0x44c532
test eax, eax
je 0x44c54b
mov dword [esi + 0x14], 0x3f200000
mov dword [esi + 0x18], 0x3f600000
mov eax, dword [0x6eb670]
and eax, 0xffcf
or eax, 0xc
mov word [0x6eb670], ax
mov edi, dword [0x6eb670]
mov eax, dword [0x73c174]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
mov eax, dword [0x73c178]
cdq
sub eax, edx
sar eax, 1
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
test edi, 0x2000
je 0x44c593
test ecx, ecx
je 0x44c5d1
cvttss2si eax, xmm0
mov word [ecx], ax
cvttss2si eax, xmm1
mov word [ecx + 2], ax
add ecx, 0x18
mov dword [0x4eb0a4], ecx
jmp 0x44c5cb
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x44c5d1
movss dword [esi], xmm0
movss dword [esi + 4], xmm1
mov dword [esi + 8], 0xc53b8000
inc word [0x6eb672]
mov eax, dword [0x6eb670]
shr eax, 3
and eax, 7
mov eax, dword [eax*4 + 0x4eb178]
add eax, ecx
mov dword [0x4eb174], eax
inc dword [0x4e9dc8]
call fcn.00443a20
cmp byte [0x73bfce], 0
je 0x44c5e4
call fcn.0044a240
mov ecx, dword [0x4eb5ec]
cmp ecx, dword [0x4e96a0]
mov eax, dword [0x4eb158]
cmovne ecx, dword [0x4e96a0]
mov dword [0x4eb5ec], ecx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1bc]
cmp dword [0x4d3824], 0
mov edi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
je 0x44c621
lea eax, [esp + 0x10]
push eax
call edi
sub esp, 0xc
lea ecx, [esp + 0x24]
call fcn.00450c40
add esp, 0xc
mov esi, eax
cmp dword [0x4d3824], 0
jne 0x44c640
xorps xmm1, xmm1
jmp 0x44c66b
lea eax, [esp + 0x10]
push eax
call edi
mov ecx, dword [esp + 0x10]
sub ecx, dword [0xc0da18]
mov edx, dword [esp + 0x14]
sbb edx, dword [0xc0da1c]
call fcn.0048cd20
movaps xmm1, xmm0
mulsd xmm1, qword [0xc0da08]
subsd xmm1, qword [0xbcf900]
mov eax, dword [esp + 0x18]
divsd xmm1, qword [0x4a95f8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4a9880]
divsd xmm0, xmm1
call fcn.0048cca0
push eax
mov dword [0x73c100], eax
lea eax, [esp + 0x78]
push str.KAVINSKY___FPS:_02d
push eax
call fcn.00406d20
add esp, 0xc
lea eax, [esp + 0x74]
push eax
push dword [0xc0db20]
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp dword [0x4d3824], 0
je 0x44c705
cmp dword [0xc0dac8], 0
je 0x44c705
cmp dword [0xc0dad0], 0
jne 0x44c705
cmp dword [0xc0dacc], 0
mov eax, esi
je 0x44c707
inc dword [0x73c104]
pop edi
pop esi
mov ecx, dword [esp + 0x8c]
xor ecx, esp
call fcn.0046ad4d
mov esp, ebp
pop ebp
ret
mov eax, esi
mov ecx, dword [esp + 0x94]
pop edi
pop esi
xor ecx, esp
call fcn.0046ad4d
mov esp, ebp
pop ebp
ret