Function at 0x4d6450
Capabilities:
Access peb ldr_data
Check os version
Get number of processors

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x66e5b3
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x9b8
mov eax, dword [0x73bb00]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x958], edi
movups xmm0, xmmword [ebx + 8]
movups xmmword [ebp - 0x900], xmm0
call fcn.005d2890
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x30]
call eax
mov edx, eax
mov eax, dword [0x7862c0]
mov dword [ebp - 0x950], edx
mov ecx, dword [edx + 0xc]
sub ecx, dword [edx + 8]
mov dword [ebp - 0x964], ecx
mov ecx, dword [edx + 0x10]
sub ecx, dword [edx + 8]
test eax, eax
mov dword [ebp - 0x95c], ecx
setne byte [ebp - 0x949]
test eax, eax
je 0x4d64fe
xorps xmm1, xmm1
comiss xmm1, dword [edi + 0x1e94]
jbe 0x4d64fe
cmp byte [edx], 0
je 0x4d64fe
mov byte [ebp - 0x931], 1
jmp 0x4d6506
xor al, al
mov byte [ebp - 0x931], al
lea eax, [ebp - 0x950]
mov dword [ebp - 0x994], 0xa
mov dword [ebp - 0x9b8], eax
mov ecx, edi
lea eax, [ebp - 0x964]
mov dword [ebp - 0x9b4], eax
lea eax, [ebp - 0x994]
mov dword [ebp - 0x9b0], eax
lea eax, [ebp - 0x95c]
mov dword [ebp - 0x9ac], eax
lea eax, [ebp - 0x950]
mov dword [ebp - 0x9c8], eax
lea eax, [ebp - 0x964]
mov dword [ebp - 0x9c4], eax
lea eax, [ebp - 0x994]
mov dword [ebp - 0x9c0], eax
lea eax, [ebp - 0x95c]
mov dword [ebp - 0x9bc], eax
call fcn.005d2840
mov eax, 0x51eb851f
xor esi, esi
imul dword [ebp - 0x95c]
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
xor eax, eax
cmp dword [eax*4 + 0x6b2db0], ecx
jge 0x4d65a3
lea esi, [eax + 1]
mov eax, esi
cmp eax, 7
jb 0x4d6590
mov dword [ebp - 0x98c], esi
test esi, esi
jle 0x4d65c4
cmp dword [0x7344e0], esi
jl 0x4d65c4
lea ecx, [esi - 1]
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov dword [0x7344e0], eax
mov eax, dword [edi + 4]
xorps xmm1, xmm1
movss xmm0, dword [0x680744]
movss dword [ebp - 0x940], xmm0
movss dword [ebp - 0x988], xmm1
cmp dword [eax + 0x43c974], 0
jne 0x4d6a58
cmp dword [edi + 0x24d0], 0
jne 0x4d6a58
cmp dword [0x782f64], 0
je 0x4d6a58
mov ecx, edi
call fcn.005d29c0
mov ecx, eax
call fcn.005461a0
test al, al
jne 0x4d6a55
mov ecx, edi
call fcn.005d2900
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0xc]
call eax
test al, al
jne 0x4d66fe
mov ecx, edi
call fcn.005d2900
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
test al, al
jne 0x4d66fe
mov ecx, edi
call fcn.005d2900
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x14]
call eax
test al, al
jne 0x4d66fe
mov ecx, edi
call fcn.005d2900
push 0
push 0x12c
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
jne 0x4d66d8
mov ecx, edi
call fcn.005d2900
push 0
push 0x52
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
jne 0x4d66d8
mov ecx, edi
call fcn.005d2900
push 0
push 0x12d
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
jne 0x4d66cd
mov ecx, edi
call fcn.005d2900
push 0
push 0x51
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
je 0x4d66fe
mov ecx, edi
call fcn.005d2890
push 0xffffffffffffffff
jmp 0x4d66e1
mov ecx, edi
call fcn.005d2890
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
mov ecx, eax
call edx
mov ecx, edi
call fcn.005d2840
movss xmm0, dword [eax + 0x54]
movss dword [edi + 0x1e98], xmm0
mov ecx, edi
call fcn.005d2900
push 0
push 0x2c
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
jne 0x4d675e
mov ecx, edi
call fcn.005d2900
push 0
push 0x28
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
jne 0x4d675e
mov ecx, edi
call fcn.005d2900
push 0
push 0x58
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
jne 0x4d675e
mov ecx, edi
call fcn.005d2900
push 0
push 0xe
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
je 0x4d67ae
mov eax, dword [ebp - 0x950]
mov ecx, edi
cmp byte [eax], 0
je 0x4d6779
call fcn.005d2890
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x28]
jmp 0x4d6785
call fcn.005d2890
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x24]
cmp byte [ebp - 0x931], 0
je 0x4d6793
xorps xmm1, xmm1
jmp 0x4d679f
mov ecx, edi
call fcn.005d2840
movss xmm1, dword [eax + 0x54]
movss dword [edi + 0x1e94], xmm1
mov byte [ebp - 0x931], 0
mov ecx, edi
call fcn.005d2900
push 0
push 0x50
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
jne 0x4d6896
mov ecx, edi
call fcn.005d2900
push 0
push 0xd
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
jne 0x4d6896
mov ecx, edi
call fcn.005d2900
push 0
push 0x4f
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
jne 0x4d681a
mov ecx, edi
call fcn.005d2900
push 0
push 0xf
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
je 0x4d690d
mov ecx, edi
call fcn.005d2900
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0xc]
call eax
test al, al
je 0x4d6854
lea ecx, [ebp - 0x9c8]
call fcn.004d1fc0
fstp dword [ebp - 0x940]
movss xmm1, dword [ebp - 0x940]
movss dword [ebp - 0x940], xmm1
jmp 0x4d690d
mov ecx, edi
call fcn.005d2900
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
test al, al
mov eax, dword [0x7344e0]
je 0x4d6880
lea ecx, [esi - 1]
inc eax
cmp ecx, eax
cmovl eax, ecx
mov dword [0x7344e0], eax
jmp 0x4d690d
movd xmm1, dword [eax*4 + 0x6b2db0]
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0x988], xmm1
jmp 0x4d690d
mov ecx, edi
call fcn.005d2900
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0xc]
call eax
test al, al
je 0x4d68cd
lea ecx, [ebp - 0x9b8]
call fcn.004d1f30
fstp dword [ebp - 0x940]
movss xmm0, dword [ebp - 0x940]
movss dword [ebp - 0x940], xmm0
jmp 0x4d690d
mov ecx, edi
call fcn.005d2900
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
test al, al
mov eax, dword [0x7344e0]
je 0x4d68f5
xor ecx, ecx
add eax, 0xffffffff
cmovs eax, ecx
mov dword [0x7344e0], eax
jmp 0x4d690d
mov eax, dword [eax*4 + 0x6b2db0]
neg eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x988], xmm0
movaps xmm0, xmmword [0x6b32e0]
xor esi, esi
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x30], 0x25
movaps xmm0, xmmword [0x6b32f0]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x2c], 0x26
mov ecx, edi
call fcn.005d2900
push 0
push dword [ebp + esi*4 - 0x50]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
jne 0x4d6955
inc esi
cmp esi, 0xa
jb 0x4d6933
jmp 0x4d697d
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
addsd xmm0, qword [esi*8 + 0x67b110]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x67ed28]
movss dword [ebp - 0x940], xmm0
mov ecx, edi
call fcn.005d2900
push 0
push 0x4a
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
je 0x4d699a
xorps xmm0, xmm0
jmp 0x4d69ba
mov ecx, edi
call fcn.005d2900
push 0
push 0x4d
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
je 0x4d69c2
movss xmm0, dword [0x67b0b4]
movss dword [ebp - 0x940], xmm0
mov ecx, edi
call fcn.005d2900
push 0
push 0x37
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
mov ecx, edi
test al, al
je 0x4d69ef
mov eax, dword [edi + 4]
mov byte [eax + 0x526c34], 1
call fcn.005d2890
push 2
jmp 0x4d6a18
call fcn.005d2900
push 0
push 0x36
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
je 0x4d6a55
mov eax, dword [edi + 4]
mov ecx, edi
mov byte [eax + 0x526c34], 1
call fcn.005d2890
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
mov eax, dword [edi + 4]
mov ecx, edi
mov byte [eax + 0x526c34], 0
call fcn.005d2890
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x24]
mov ecx, dword [edi + 4]
add ecx, 0x513458
call fcn.004afba0
mov ecx, dword [edi + 4]
add ecx, 0x513490
call fcn.004afba0
xorps xmm1, xmm1
cmp byte [edi + 0x71], 0
jne 0x4d6ddb
cmp dword [0x782f60], 0
je 0x4d6d03
cmp byte [ebp - 0x931], 0
jne 0x4d6adc
cmp byte [ebp - 0x949], 0
jne 0x4d6d03
mov ecx, edi
call fcn.005d2840
movss xmm1, dword [0x67b0b0]
movss xmm0, dword [eax + 0x54]
subss xmm0, dword [edi + 0x1e94]
comiss xmm1, xmm0
jbe 0x4d6d03
mov ecx, edi
call fcn.005d2840
movss xmm1, dword [0x67b0b0]
movss xmm0, dword [eax + 0x54]
subss xmm0, dword [edi + 0x1e94]
addss xmm0, xmm0
comiss xmm1, xmm0
movss dword [ebp - 0x960], xmm0
jbe 0x4d6aec
movaps xmm1, xmm0
jmp 0x4d6af8
movss xmm0, dword [0x67b0b0]
movss dword [ebp - 0x960], xmm0
movss xmm1, dword [0x67b0b4]
subss xmm1, xmm0
addss xmm1, xmm1
comiss xmm1, dword [0x67b308]
movss dword [ebp - 0x954], xmm1
jbe 0x4d6d03
mov ecx, edi
call fcn.005d29b0
mov edi, eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0x70]
mov ecx, dword [ebp - 0x958]
call fcn.005d29b0
movaps xmm0, xmmword [0x6807a0]
sub esp, 0x10
movups xmmword [ebp - 0x97c], xmm0
mov eax, esp
mov ecx, edi
movss xmm0, dword [ebp - 0x954]
movss dword [ebp - 0x970], xmm0
movups xmm0, xmmword [ebp - 0x97c]
movups xmmword [eax], xmm0
call esi
mov ecx, dword [ebp - 0x958]
call fcn.005d29b0
mov edi, eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0x78]
mov ecx, dword [ebp - 0x958]
call fcn.005d29b0
movaps xmm0, xmmword [0x684470]
sub esp, 0x10
movups xmmword [ebp - 0x97c], xmm0
mov eax, esp
mov ecx, edi
movss xmm0, dword [ebp - 0x954]
mulss xmm0, dword [0x6806c8]
movss dword [ebp - 0x970], xmm0
movups xmm0, xmmword [ebp - 0x97c]
movups xmmword [eax], xmm0
call esi
mov esi, dword [ebp - 0x958]
mov ecx, esi
call fcn.005d29b0
push 0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 0x24]
mov ecx, eax
call edx
mov ecx, esi
call fcn.005d29b0
push 7
mov ecx, dword [eax]
mov edx, dword [ecx + 0x2c]
mov ecx, eax
call edx
mov ecx, esi
call fcn.005d29c0
mov edi, eax
mov dword [ebp - 0x28], 0xbf800000
mov word [ebp - 0x24], 0
mov byte [ebp - 0x22], 1
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x950]
mov esi, dword [0x734478]
mov ecx, dword [ebp - 0x958]
mov dword [ebp - 4], 0
cmp byte [eax], 0
cmovne esi, dword [0x73447c]
call fcn.005d29c0
mov ecx, eax
call fcn.00549340
movss xmm0, dword [ebp - 0x960]
lea ecx, [ebp - 0x28]
mulss xmm0, dword [0x67f058]
push ecx
push 0xa
push ecx
addss xmm0, dword [0x6b32d0]
mov ecx, edi
movss dword [esp], xmm0
push esi
push eax
call fcn.00544320
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
call fcn.00461ff0
mov ecx, dword [ebp - 0x958]
call fcn.005d29b0
mov edi, eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0x70]
mov ecx, dword [ebp - 0x958]
call fcn.005d29b0
movaps xmm0, xmmword [0x6807a0]
sub esp, 0x10
mov ecx, esp
movups xmmword [ecx], xmm0
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x958]
call fcn.005d29b0
mov edi, eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0x78]
mov ecx, dword [ebp - 0x958]
call fcn.005d29b0
movaps xmm0, xmmword [0x684470]
sub esp, 0x10
mov ecx, esp
movups xmmword [ecx], xmm0
mov ecx, edi
call esi
mov edi, dword [ebp - 0x958]
mov ecx, edi
call fcn.005d29b0
push 0
push 0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x24]
mov ecx, eax
call edx
mov ecx, edi
call fcn.005d29b0
push 0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x2c]
mov ecx, eax
call edx
cmp dword [0x782f5c], 0
je 0x4d6dd3
mov ecx, edi
call fcn.005d2840
movss xmm1, dword [0x67b0b4]
movss xmm0, dword [eax + 0x54]
subss xmm0, dword [edi + 0x1e98]
comiss xmm1, xmm0
jbe 0x4d6dd3
mov ecx, edi
call fcn.005d29c0
mov ecx, eax
call fcn.00549340
sub esp, 8
movups xmm0, xmmword [eax]
mov eax, dword [ebp - 0x950]
movups xmmword [ebp - 0x980], xmm0
movss xmm0, dword [eax + 4]
lea eax, [ebp - 0x24]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str._.2f
push 0x10
push eax
call fcn.00623dd0
add esp, 0x14
mov ecx, edi
call fcn.005d29b0
movups xmm1, xmmword [ebp - 0x980]
mov ecx, dword [eax]
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xff
shufps xmm1, xmm1, 0x55
addss xmm0, xmm1
mov edx, dword [ecx + 0x88]
push ecx
mov dword [esp], 0xbf800000
lea ecx, [ebp - 0x24]
push ecx
subss xmm0, dword [0x6ae84c]
sub esp, 0xc
mov ecx, eax
subss xmm0, dword [0x684630]
mov dword [esp + 8], 0x42700000
movss dword [esp + 4], xmm0
mov dword [esp], 0x42f00000
call edx
lea esi, [edi + 0x1e94]
jmp 0x4d6e0b
movss xmm0, dword [edi + 0x1e94]
lea esi, [edi + 0x1e94]
comiss xmm0, xmm1
jbe 0x4d6df4
mov dword [esi], 0
movss xmm0, dword [edi + 0x1e98]
comiss xmm0, xmm1
jbe 0x4d6e0b
mov dword [edi + 0x1e98], 0
mov eax, dword [ebp - 0x964]
cmp eax, dword [ebp - 0x95c]
jne 0x4d6e52
mov ecx, edi
call fcn.005d2890
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x24]
cmp byte [ebp - 0x931], 0
xorps xmm0, xmm0
movss dword [ebp - 0x940], xmm0
jne 0x4d6e47
mov ecx, edi
call fcn.005d2840
movss xmm0, dword [eax + 0x54]
movss dword [esi], xmm0
mov byte [ebp - 0x931], 0
cmp byte [edi + 0x71], 0
jne 0x4d6e82
movss xmm0, dword [ebp - 0x988]
sub esp, 8
mov ecx, edi
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x940]
movss dword [esp], xmm0
call fcn.004d2b60
jmp 0x4d8ec1
lea eax, [ebp - 0x8f0]
push eax
push 0
push ecx
lea ecx, [ebp - 0x900]
mov dword [esp], 0x428c0000
call fcn.0054a790
lea eax, [ebp - 0x8f0]
push eax
push 0
push ecx
mov ecx, eax
mov dword [esp], 0x42480000
call fcn.0054a9f0
push 0
lea eax, [ebp - 0x8f0]
push eax
push ecx
mov ecx, eax
mov dword [esp], 0x44160000
call fcn.0054a9f0
movups xmm1, xmmword [ebp - 0x8f0]
xor eax, eax
movss xmm2, dword [ebp - 0x8ec]
xorps xmm0, xmm0
addss xmm2, dword [edi + 0x1e90]
movups xmmword [ebp - 0x97c], xmm1
addss xmm1, dword [edi + 0x1e8c]
movss dword [ebp - 0x8ec], xmm2
comiss xmm1, xmm0
movss dword [ebp - 0x8f0], xmm1
jbe 0x4d6f19
comiss xmm2, xmm0
mov ecx, 1
cmova eax, ecx
movss xmm4, dword [ebp - 0x8f8]
subss xmm4, dword [ebp - 0x8e8]
comiss xmm4, xmm1
jbe 0x4d6f36
comiss xmm2, xmm0
jbe 0x4d6f36
or eax, 2
comiss xmm1, xmm0
movss xmm5, dword [ebp - 0x8e4]
movss xmm3, dword [ebp - 0x8f4]
jbe 0x4d6f5a
movaps xmm0, xmm3
subss xmm0, xmm5
comiss xmm0, xmm2
jbe 0x4d6f5a
or eax, 4
comiss xmm4, xmm1
jbe 0x4d6f6b
subss xmm3, xmm5
comiss xmm3, xmm2
jbe 0x4d6f6b
or eax, 8
movups xmm0, xmmword [0x73410c]
push ecx
mov dword [esp], 0x41200000
lea ecx, [ebp - 0x8f0]
push eax
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
call fcn.0054a6f0
movups xmm0, xmmword [ebp - 0x8f0]
lea eax, [ebp - 0x8f0]
push eax
push ecx
mov ecx, eax
mov dword [esp], 0x40a00000
movups xmmword [ebp - 0x920], xmm0
call fcn.0054a940
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8e0]
push eax
push ecx
lea ecx, [ebp - 0x8f0]
mov dword [esp], 0x41700000
call fcn.0054a890
lea eax, [ebp - 0x8c0]
push eax
push 0
push ecx
mov ecx, eax
mov dword [esp], 0x40a00000
call fcn.0054a890
lea eax, [ebp - 0x910]
push eax
lea eax, [ebp - 0x8c0]
push eax
push ecx
mov ecx, eax
mov dword [esp], 0x41a00000
call fcn.0054a790
lea eax, [ebp - 0x910]
push eax
push 0
push ecx
mov ecx, eax
mov dword [esp], 0x40800000
call fcn.0054a890
mov ecx, edi
call fcn.005d29c0
lea ecx, [ebp - 0x932]
push ecx
lea ecx, [ebp - 0x949]
push ecx
lea ecx, [ebp - 0x920]
push ecx
push 8
push 0x7466b8
mov ecx, eax
call fcn.005434f0
test eax, eax
je 0x4d728b
mov ecx, dword [0x7466b8]
test ecx, ecx
jne 0x4d708d
cmp eax, 1
jne 0x4d708d
mov ecx, edi
call fcn.005d29c0
mov ecx, 2
movss xmm0, dword [eax + 0x30]
movss xmm1, dword [eax + 0x34]
movss dword [0x7466bc], xmm0
movss dword [0x7466c0], xmm1
mov dword [0x7466b8], ecx
cmp byte [ebp - 0x949], 0
jne 0x4d7281
cmp byte [ebp - 0x932], 0
jne 0x4d7281
cmp ecx, 2
jne 0x4d7173
mov ecx, edi
call fcn.005d29c0
movss xmm1, dword [eax + 0x30]
movss xmm0, dword [eax + 0x34]
subss xmm0, dword [0x7466c0]
subss xmm1, dword [0x7466bc]
movss dword [ebp - 0x938], xmm0
mov ecx, dword [ebp - 0x938]
movss dword [ebp - 0x93c], xmm1
mov eax, dword [ebp - 0x93c]
mov dword [ebp - 0x93c], eax
mulss xmm1, dword [ebp - 0x93c]
mov dword [ebp - 0x938], ecx
mulss xmm0, dword [ebp - 0x938]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x4d711f
sqrtsd xmm0, xmm0
jmp 0x4d7124
call fcn.00649080
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x67ed48]
jbe 0x4d716d
movss xmm0, dword [0x7466bc]
mov dword [0x7466b8], 1
subss xmm0, dword [edi + 0x1e8c]
movss dword [0x7466bc], xmm0
movss xmm0, dword [0x7466c0]
subss xmm0, dword [edi + 0x1e90]
movss dword [0x7466c0], xmm0
jmp 0x4d717c
mov ecx, dword [0x7466b8]
cmp ecx, 1
jne 0x4d728b
mov ecx, edi
call fcn.005d29c0
movss xmm2, dword [ebp - 0x8f8]
subss xmm2, dword [ebp - 0x918]
movss xmm0, dword [eax + 0x30]
movss xmm1, dword [eax + 0x34]
subss xmm1, dword [0x7466c0]
subss xmm0, dword [0x7466bc]
movss dword [ebp - 0x938], xmm1
mov ecx, dword [ebp - 0x938]
movss xmm1, dword [ebp - 0x97c]
movss dword [ebp - 0x93c], xmm0
subss xmm2, xmm1
mov eax, dword [ebp - 0x93c]
xorps xmm1, xmmword [0x67b120]
mov dword [edi + 0x1e8c], eax
lea eax, [edi + 0x1e8c]
mov dword [edi + 0x1e90], ecx
lea ecx, [ebp - 0x938]
movss xmm0, dword [eax]
comiss xmm1, xmm0
movss dword [ebp - 0x944], xmm2
movss dword [ebp - 0x938], xmm1
movss xmm1, dword [ebp - 0x978]
cmovbe ecx, eax
comiss xmm0, xmm2
lea eax, [ebp - 0x944]
movss xmm2, dword [ebp - 0x8f4]
subss xmm2, dword [ebp - 0x914]
cmovbe eax, ecx
lea ecx, [ebp - 0x938]
mov eax, dword [eax]
subss xmm2, xmm1
xorps xmm1, xmmword [0x67b120]
mov dword [edi + 0x1e8c], eax
lea eax, [edi + 0x1e90]
movss xmm0, dword [eax]
comiss xmm1, xmm0
movss dword [ebp - 0x944], xmm2
movss dword [ebp - 0x938], xmm1
cmovbe ecx, eax
lea eax, [ebp - 0x944]
comiss xmm0, xmm2
cmovbe eax, ecx
mov eax, dword [eax]
mov dword [edi + 0x1e90], eax
jmp 0x4d728b
mov dword [0x7466b8], 0
movaps xmm0, xmmword [0x6b0420]
push ecx
mov dword [esp], 0x40a00000
lea ecx, [ebp - 0x8e0]
push 0xf
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
call fcn.0054a6f0
movd xmm1, dword [ebp - 0x964]
movd xmm0, dword [ebp - 0x95c]
cvtdq2ps xmm0, xmm0
push ecx
mov dword [esp], 0x40a00000
lea ecx, [ebp - 0x24]
push 0xf
sub esp, 0x10
cvtdq2ps xmm1, xmm1
mov eax, esp
divss xmm1, xmm0
movups xmm0, xmmword [ebp - 0x8e0]
movups xmmword [ebp - 0x24], xmm0
shufps xmm0, xmm0, 0xaa
subss xmm0, dword [0x6806f4]
mulss xmm0, xmm1
addss xmm0, dword [0x6806f4]
movss dword [ebp - 0x1c], xmm0
movaps xmm0, xmmword [0x6acfb0]
movups xmmword [eax], xmm0
call fcn.0054a6f0
mov esi, dword [0x782f54]
cmp esi, 0xffffffff
je 0x4d747e
mov edx, dword [0x782f58]
cmp edx, 0xffffffff
je 0x4d747e
mov eax, dword [ebp - 0x950]
mov ecx, edi
movd xmm1, dword [ebp - 0x95c]
cvtdq2ps xmm1, xmm1
sub esi, dword [eax + 8]
sub edx, dword [eax + 8]
movd xmm3, esi
movd xmm0, edx
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm0, xmm0
divss xmm3, xmm1
divss xmm0, xmm1
movss xmm1, dword [ebp - 0x8d8]
subss xmm1, dword [0x6806f4]
movss dword [ebp - 0x938], xmm3
movaps xmm2, xmm1
mulss xmm1, xmm3
mulss xmm2, xmm0
subss xmm2, xmm1
movss dword [ebp - 0x944], xmm2
call fcn.005d28e0
push 0xffffffffffffffff
mov ecx, dword [eax]
mov edx, dword [ecx + 0xa8]
mov ecx, eax
call edx
mov ecx, edi
call fcn.005d28e0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x12c]
mov ecx, edi
call fcn.005d28e0
sub esp, 0x10
mov ecx, dword [eax]
mov dword [esp + 0xc], 0x3e800000
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov edx, dword [ecx + 0x1c4]
mov ecx, eax
mov dword [esp], 0x3f800000
call edx
movss xmm1, dword [ebp - 0x8d8]
mov ecx, edi
subss xmm1, dword [0x6806f4]
movss xmm0, dword [ebp - 0x8e0]
addss xmm0, dword [0x6806f4]
mulss xmm1, dword [ebp - 0x938]
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x8dc]
movss dword [ebp - 0x978], xmm0
movss xmm0, dword [ebp - 0x944]
movss dword [ebp - 0x974], xmm0
movss xmm0, dword [ebp - 0x8d4]
movss dword [ebp - 0x97c], xmm1
movss dword [ebp - 0x970], xmm0
call fcn.005d28e0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 0x15c]
lea ecx, [ebp - 0x97c]
push ecx
mov ecx, eax
call edx
mov ecx, edi
call fcn.005d28e0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x130]
mov esi, dword [0x782f54]
mov ecx, dword [ebp - 0x950]
mov dword [ebp - 0x954], 0
cmp dword [ecx + 0x14], 0
jle 0x4d7609
mov esi, 0x18
nop dword [eax]
mov eax, dword [esi + ecx]
sub eax, dword [ecx + 8]
mov ecx, edi
movd xmm0, dword [ebp - 0x95c]
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
divss xmm1, xmm0
movss dword [ebp - 0x938], xmm1
call fcn.005d28e0
push 0xffffffffffffffff
mov ecx, dword [eax]
mov edx, dword [ecx + 0xa8]
mov ecx, eax
call edx
mov ecx, edi
call fcn.005d28e0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x12c]
mov ecx, edi
call fcn.005d28e0
sub esp, 0x10
mov ecx, dword [eax]
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov edx, dword [ecx + 0x1c4]
mov ecx, eax
mov dword [esp], 0x3f800000
call edx
movss xmm1, dword [ebp - 0x8d8]
mov ecx, edi
subss xmm1, dword [0x6806f4]
movss xmm0, dword [ebp - 0x8e0]
addss xmm0, dword [0x6806f4]
mulss xmm1, dword [ebp - 0x938]
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x8dc]
movss dword [ebp - 0x944], xmm0
movss dword [ebp - 0x938], xmm1
call fcn.005d29c0
mov ecx, eax
call fcn.00546590
movss xmm0, dword [ebp - 0x938]
mov ecx, edi
movss dword [ebp - 0x97c], xmm0
movss xmm0, dword [ebp - 0x944]
movss dword [ebp - 0x978], xmm0
fstp dword [ebp - 0x948]
movss xmm0, dword [ebp - 0x948]
movss dword [ebp - 0x974], xmm0
movss xmm0, dword [ebp - 0x8d4]
movss dword [ebp - 0x970], xmm0
call fcn.005d28e0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 0x15c]
lea ecx, [ebp - 0x97c]
push ecx
mov ecx, eax
call edx
mov ecx, edi
call fcn.005d28e0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x130]
mov eax, dword [ebp - 0x954]
add esi, 4
mov ecx, dword [ebp - 0x950]
inc eax
mov dword [ebp - 0x954], eax
cmp eax, dword [ecx + 0x14]
jl 0x4d74a0
mov esi, dword [0x782f54]
cmp esi, 0xffffffff
je 0x4d7759
sub esi, dword [ecx + 8]
mov ecx, edi
movd xmm0, dword [ebp - 0x95c]
cvtdq2ps xmm0, xmm0
movd xmm1, esi
cvtdq2ps xmm1, xmm1
divss xmm1, xmm0
movss dword [ebp - 0x938], xmm1
call fcn.005d28e0
push 0xffffffffffffffff
mov ecx, dword [eax]
mov edx, dword [ecx + 0xa8]
mov ecx, eax
call edx
mov ecx, edi
call fcn.005d28e0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x12c]
mov ecx, edi
call fcn.005d28e0
sub esp, 0x10
mov ecx, dword [eax]
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov edx, dword [ecx + 0x1c4]
mov ecx, eax
mov dword [esp], 0x3f800000
call edx
movss xmm1, dword [ebp - 0x8d8]
mov ecx, edi
subss xmm1, dword [0x6806f4]
movss xmm0, dword [ebp - 0x8e0]
addss xmm0, dword [0x6806f4]
mulss xmm1, dword [ebp - 0x938]
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x8dc]
movss dword [ebp - 0x944], xmm0
movss dword [ebp - 0x938], xmm1
call fcn.005d29c0
mov ecx, eax
call fcn.00546590
movss xmm0, dword [ebp - 0x938]
mov ecx, edi
movss dword [ebp - 0x97c], xmm0
movss xmm0, dword [ebp - 0x944]
movss dword [ebp - 0x978], xmm0
fstp dword [ebp - 0x948]
movss xmm0, dword [ebp - 0x948]
movss dword [ebp - 0x974], xmm0
movss xmm0, dword [ebp - 0x8d4]
movss dword [ebp - 0x970], xmm0
call fcn.005d28e0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 0x15c]
lea ecx, [ebp - 0x97c]
push ecx
mov ecx, eax
call edx
mov ecx, edi
call fcn.005d28e0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x130]
mov ecx, dword [ebp - 0x950]
mov edx, dword [0x782f58]
cmp edx, 0xffffffff
je 0x4d78a9
sub edx, dword [ecx + 8]
mov ecx, edi
movd xmm0, dword [ebp - 0x95c]
cvtdq2ps xmm0, xmm0
movd xmm1, edx
cvtdq2ps xmm1, xmm1
divss xmm1, xmm0
movss dword [ebp - 0x938], xmm1
call fcn.005d28e0
push 0xffffffffffffffff
mov ecx, dword [eax]
mov edx, dword [ecx + 0xa8]
mov ecx, eax
call edx
mov ecx, edi
call fcn.005d28e0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x12c]
mov ecx, edi
call fcn.005d28e0
sub esp, 0x10
mov ecx, dword [eax]
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov edx, dword [ecx + 0x1c4]
mov ecx, eax
mov dword [esp], 0x3f800000
call edx
movss xmm1, dword [ebp - 0x8d8]
mov ecx, edi
subss xmm1, dword [0x6806f4]
movss xmm0, dword [ebp - 0x8e0]
addss xmm0, dword [0x6806f4]
mulss xmm1, dword [ebp - 0x938]
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x8dc]
movss dword [ebp - 0x944], xmm0
movss dword [ebp - 0x938], xmm1
call fcn.005d29c0
mov ecx, eax
call fcn.00546590
movss xmm0, dword [ebp - 0x938]
mov ecx, edi
movss dword [ebp - 0x97c], xmm0
movss xmm0, dword [ebp - 0x944]
movss dword [ebp - 0x978], xmm0
fstp dword [ebp - 0x948]
movss xmm0, dword [ebp - 0x948]
movss dword [ebp - 0x974], xmm0
movss xmm0, dword [ebp - 0x8d4]
movss dword [ebp - 0x970], xmm0
call fcn.005d28e0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 0x15c]
lea ecx, [ebp - 0x97c]
push ecx
mov ecx, eax
call edx
mov ecx, edi
call fcn.005d28e0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x130]
mov ecx, edi
call fcn.005d2840
push 0x20
lea eax, [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x964]
push 1
push 0
cdq
push 0x32
push edx
push eax
call fcn.00632e60
push 0
push 0x64
push edx
push eax
call fcn.00632ff0
push edx
push eax
call fcn.00624350
add esp, 0x14
mov ecx, edi
call fcn.005d2840
push 0x20
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x95c]
push 1
push 0
cdq
push 0x32
push edx
push eax
call fcn.00632e60
push 0
push 0x64
push edx
push eax
call fcn.00632ff0
push edx
push eax
call fcn.00624350
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x48]
push eax
push 0x6b2dd4
lea eax, [ebp - 0x230]
push pe_nt_image_headers32
push eax
call fcn.00623dd0
add esp, 0x28
mov ecx, edi
call fcn.005d29c0
mov dword [ebp - 0x980], 0xbf800000
mov word [ebp - 0x97c], 0
mov byte [ebp - 0x97a], 1
mov dword [ebp - 0x978], 0
mov dword [ebp - 0x974], 0
mov dword [ebp - 0x970], 0
movss xmm0, dword [ebp - 0x8d4]
lea ecx, [ebp - 0x980]
mulss xmm0, dword [0x684604]
push ecx
push 0xa
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x230]
push ecx
lea ecx, [ebp - 0x8e0]
mov dword [ebp - 4], 1
push ecx
mov ecx, eax
call fcn.00544320
lea ecx, [ebp - 0x978]
mov dword [ebp - 4], 0xffffffff
call fcn.00461ff0
mov ecx, edi
call fcn.005d29c0
lea ecx, [ebp - 0x8e0]
push ecx
mov ecx, eax
call fcn.005462a0
mov ecx, edi
mov byte [ebp - 0x932], al
call fcn.005d29c0
mov ecx, edi
cmp dword [eax + 8], 0x7466c4
jne 0x4d7b4e
mov byte [eax + 0x1c], 1
call fcn.005d29c0
mov ecx, edi
test byte [eax + 0x48], 1
jne 0x4d7a16
call fcn.005d29c0
mov byte [eax + 0x1c], 1
mov dword [eax + 8], 0
jmp 0x4d7c66
mov dword [ebp - 0x948], 0x3f800000
mov dword [ebp - 0x938], 0
call fcn.005d29c0
movss xmm0, dword [ebp - 0x8d8]
lea ecx, [ebp - 0x944]
subss xmm0, dword [0x6806f4]
lea esi, [ebp - 0x948]
movss xmm1, dword [eax + 0x30]
lea eax, [ebp - 0x938]
subss xmm1, dword [ebp - 0x8e0]
subss xmm1, dword [0x67ed48]
divss xmm1, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm1
movss dword [ebp - 0x944], xmm1
cmovbe eax, ecx
mov ecx, edi
comiss xmm1, dword [0x67b0b4]
cmovbe esi, eax
call fcn.005d2900
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
test al, al
je 0x4d7af7
movss xmm2, dword [0x7466c8]
xorps xmm1, xmm1
movss xmm0, dword [esi]
subss xmm0, xmm2
mulss xmm0, dword [0x6806c0]
addss xmm0, xmm2
comiss xmm0, xmm1
jb 0x4d7c66
movss xmm1, dword [0x67b0b4]
comiss xmm1, xmm0
jb 0x4d7c66
subss xmm2, xmm0
andps xmm2, xmmword [0x67ed80]
comiss xmm2, dword [0x6845f4]
jb 0x4d7c66
movss dword [ebp - 0x940], xmm0
jmp 0x4d7c66
movss xmm1, dword [esi]
comiss xmm1, dword [0x67b308]
jb 0x4d7c66
movss xmm0, dword [0x67b0b4]
comiss xmm0, xmm1
jb 0x4d7c66
movss xmm0, dword [0x7466c8]
subss xmm0, xmm1
andps xmm0, xmmword [0x67ed80]
comiss xmm0, dword [0x6ab798]
jb 0x4d7c66
movss dword [0x7466c8], xmm1
movss dword [ebp - 0x940], xmm1
jmp 0x4d7c66
call fcn.005d29c0
cmp dword [eax + 4], 0x7466c4
jne 0x4d7c66
mov ecx, edi
call fcn.005d29c0
mov ecx, edi
test byte [eax + 0x48], 1
je 0x4d7b8b
call fcn.005d29c0
mov byte [eax + 0x1c], 1
mov dword [eax + 8], 0x7466c4
mov dword [eax + 0xc], 0x7466c4
jmp 0x4d7c66
mov dword [ebp - 0x948], 0x3f800000
mov dword [ebp - 0x938], 0
call fcn.005d29c0
movss xmm0, dword [ebp - 0x8d8]
lea ecx, [ebp - 0x938]
subss xmm0, dword [0x6806f4]
movss xmm1, dword [eax + 0x30]
lea eax, [ebp - 0x944]
subss xmm1, dword [ebp - 0x8e0]
subss xmm1, dword [0x67ed48]
divss xmm1, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm1
movd xmm0, dword [ebp - 0x95c]
cvtdq2ps xmm0, xmm0
cmovbe ecx, eax
lea eax, [ebp - 0x948]
movss dword [ebp - 0x944], xmm1
comiss xmm1, dword [0x67b0b4]
cmovbe eax, ecx
mov ecx, edi
mulss xmm0, dword [eax]
cvttss2si esi, xmm0
call fcn.005d2840
push 0x20
push 0x7466cc
push 1
push 0
mov eax, esi
cdq
push 0x32
push edx
push eax
call fcn.00632e60
push 0
push 0x64
push edx
push eax
call fcn.00632ff0
push edx
push eax
call fcn.00624350
mov ecx, dword [edi + 4]
lea eax, [ebp - 0x8e0]
add esp, 0x10
add ecx, 0x525f80
mov dword [esp], 0xbf800000
push 0x7466cc
push eax
push 0x7466c4
call fcn.00518dc0
cmp byte [ebp - 0x932], 0
je 0x4d7c7d
mov ecx, edi
call fcn.005d29c0
mov dword [eax + 0x10], 0x7466c4
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8d0]
push eax
push ecx
lea ecx, [ebp - 0x8c0]
mov dword [esp], 0x41a00000
call fcn.0054a9f0
mov ecx, dword [0x73447c]
lea eax, [ebp - 0x8d0]
push 1
push 0xf
push eax
mov eax, dword [ebp - 0x950]
push 0
cmp byte [eax], 0
cmovne ecx, dword [0x734478]
push ecx
push 0x7466ec
mov ecx, edi
call fcn.004d26a0
test eax, eax
je 0x4d7d1b
mov eax, dword [ebp - 0x950]
mov ecx, edi
cmp byte [eax], 0
je 0x4d7ced
call fcn.005d2890
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x28]
jmp 0x4d7cf9
call fcn.005d2890
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x24]
cmp byte [ebp - 0x931], 0
je 0x4d7d07
xorps xmm0, xmm0
jmp 0x4d7d13
mov ecx, edi
call fcn.005d2840
movss xmm0, dword [eax + 0x54]
movss dword [edi + 0x1e94], xmm0
mov eax, dword [ebp - 0x950]
mov edx, str.Play_the_current_demo
mov esi, dword [edi + 4]
mov ecx, str.Pause_the_current_demo
push 0x67a95c
cmp byte [eax], 0
cmovne ecx, edx
push ecx
call fcn.0062fa30
add esp, 4
lea ecx, [esi + 0x525f80]
mov dword [esp], 0xbf800000
push eax
lea eax, [ebp - 0x8d0]
push eax
push 0x7466ec
call fcn.00518dc0
lea eax, [ebp - 0x8c0]
push eax
push 0
push ecx
mov ecx, eax
mov dword [esp], 0x40a00000
call fcn.0054a9f0
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8d0]
push eax
push ecx
lea ecx, [ebp - 0x8c0]
mov dword [esp], 0x41a00000
call fcn.0054a9f0
push 1
push 0xf
lea eax, [ebp - 0x8d0]
mov ecx, edi
push eax
push 0
push dword [0x734480]
push 0x7466ed
call fcn.004d26a0
test eax, eax
je 0x4d7dd6
mov ecx, edi
call fcn.005d2890
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x24]
xorps xmm0, xmm0
movss dword [ebp - 0x940], xmm0
mov esi, dword [edi + 4]
push 0x67a95c
push str.Stop_the_current_demo
call fcn.0062fa30
add esp, 4
lea ecx, [esi + 0x525f80]
mov dword [esp], 0xbf800000
push eax
lea eax, [ebp - 0x8d0]
push eax
push 0x7466ed
call fcn.00518dc0
lea eax, [ebp - 0x8c0]
push eax
push 0
push ecx
mov ecx, eax
mov dword [esp], 0x41700000
call fcn.0054a9f0
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8d0]
push eax
push ecx
lea ecx, [ebp - 0x8c0]
mov dword [esp], 0x41a00000
call fcn.0054a9f0
push 1
push 0xf
lea eax, [ebp - 0x8d0]
mov ecx, edi
push eax
push 0
push dword [0x73448c]
push 0x7466ee
call fcn.004d26a0
test eax, eax
je 0x4d7e83
mov eax, dword [0x7344e0]
mov eax, dword [eax*4 + 0x6b2db0]
neg eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x988], xmm0
mov esi, dword [edi + 4]
push 0x67a95c
push str.Go_back_the_specified_duration
call fcn.0062fa30
add esp, 4
lea ecx, [esi + 0x525f80]
mov dword [esp], 0xbf800000
push eax
lea eax, [ebp - 0x8d0]
push eax
push 0x7466ee
call fcn.00518dc0
mov esi, dword [ebp - 0x98c]
cmp esi, 2
jl 0x4d82f7
lea eax, [ebp - 0x8c0]
push eax
push 0
push ecx
mov ecx, eax
mov dword [esp], 0x40a00000
call fcn.0054a9f0
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8d0]
push eax
push ecx
lea ecx, [ebp - 0x8c0]
mov dword [esp], 0x42a00000
call fcn.0054a9f0
mov ecx, dword [0x786af0]
mov eax, dword fs:[0x2c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x984], eax
mov ecx, eax
mov eax, dword [0x7466fc]
cmp eax, dword [ecx + 0xc]
jg 0x4d8ee1
jmp 0x4d7f2f
mov ecx, dword [ebp - 0x984]
mov eax, dword [0x74670c]
cmp eax, dword [ecx + 0xc]
jg 0x4d8f17
mov ecx, dword [0x7466f4]
mov eax, 0x2aaaaaab
sub ecx, dword [0x7466f0]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x938], eax
cmp esi, eax
jae 0x4d7f92
mov ecx, dword [0x7466f0]
lea eax, [esi + esi*2]
push 0x7466f0
lea esi, [ecx + eax*8]
mov eax, dword [0x7466f4]
push eax
push esi
call fcn.00422890
mov dword [0x7466f4], esi
mov esi, dword [ebp - 0x98c]
jmp 0x4d7fe7
jbe 0x4d7fea
mov ecx, dword [0x7466f8]
mov eax, 0x2aaaaaab
sub ecx, dword [0x7466f0]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jbe 0x4d7fc9
lea eax, [ebp - 0x932]
mov ecx, 0x7466f0
push eax
push esi
call fcn.004d19b0
jmp 0x4d7fea
mov eax, esi
sub eax, dword [ebp - 0x938]
push 0x7466f0
push eax
mov eax, dword [0x7466f4]
push eax
call fcn.004d1bd0
mov dword [0x7466f4], eax
add esp, 0xc
mov ecx, dword [0x746704]
mov edx, dword [0x746700]
sub ecx, edx
sar ecx, 2
cmp esi, ecx
jae 0x4d8009
lea eax, [edx + esi*4]
mov dword [0x746704], eax
jmp 0x4d804f
jbe 0x4d804f
mov eax, dword [0x746708]
sub eax, edx
sar eax, 2
cmp esi, eax
jbe 0x4d802d
lea eax, [ebp - 0x932]
mov ecx, 0x746700
push eax
push esi
call fcn.0046e0d0
jmp 0x4d804f
mov eax, esi
sub eax, ecx
mov ecx, dword [0x746704]
shl eax, 2
push eax
push 0
push ecx
lea esi, [eax + ecx]
call fcn.00634760
add esp, 0xc
mov dword [0x746704], esi
xor edx, edx
mov dword [ebp - 0x938], edx
mov dword [ebp - 0x954], edx
nop dword [eax]
mov esi, dword [edx*4 + 0x6b2db0]
cmp esi, 0x3c
jl 0x4d8086
mov eax, 0x88888889
imul esi
mov eax, str._d_min.
add edx, esi
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
jmp 0x4d808b
mov eax, str._d_sec.
push str.Demo_player_duration
push eax
call fcn.0062fa30
push esi
push eax
lea eax, [ebp - 0x1b0]
push 0x100
push eax
call fcn.00623dd0
mov ecx, dword [ebp - 0x954]
lea esi, [ebp - 0x1b0]
add esp, 0x18
lea edx, [esi + 1]
add ecx, dword [0x7466f0]
mov dword [ebp - 0x960], ecx
mov al, byte [esi]
inc esi
test al, al
jne 0x4d80c7
mov eax, dword [ecx + 0x14]
sub esi, edx
mov dword [ebp - 0x984], eax
cmp esi, eax
ja 0x4d8115
mov dword [ebp - 0x960], ecx
mov edx, ecx
cmp eax, 0xf
jbe 0x4d80f2
mov edx, dword [ecx]
mov dword [ebp - 0x960], edx
push esi
lea eax, [ebp - 0x1b0]
mov dword [ecx + 0x10], esi
push eax
push edx
call fcn.006341e0
mov eax, dword [ebp - 0x960]
add esp, 0xc
mov byte [eax + esi], 0
jmp 0x4d820a
cmp esi, 0x7fffffff
ja 0x4d9004
mov edx, esi
or edx, 0xf
cmp edx, 0x7fffffff
jbe 0x4d8135
mov edx, bind
jmp 0x4d816e
mov edi, dword [ebp - 0x958]
shr eax, 1
mov dword [ebp - 0x948], eax
mov eax, bind
sub eax, dword [ebp - 0x948]
cmp dword [ebp - 0x984], eax
jbe 0x4d815d
mov edx, bind
jmp 0x4d816e
mov eax, dword [ebp - 0x984]
add eax, dword [ebp - 0x948]
cmp edx, eax
cmovb edx, eax
lea eax, [ebp - 0x948]
mov dword [ebp - 0x948], edx
push eax
push ecx
call fcn.004169c0
mov ecx, dword [ebp - 0x948]
mov edx, eax
mov eax, dword [ebp - 0x960]
push esi
mov dword [ebp - 0x944], edx
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], ecx
lea eax, [ebp - 0x1b0]
push eax
push edx
call fcn.006341e0
mov ecx, dword [ebp - 0x944]
add esp, 0x14
mov eax, dword [ebp - 0x984]
mov byte [ecx + esi], 0
mov esi, dword [ebp - 0x960]
cmp eax, 0xf
jbe 0x4d8208
mov ecx, dword [esi]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x4d81f4
mov eax, dword [ecx - 4]
add edx, 0x23
sub ecx, eax
mov dword [ebp - 0x948], eax
lea eax, [ecx - 4]
cmp eax, 0x1f
ja 0x4d9009
mov ecx, dword [ebp - 0x948]
push edx
push ecx
call fcn.00632721
mov eax, dword [ebp - 0x944]
add esp, 8
mov dword [esi], eax
jmp 0x4d820a
mov dword [esi], ecx
mov ecx, dword [0x7466f0]
mov esi, dword [ebp - 0x954]
add ecx, esi
cmp dword [ecx + 0x14], 0xf
jbe 0x4d8220
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x938]
add esi, 0x18
mov eax, dword [0x746700]
mov dword [ebp - 0x954], esi
mov esi, dword [ebp - 0x98c]
mov dword [eax + edx*4], ecx
inc edx
mov dword [ebp - 0x938], edx
cmp edx, esi
jl 0x4d8060
mov ecx, dword [0x786af0]
mov eax, dword fs:[0x2c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x954], eax
mov ecx, eax
mov eax, dword [0x74688c]
cmp eax, dword [ecx + 0xc]
jg 0x4d8f4d
jmp 0x4d827c
mov ecx, dword [ebp - 0x954]
mov eax, dword [0x746968]
cmp eax, dword [ecx + 0xc]
jg 0x4d8fc0
mov ecx, edi
mov dword [0x746714], 0x746890
call fcn.005d29c0
push 0x746710
push esi
push dword [0x746700]
lea ecx, [ebp - 0x8d0]
push dword [0x7344e0]
push ecx
mov ecx, eax
call fcn.00543640
mov esi, dword [edi + 4]
push 0x67a95c
push str.Change_the_skip_duration
mov dword [0x7344e0], eax
call fcn.0062fa30
add esp, 4
lea ecx, [esi + 0x525f80]
mov dword [esp], 0xbf800000
push eax
lea eax, [ebp - 0x8d0]
push eax
push 0x746888
call fcn.00518dc0
lea eax, [ebp - 0x8c0]
push eax
push 0
push ecx
mov ecx, eax
mov dword [esp], 0x40a00000
call fcn.0054a9f0
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8d0]
push eax
push ecx
lea ecx, [ebp - 0x8c0]
mov dword [esp], 0x41a00000
call fcn.0054a9f0
push 1
push 0xf
lea eax, [ebp - 0x8d0]
mov ecx, edi
push eax
push 0
push dword [0x734490]
push 0x74696c
call fcn.004d26a0
test eax, eax
je 0x4d836c
mov eax, dword [0x7344e0]
movd xmm0, dword [eax*4 + 0x6b2db0]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x988], xmm0
mov esi, dword [edi + 4]
push 0x67a95c
push str.Go_forward_the_specified_duration
call fcn.0062fa30
add esp, 4
lea ecx, [esi + 0x525f80]
mov dword [esp], 0xbf800000
push eax
lea eax, [ebp - 0x8d0]
push eax
push 0x74696c
call fcn.00518dc0
lea eax, [ebp - 0x8c0]
push eax
push 0
push ecx
mov ecx, eax
mov dword [esp], 0x41700000
call fcn.0054a9f0
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8d0]
push eax
push ecx
lea ecx, [ebp - 0x8c0]
mov dword [esp], 0x41a00000
call fcn.0054a9f0
push 1
push 0xf
lea eax, [ebp - 0x8d0]
mov ecx, edi
push eax
push 0
push dword [0x7344a0]
push 0x74696d
call fcn.004d26a0
test eax, eax
je 0x4d844c
mov eax, dword [edi + 4]
mov ecx, edi
mov byte [eax + 0x526c34], 1
call fcn.005d2890
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
mov eax, dword [edi + 4]
mov ecx, edi
mov byte [eax + 0x526c34], 0
call fcn.005d2890
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x24]
mov ecx, dword [edi + 4]
add ecx, 0x513458
call fcn.004afba0
mov ecx, dword [edi + 4]
add ecx, 0x513490
call fcn.004afba0
mov esi, dword [edi + 4]
push 0x67a95c
push str.Go_back_one_tick
call fcn.0062fa30
add esp, 4
lea ecx, [esi + 0x525f80]
mov dword [esp], 0xbf800000
push eax
lea eax, [ebp - 0x8d0]
push eax
push 0x74696d
call fcn.00518dc0
lea eax, [ebp - 0x8c0]
push eax
push 0
push ecx
mov ecx, eax
mov dword [esp], 0x40a00000
call fcn.0054a9f0
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8d0]
push eax
push ecx
lea ecx, [ebp - 0x8c0]
mov dword [esp], 0x41a00000
call fcn.0054a9f0
push 1
push 0xf
lea eax, [ebp - 0x8d0]
mov ecx, edi
push eax
push 0
push dword [0x7344a4]
push 0x74696e
call fcn.004d26a0
test eax, eax
je 0x4d852c
mov eax, dword [edi + 4]
mov ecx, edi
mov byte [eax + 0x526c34], 1
call fcn.005d2890
push 2
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
mov eax, dword [edi + 4]
mov ecx, edi
mov byte [eax + 0x526c34], 0
call fcn.005d2890
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x24]
mov ecx, dword [edi + 4]
add ecx, 0x513458
call fcn.004afba0
mov ecx, dword [edi + 4]
add ecx, 0x513490
call fcn.004afba0
mov esi, dword [edi + 4]
push 0x67a95c
push str.Go_forward_one_tick
call fcn.0062fa30
add esp, 4
lea ecx, [esi + 0x525f80]
mov dword [esp], 0xbf800000
push eax
lea eax, [ebp - 0x8d0]
push eax
push 0x74696e
call fcn.00518dc0
lea eax, [ebp - 0x8c0]
push eax
push 0
push ecx
mov ecx, eax
mov dword [esp], 0x41700000
call fcn.0054a9f0
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8d0]
push eax
push ecx
lea ecx, [ebp - 0x8c0]
mov dword [esp], 0x41a00000
call fcn.0054a9f0
push 1
push 0xf
lea eax, [ebp - 0x8d0]
mov ecx, edi
push eax
push 0
push dword [0x7344a8]
push 0x74696f
call fcn.004d26a0
test eax, eax
je 0x4d85dd
lea ecx, [ebp - 0x9b8]
call fcn.004d1f30
fstp dword [ebp - 0x940]
movss xmm0, dword [ebp - 0x940]
movss dword [ebp - 0x940], xmm0
mov esi, dword [edi + 4]
push 0x67a95c
push str.Go_back_one_marker
call fcn.0062fa30
add esp, 4
lea ecx, [esi + 0x525f80]
mov dword [esp], 0xbf800000
push eax
lea eax, [ebp - 0x8d0]
push eax
push 0x74696f
call fcn.00518dc0
lea eax, [ebp - 0x8c0]
push eax
push 0
push ecx
mov ecx, eax
mov dword [esp], 0x40a00000
call fcn.0054a9f0
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8d0]
push eax
push ecx
lea ecx, [ebp - 0x8c0]
mov dword [esp], 0x41a00000
call fcn.0054a9f0
push 1
push 0xf
lea eax, [ebp - 0x8d0]
mov ecx, edi
push eax
push 0
push dword [0x7344ac]
push 0x746970
call fcn.004d26a0
test eax, eax
je 0x4d868e
lea ecx, [ebp - 0x9c8]
call fcn.004d1fc0
fstp dword [ebp - 0x940]
movss xmm0, dword [ebp - 0x940]
movss dword [ebp - 0x940], xmm0
mov esi, dword [edi + 4]
push 0x67a95c
push str.Go_forward_one_marker
call fcn.0062fa30
add esp, 4
lea ecx, [esi + 0x525f80]
mov dword [esp], 0xbf800000
push eax
lea eax, [ebp - 0x8d0]
push eax
push 0x746970
call fcn.00518dc0
lea eax, [ebp - 0x8c0]
push eax
push 0
push ecx
mov ecx, eax
mov dword [esp], 0x41700000
call fcn.0054a9f0
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8d0]
push eax
push ecx
lea ecx, [ebp - 0x8c0]
mov dword [esp], 0x41a00000
call fcn.0054a9f0
push 1
push 0xf
lea eax, [ebp - 0x8d0]
mov ecx, edi
push eax
push 0
push dword [0x734488]
push 0x746971
call fcn.004d26a0
mov esi, dword [edi + 4]
push 0x67a95c
push str.Slow_down_the_demo
mov dword [ebp - 0x954], eax
call fcn.0062fa30
add esp, 4
lea ecx, [esi + 0x525f80]
mov dword [esp], 0xbf800000
push eax
lea eax, [ebp - 0x8d0]
push eax
push 0x746971
call fcn.00518dc0
lea eax, [ebp - 0x8c0]
push eax
push 0
push ecx
mov ecx, eax
mov dword [esp], 0x40a00000
call fcn.0054a9f0
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8d0]
push eax
push ecx
lea ecx, [ebp - 0x8c0]
mov dword [esp], 0x41a00000
call fcn.0054a9f0
push 1
push 0xf
lea eax, [ebp - 0x8d0]
mov ecx, edi
push eax
push 0
push dword [0x734484]
push 0x746972
call fcn.004d26a0
mov esi, dword [edi + 4]
push 0x67a95c
push str.Speed_up_the_demo
mov dword [ebp - 0x948], eax
call fcn.0062fa30
add esp, 4
mov dword [esp], 0xbf800000
push eax
lea eax, [ebp - 0x8d0]
push eax
push 0x746972
lea ecx, [esi + 0x525f80]
call fcn.00518dc0
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x930]
push eax
push ecx
lea ecx, [ebp - 0x8c0]
mov dword [esp], 0x42700000
call fcn.0054a9f0
mov eax, dword [ebp - 0x950]
sub esp, 8
movss xmm0, dword [eax + 4]
lea eax, [ebp - 0xb0]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0x6b2f28
push 0x40
push eax
call fcn.00623dd0
add esp, 0x14
mov ecx, edi
call fcn.005d29c0
mov dword [ebp - 0x28], 0xbf800000
mov word [ebp - 0x24], 0
mov byte [ebp - 0x22], 1
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
movss xmm0, dword [ebp - 0x8c4]
lea ecx, [ebp - 0x28]
mulss xmm0, dword [0x684604]
push ecx
push 0xa
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0xb0]
push ecx
lea ecx, [ebp - 0x930]
mov dword [ebp - 4], 4
push ecx
mov ecx, eax
call fcn.00544320
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
call fcn.00461ff0
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8d0]
push eax
push ecx
lea ecx, [ebp - 0x8c0]
mov dword [esp], 0x41a00000
call fcn.0054a9f0
push 1
push 0xf
lea eax, [ebp - 0x8d0]
mov ecx, edi
push eax
push 0
push dword [0x734494]
push 0x746973
call fcn.004d26a0
cmp eax, 1
jne 0x4d8920
mov ecx, edi
call fcn.005d2840
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x104]
mov eax, dword [ebp - 0x950]
mov ecx, dword [0x782f58]
sub ecx, dword [eax + 8]
cmp dword [ebp - 0x964], ecx
jle 0x4d892f
mov dword [0x782f58], 0xffffffff
jmp 0x4d892f
cmp eax, 2
jne 0x4d892f
mov dword [0x782f54], 0xffffffff
mov esi, dword [edi + 4]
push 0x67a95c
push str.Mark_the_beginning_of_a_cut__right_click_to_reset_
call fcn.0062fa30
add esp, 4
lea ecx, [esi + 0x525f80]
mov dword [esp], 0xbf800000
push eax
lea eax, [ebp - 0x8d0]
push eax
push 0x746973
call fcn.00518dc0
lea eax, [ebp - 0x8c0]
push eax
push 0
push ecx
mov ecx, eax
mov dword [esp], 0x40a00000
call fcn.0054a9f0
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8d0]
push eax
push ecx
lea ecx, [ebp - 0x8c0]
mov dword [esp], 0x41a00000
call fcn.0054a9f0
push 1
push 0xf
lea eax, [ebp - 0x8d0]
mov ecx, edi
push eax
push 0
push dword [0x734498]
push 0x746974
call fcn.004d26a0
cmp eax, 1
jne 0x4d89f4
mov ecx, edi
call fcn.005d2840
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x108]
mov eax, dword [ebp - 0x950]
mov ecx, dword [0x782f54]
sub ecx, dword [eax + 8]
cmp dword [ebp - 0x964], ecx
jge 0x4d8a03
mov dword [0x782f54], 0xffffffff
jmp 0x4d8a03
cmp eax, 2
jne 0x4d8a03
mov dword [0x782f58], 0xffffffff
mov esi, dword [edi + 4]
push 0x67a95c
push str.Mark_the_end_of_a_cut__right_click_to_reset_
call fcn.0062fa30
add esp, 4
lea ecx, [esi + 0x525f80]
mov dword [esp], 0xbf800000
push eax
lea eax, [ebp - 0x8d0]
push eax
push 0x746974
call fcn.00518dc0
cmp dword [0x7862c0], 0
lea eax, [ebp - 0x8c0]
push eax
push 0
push ecx
mov ecx, eax
mov dword [esp], 0x40a00000
sete byte [ebp - 0x938]
call fcn.0054a9f0
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8d0]
push eax
push ecx
lea ecx, [ebp - 0x8c0]
mov dword [esp], 0x41a00000
call fcn.0054a9f0
push dword [ebp - 0x938]
lea eax, [ebp - 0x8d0]
mov ecx, edi
push 0xf
push eax
push 0
push dword [0x73449c]
push 0x746975
call fcn.004d26a0
test eax, eax
je 0x4d8afd
cmp byte [ebp - 0x938], 0
je 0x4d8afd
mov ecx, edi
call fcn.005d2890
push 0x200
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
lea ecx, [ebp - 0x8b0]
push ecx
mov ecx, eax
call edx
lea eax, [ebp - 0x8b0]
lea esi, [edi + 0x1598]
push eax
mov ecx, esi
call fcn.0052fc40
mov ecx, edi
call fcn.005d29c0
mov byte [eax + 0x1c], 1
mov dword [eax + 8], esi
test esi, esi
je 0x4d8af3
mov dword [eax + 0xc], esi
mov dword [edi + 0x24d0], 1
mov esi, dword [edi + 4]
push 0x67a95c
push str.Export_cut_as_a_separate_demo
call fcn.0062fa30
add esp, 4
lea ecx, [esi + 0x525f80]
mov dword [esp], 0xbf800000
push eax
lea eax, [ebp - 0x8d0]
push eax
push 0x746975
call fcn.00518dc0
lea eax, [ebp - 0x8d0]
push eax
lea eax, [ebp - 0x8c0]
push eax
push ecx
mov ecx, eax
mov dword [esp], 0x41a00000
call fcn.0054aaf0
push 1
push 0xf
lea eax, [ebp - 0x8d0]
mov ecx, edi
push eax
push 0
push dword [0x73446c]
push 0x746976
call fcn.004d26a0
test eax, eax
jne 0x4d8baa
mov ecx, edi
call fcn.005d2900
push 0
push 6
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
test al, al
je 0x4d8c3b
mov eax, dword [edi + 4]
cmp dword [eax + 0x43c974], 0
jne 0x4d8c3b
cmp dword [edi + 0x24d0], 0
jne 0x4d8c3b
mov ecx, edi
call fcn.005d2840
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
mov ecx, edi
call fcn.004d2ed0
mov dword [edi + 0x1e20], 0xffffffff
or eax, 0xffffffff
mov ecx, dword [edi + 0x24a0]
mov esi, dword [edi + 0x249c]
mov dword [ebp - 0x944], ecx
cmp esi, ecx
je 0x4d8c2b
lea ecx, [edi + 0x10b9]
nop dword [eax + eax]
inc eax
mov dword [ebp - 0x938], eax
mov eax, dword [esi]
add eax, 0x200
push eax
push ecx
call fcn.00623ad0
add esp, 8
test eax, eax
mov eax, dword [ebp - 0x938]
je 0x4d8c25
add esi, 4
lea ecx, [edi + 0x10b9]
cmp esi, dword [ebp - 0x944]
jne 0x4d8bf0
jmp 0x4d8c2b
mov dword [edi + 0x1e20], eax
cmp dword [edi + 0x1e20], 0
jl 0x4d8c3b
mov byte [edi + 0x1e24], 1
mov esi, dword [edi + 4]
push 0x67a95c
push str.Close_the_demo_player
call fcn.0062fa30
add esp, 4
lea ecx, [esi + 0x525f80]
mov dword [esp], 0xbf800000
push eax
lea eax, [ebp - 0x8d0]
push eax
push 0x746976
call fcn.00518dc0
push 0
lea eax, [ebp - 0x8c0]
push eax
push ecx
mov ecx, eax
mov dword [esp], 0x40a00000
call fcn.0054aaf0
lea eax, [ebp - 0x8d0]
push eax
lea eax, [ebp - 0x8c0]
push eax
push ecx
mov ecx, eax
mov dword [esp], 0x41a00000
call fcn.0054aaf0
cmp dword [0x782f64], 0
mov ecx, edi
setne al
movzx eax, al
push eax
push 0xf
lea eax, [ebp - 0x8d0]
push eax
push 0
push dword [0x7344b0]
push 0x746977
call fcn.004d26a0
test eax, eax
je 0x4d8cda
xor dword [0x782f64], 1
mov esi, dword [edi + 4]
push 0x67a95c
push str.Toggle_keyboard_shortcuts
call fcn.0062fa30
add esp, 4
lea ecx, [esi + 0x525f80]
mov dword [esp], 0xbf800000
push eax
lea eax, [ebp - 0x8d0]
push eax
push 0x746977
call fcn.00518dc0
mov ecx, edi
call fcn.005d2890
push 0x200
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
lea ecx, [ebp - 0x6b0]
push ecx
mov ecx, eax
call edx
lea eax, [ebp - 0x6b0]
push eax
push 0x67a95c
push str.Demofile:__s
call fcn.0062fa30
add esp, 8
push eax
lea eax, [ebp - 0x4b0]
push 0x280
push eax
call fcn.00623dd0
add esp, 0x10
mov word [ebp - 0x9a4], 0x100
mov dword [ebp - 0x9a0], 0
mov dword [ebp - 0x99c], 0
mov dword [ebp - 0x998], 0
movss xmm0, dword [ebp - 0x908]
mov ecx, edi
mov dword [ebp - 4], 5
movss dword [ebp - 0x9a8], xmm0
mov byte [ebp - 0x9a2], 0
call fcn.005d29c0
movss xmm0, dword [ebp - 0x8c4]
lea ecx, [ebp - 0x9a8]
mulss xmm0, dword [0x67b0b0]
push ecx
push 8
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x4b0]
push ecx
lea ecx, [ebp - 0x910]
push ecx
mov ecx, eax
call fcn.00544320
cmp dword [ebp - 0x948], 0
je 0x4d8dec
mov ecx, edi
call fcn.005d2890
push 1
jmp 0x4d8dfe
cmp dword [ebp - 0x954], 0
je 0x4d8e15
mov ecx, edi
call fcn.005d2890
push 0xffffffffffffffff
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
mov ecx, edi
call fcn.005d2840
mov eax, dword [eax + 0x54]
mov dword [edi + 0x1e98], eax
movss xmm0, dword [ebp - 0x988]
sub esp, 8
mov ecx, edi
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x940]
movss dword [esp], xmm0
call fcn.004d2b60
cmp dword [edi + 0x24d0], 0
je 0x4d8e51
mov ecx, edi
call fcn.005d29c0
mov dword [eax + 0x10], 0
cmp dword [edi + 0x24d0], 1
jne 0x4d8e70
movups xmm0, xmmword [ebp - 0x900]
sub esp, 0x10
mov ecx, edi
mov eax, esp
movups xmmword [eax], xmm0
call fcn.004d9010
mov esi, dword [ebp - 0x9a0]
test esi, esi
je 0x4d8ec1
mov ecx, dword [ebp - 0x998]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x4d8eb7
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d9009
push ecx
push esi
call fcn.00632721
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0063292f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
push 0x7466fc
call fcn.00632c66
add esp, 4
cmp dword [0x7466fc], 0xffffffff
jne 0x4d7f29
push 0x678ab0
call fcn.00632bd5
push 0x7466fc
call fcn.00632c15
add esp, 8
jmp 0x4d7f29
push 0x74670c
call fcn.00632c66
add esp, 4
cmp dword [0x74670c], 0xffffffff
jne 0x4d7f40
push 0x678ac0
call fcn.00632bd5
push 0x74670c
call fcn.00632c15
add esp, 8
jmp 0x4d7f40
push 0x74688c
call fcn.00632c66
add esp, 4
cmp dword [0x74688c], 0xffffffff
jne 0x4d8276
mov ecx, 0x746710
mov dword [ebp - 4], 2
call fcn.00541b20
push 0x678a90
mov dword [0x74687c], 0
mov dword [0x746880], 0
mov dword [0x746884], 0
mov byte [0x746889], 0
call fcn.00632bd5
push 0x74688c
mov dword [ebp - 4], 0xffffffff
call fcn.00632c15
add esp, 8
jmp 0x4d8276
push 0x746968
call fcn.00632c66
add esp, 4
cmp dword [0x746968], 0xffffffff
jne 0x4d828d
mov ecx, 0x746890
mov dword [ebp - 4], 3
call fcn.0054ab60
push 0x746968
mov dword [ebp - 4], 0xffffffff
call fcn.00632c15
add esp, 4
jmp 0x4d828d
call fcn.00418610
call fcn.0063f01f
int3