Function at 0x10073fb0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100838e8
mov eax, dword fs:[0]
push eax
sub esp, 0x144
mov eax, dword [0x100b6018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x124], ecx
mov eax, dword fs:[0x2c]
mov edx, dword [0x100b6b38]
mov ebx, dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [eax + edx*4]
mov eax, dword [0x100bd990]
mov dword [ebp - 0x128], ecx
cmp eax, dword [ecx + 4]
jle 0x1007404a
push 0x100bd990
call fcn.1007dc74
add esp, 4
cmp dword [0x100bd990], 0xffffffff
jne 0x1007404a
mov dword [ebp - 4], 0
call ebx
sub eax, dword [0xcc18c84]
mov dword [0x100bd994], eax
mov dword [ebp - 4], 0xffffffff
push 0x100bd990
call fcn.1007dc23
add esp, 4
mov esi, dword [0x100b9cf4]
mov dword [ebp - 0x120], esi
call fcn.100250b0
cmp byte [0x100ba3ea], 0
jne 0x10074070
mov eax, dword [0x74e358]
mov dword [eax + 0x3c], 0
push str.press__spacebar__to_toggle_free_mode
call fcn.1003f0b0
mov ecx, dword [0x100b9cf4]
add esp, 4
xorps xmm1, xmm1
movss xmm0, dword [ecx + 0x57c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10074130
cmp byte [0xcc1b704], 0
je 0x10074130
mov edx, dword [0x100ba4bc]
xor ecx, ecx
cmp byte [edx + 0x44], cl
sete cl
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
test edx, edx
je 0x10074107
ucomiss xmm0, xmm1
movss dword [edx + 0x48], xmm0
lahf
test ah, 0x44
jnp 0x100740d3
mov cl, 1
jmp 0x100740d5
xor cl, cl
mov eax, dword [edx + 0x50]
mov byte [edx + 0x44], cl
sub eax, 0
je 0x100740fa
sub eax, 1
je 0x100740f4
sub eax, 1
jne 0x10074107
movss dword [edx + 0xc], xmm0
mov dword [edx + 8], eax
jmp 0x10074107
cvttss2si eax, xmm0
jmp 0x100740fd
movzx eax, cl
mov dword [edx + 0xc], 0
mov dword [edx + 8], eax
mov eax, dword [0x100ba4bc]
mov al, byte [eax + 0x44]
test al, al
je 0x1007421d
cmp byte [0x100ba3ea], 0
je 0x1007421d
mov byte [0x100ba3ea], 0
jmp 0x1007421d
movss xmm0, dword [ecx + 0x4e4]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1007421d
cmp byte [0xcc1b704], 0
je 0x1007421d
cmp byte [0x100ba3ea], 0
mov eax, dword [0x100b602c]
sete cl
xor dl, dl
mov byte [0x100ba3ea], cl
xor cl, 1
mov esi, dword [eax + 0x28]
call fcn.1007a670
mov dword [ebp - 0x114], 0x56b5d0
mov edi, str.g_gravity
call dword [ebp - 0x114]
mov edx, eax
test edx, edx
je 0x100741b9
mov cl, byte [0x100ba3ea]
test cl, cl
jne 0x100741c3
movss xmm0, dword [edx + 0xc]
ucomiss xmm0, dword [0x100ae8bc]
lahf
test ah, 0x44
jp 0x100741f0
mov dword [edx + 0xc], 0x44480000
mov dword [edx + 0x1c], 0x44480000
mov cl, byte [0x100ba3ea]
test cl, cl
je 0x100741f0
cmp esi, 3
je 0x100741ec
mov eax, dword [0x74e338]
mov dword [ebp - 0x114], eax
mov eax, str.ufo_n
push eax
mov ecx, dword [ebp - 0x114]
push ecx
mov esi, 0x4f8d90
call esi
add esp, 8
jmp 0x10074217
test cl, cl
jne 0x10074217
cmp esi, 3
jne 0x10074217
mov eax, dword [0x74e338]
mov dword [ebp - 0x114], eax
mov eax, str.ufo_n
push eax
mov ecx, dword [ebp - 0x114]
push ecx
mov esi, 0x4f8d90
call esi
add esp, 8
mov esi, dword [ebp - 0x120]
call fcn.10041db0
mov dword [ebp - 0x118], 0x42a00000
push dword [ebp - 0x118]
mov dword [ebp - 0x11c], 0x43a50000
push dword [ebp - 0x11c]
call fcn.100687b0
movss xmm0, dword [0x100aeafc]
call fcn.10024f30
mov eax, dword [ebp - 0x124]
push 0x10
push 0x100aa7e8
mov dword [ebp - 0x118], 0
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x66666667
imul ecx
mov ecx, str.Frame
sar edx, 5
mov eax, edx
dec edx
shr eax, 0x1f
add eax, edx
mov edx, 4
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x118]
push eax
push dword [0x100b6120]
call fcn.10044590
add esp, 0x18
mov dword [ebp - 0x11c], 0
lea edx, [ebp - 0x11c]
mov dword [ebp - 0x118], 0
mov ecx, 0x100ad6e8
call fcn.1003fc40
add esp, 4
test al, al
jne 0x100742f5
movss xmm0, dword [esi + 0x5ac]
xorps xmm2, xmm2
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x10074308
cmp byte [0xcc1b704], al
je 0x10074308
mov eax, dword [0x100b611c]
mov byte [eax], 0
mov eax, dword [0x100b6120]
mov dword [eax], 0
mov dword [ebp - 0x118], 0x56b5d0
mov edi, str.g_gravity
call dword [ebp - 0x118]
mov esi, eax
test esi, esi
je 0x1007432a
mov dword [esi + 0xc], 0
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
mov eax, dword [0x100b611c]
mov edx, 0x100ad6ec
mov ecx, 0x100a3a04
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
cmp byte [eax], 0
cmovne ecx, edx
lea edx, [ebp - 0x11c]
push ecx
call fcn.1003fc40
add esp, 4
test al, al
jne 0x10074390
mov eax, dword [ebp - 0x120]
xorps xmm2, xmm2
movss xmm0, dword [eax + 0x5a4]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x1007439e
mov ecx, dword [0x100b611c]
cmp byte [ecx], 0
sete al
mov byte [ecx], al
cmp byte [0x100ba3d8], 0
movss xmm3, dword [0x100ae998]
je 0x1007449e
mov dword [ebp - 0x118], 0x56b5d0
mov edi, str.com_maxfps
call dword [ebp - 0x118]
mov edi, dword [0x100b6120]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x124]
mov edi, dword [edi]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, 0x66666667
sub ecx, edx
mov dword [ebp - 0x118], edx
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, edi
jbe 0x1007440c
lea ecx, [edi + edi*4]
shl ecx, 4
add ecx, dword [ebp - 0x118]
jmp 0x1007440e
xor ecx, ecx
movss xmm0, dword [0x100b6118]
movss xmm1, dword [0x100ba2b8]
subss xmm0, xmm3
comiss xmm1, xmm0
jbe 0x10074492
test ecx, ecx
je 0x10074492
mov edx, dword [ebp - 0x114]
test edx, edx
je 0x10074492
test esi, esi
je 0x10074492
cmp dword [ecx + 0x44], 0xc8
mov edi, 0xfa
mov eax, 0x8e
xorps xmm1, xmm1
cmove eax, edi
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x124]
mov dword [esi + 0xc], 0
mov esi, dword [0x100b6120]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x66666667
mov edi, dword [esi]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
dec eax
add eax, edx
cmp edi, eax
jge 0x1007448a
lea eax, [edi + 1]
mov dword [esi], eax
jmp 0x10074492
mov eax, dword [0x100b611c]
mov byte [eax], 0
addss xmm1, xmm3
movss dword [0x100ba2b8], xmm1
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
push ecx
lea edx, [ebp - 0x11c]
mov dword [ebp - 0x11c], 0
mov ecx, 0x100aab20
mov dword [ebp - 0x118], 0
call fcn.1003fc40
mov eax, dword [0x100b9cf4]
add esp, 4
mov ecx, dword [eax + 0x1bd0]
test ecx, ecx
je 0x10074525
cmp ecx, dword [eax + 0x1c38]
jne 0x10074525
mov eax, dword [0x100b6120]
mov eax, dword [eax]
dec eax
test eax, eax
jle 0x10074525
call ebx
mov ecx, dword [0x100bd994]
sub eax, dword [0xcc18c84]
add ecx, 0xc8
cmp ecx, eax
jae 0x10074525
mov eax, dword [0x100b6120]
dec dword [eax]
call ebx
sub eax, dword [0xcc18c84]
mov dword [0x100bd994], eax
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
push ecx
lea edx, [ebp - 0x11c]
mov dword [ebp - 0x11c], 0
mov ecx, 0x100aa7b0
mov dword [ebp - 0x118], 0
call fcn.1003fc40
mov eax, dword [0x100b9cf4]
add esp, 4
mov edi, dword [ebp - 0x124]
mov ecx, dword [eax + 0x1bd0]
test ecx, ecx
je 0x100745c6
cmp ecx, dword [eax + 0x1c38]
jne 0x100745c6
mov ecx, dword [edi + 4]
mov eax, 0x66666667
sub ecx, dword [edi]
imul ecx
mov eax, dword [0x100b6120]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
dec ecx
add ecx, edx
cmp dword [eax], ecx
jge 0x100745c6
call ebx
mov ecx, dword [0x100bd994]
sub eax, dword [0xcc18c84]
add ecx, 0xc8
cmp ecx, eax
jae 0x100745c6
mov eax, dword [0x100b6120]
inc dword [eax]
call ebx
sub eax, dword [0xcc18c84]
mov dword [0x100bd994], eax
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
movss xmm0, dword [0x100aeaa4]
call fcn.10024f30
movss xmm3, dword [0x100ae904]
lea eax, [ebp - 0x118]
push 0x10
push str._.3f
push eax
lea eax, [ebp - 0x114]
mov dword [ebp - 0x114], 0x3f800000
push eax
push 0x100b6118
mov edx, 8
mov dword [ebp - 0x118], 0x41200000
mov ecx, str.Slow_mo_Scale_t
call fcn.10043860
add esp, 0x14
cmp byte [0xcc1b704], 0
je 0x1007468c
mov eax, dword [0x100b6120]
mov ecx, dword [0x100ba37c]
sub ecx, dword [0x100ba378]
mov ebx, dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov esi, dword [eax]
mov eax, 0x66666667
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
dec eax
add eax, edx
cmp esi, eax
jge 0x10074676
push 0x27
call ebx
mov edx, dword [0x100b6120]
and eax, 1
mov esi, dword [edx]
add esi, eax
mov dword [edx], esi
lea eax, [esi - 1]
test eax, eax
jle 0x1007468c
push 0x25
call ebx
mov edx, dword [0x100b6120]
and eax, 1
sub dword [edx], eax
push str.Jump_Data
call fcn.1003f0b0
add esp, 4
mov dword [ebp - 0x118], 0x43870000
mov dword [ebp - 0x11c], 0x43a50000
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
call fcn.100687b0
push 0x100abb14
call fcn.1003f0b0
movss xmm1, dword [0x100aeba0]
add esp, 0xc
xorps xmm0, xmm0
call fcn.10024e70
call fcn.100250b0
mov eax, dword [0x100b6120]
mov ecx, dword [edi + 4]
mov ebx, dword [edi]
sub ecx, ebx
mov esi, dword [eax]
mov eax, 0x66666667
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, esi
jbe 0x1007470d
lea edi, [esi + esi*4]
shl edi, 4
add edi, ebx
jmp 0x1007470f
xor edi, edi
mov eax, ecx
mov edx, 0xc8
sub eax, esi
dec eax
cmp eax, edx
cmovge eax, edx
add eax, esi
cmp ecx, eax
jbe 0x10074734
mov ecx, dword [ebp - 0x124]
lea ebx, [eax + eax*4]
shl ebx, 4
add ebx, dword [ecx]
jmp 0x10074736
xor ebx, ebx
mov ecx, dword [0x100ba394]
mov eax, 0x66666667
sub ecx, dword [0x100ba390]
imul ecx
mov ecx, dword [0x100ba3a4]
sar edx, 5
mov eax, edx
mov byte [ebp - 0x114], 0
shr eax, 0x1f
add eax, edx
mov eax, dword [ebp - 0x114]
cmovne ecx, dword [0x100ba3bc]
cmp dword [0x100ba3a8], 0
mov ecx, dword [ecx]
jbe 0x1007478a
cmp dword [ecx + 0x10], 0xc8
mov edx, 1
movzx eax, al
cmovl eax, edx
cmp byte [ebx + 0x40], 0
jne 0x10074794
test al, al
je 0x100747a5
lea eax, [esi + 0x190]
mov dword [0x100bd998], esi
mov dword [0x100bd99c], eax
test edi, edi
je 0x1007550f
movss xmm1, dword [edi + 0x10]
movss xmm0, dword [edi + 0xc]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10005cf0
cmp dword [0x797520], 0x3fe
mov ecx, edi
cvttss2si esi, xmm0
sete dl
call fcn.10006f20
push dword [edi + 0x44]
movss dword [ebp - 0x118], xmm0
push str.fps:__i
call fcn.1003f0b0
movss xmm1, dword [edi + 0x14]
cvtps2pd xmm1, xmm1
movsd qword [esp], xmm1
push esi
push str.velocity:__i__Z:__.3f_
call fcn.1003f0b0
movss xmm0, dword [edi + 8]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [edi + 4]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
sub esp, 8
movss xmm0, dword [edi]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.origin:__.3f___.3f___.3f
call fcn.1003f0b0
movss xmm0, dword [edi + 0x1c]
add esp, 0xc
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [edi + 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.angles:__.3f___.3f
call fcn.1003f0b0
movzx eax, byte [edi + 0x40]
add esp, 0x14
push eax
push str.rpg_fired:__i
call fcn.1003f0b0
movzx eax, byte [edi + 0x41]
push eax
push str.bounced:__i
call fcn.1003f0b0
movzx eax, byte [edi + 0x25]
lea ecx, [ebp - 0x150]
mov dl, byte [edi + 0x24]
push eax
call fcn.100662a0
add esp, 0x14
mov dword [ebp - 4], 1
cmp dword [eax + 0x14], 0x10
jb 0x100748af
mov eax, dword [eax]
push eax
push str.keys:__s
call fcn.1003f0b0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x150]
call fcn.10005ab0
cmp byte [edi + 0x25], 0
movss xmm1, dword [0x100aeb14]
je 0x10074922
movss xmm0, dword [edi + 0x1c]
subss xmm0, dword [ebp - 0x118]
call fcn.10007110
xor eax, eax
comiss xmm0, dword [0x100aeabc]
seta al
cmp eax, 1
jne 0x10074907
subss xmm1, xmm0
movaps xmm0, xmm1
cvtss2sd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.strafe_accuracy:__.3f
call fcn.1003f0b0
add esp, 0xc
jmp 0x1007492f
push str.strafe_accuracy:_N_A
call fcn.1003f0b0
add esp, 4
movzx eax, byte [edi + 0x48]
push eax
push str.colliding:__i
call fcn.1003f0b0
movzx eax, byte [edi + 0x49]
push eax
push str.jumped:__i
call fcn.1003f0b0
add esp, 0x10
call fcn.100251e0
cmp byte [0x100ba3ea], 0
jne 0x1007496a
mov eax, dword [0x100ba4bc]
mov al, byte [eax + 0x44]
test al, al
jne 0x10074996
mov eax, dword [ebp - 0x120]
movss xmm0, dword [eax + 0x570]
ucomiss xmm0, dword [0x100ae8bc]
lahf
test ah, 0x44
jp 0x10074a81
cmp byte [0xcc1b704], 0
je 0x10074a81
mov esi, dword [0x100b602c]
movss xmm1, dword [0x100aeb14]
movss xmm0, dword [esi + 0x2568c]
call fcn.100070d0
movaps xmm1, xmm0
addss xmm1, xmm0
subss xmm1, dword [edi + 0x18]
subss xmm0, xmm1
movss xmm1, dword [0x100aeb14]
addss xmm0, dword [esi + 0x256a8]
movss dword [esi + 0x256a8], xmm0
movss xmm0, dword [esi + 0x25690]
call fcn.100070d0
movaps xmm1, xmm0
addss xmm1, xmm0
subss xmm1, dword [edi + 0x1c]
subss xmm0, xmm1
movss xmm1, dword [0x100aeb14]
addss xmm0, dword [esi + 0x256ac]
movss dword [esi + 0x256ac], xmm0
movss xmm0, dword [esi + 0x25694]
call fcn.100070d0
mov ecx, dword [0x100b6028]
movaps xmm1, xmm0
addss xmm1, xmm0
subss xmm1, dword [edi + 0x20]
subss xmm0, xmm1
addss xmm0, dword [esi + 0x256b0]
movss dword [esi + 0x256b0], xmm0
mov eax, dword [edi]
movss xmm0, dword [0x100aeaac]
mov dword [ecx + 0x1c], eax
mov eax, dword [edi + 4]
mov dword [ecx + 0x20], eax
movss xmm1, dword [edi + 8]
movss dword [ecx + 0x24], xmm1
subss xmm0, dword [edi + 0x3c]
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x2c], 0
mov dword [ecx + 0x30], 0
subss xmm1, xmm0
movss dword [ecx + 0x24], xmm1
mov eax, dword [0x100bd998]
mov ebx, 0x416610
mov edi, dword [0x100bd99c]
mov esi, dword [0x100b6120]
push str.rpg_mp
mov dword [ebp - 0x114], eax
call ebx
add esp, 4
mov dword [ebp - 0x120], eax
push str.rpg_sustain_mp
call ebx
mov ecx, dword [esi]
add esp, 4
mov edx, eax
mov ebx, dword [0x100b602c]
mov esi, dword [ebp - 0x120]
cmp ecx, dword [ebp - 0x114]
jle 0x10074c20
cmp ecx, edi
jge 0x10074c1a
mov eax, dword [ebx + 0x10c]
cmp eax, esi
je 0x10074c1a
cmp eax, edx
je 0x10074c1a
cmp byte [0x100bd9ac], 0
jne 0x10074c1a
mov esi, dword [0xd5ec418]
xor edi, edi
inc esi
lea ecx, [edi + 1]
cmp esi, ecx
jle 0x10074b30
mov edx, 2
mov eax, ecx
shr eax, 5
test dword [ebx + eax*4 + 0x580], edx
je 0x10074b29
mov dword [ebp + edi*4 - 0x110], ecx
inc edi
inc ecx
rol edx, 1
cmp ecx, esi
jl 0x10074b13
xor eax, eax
mov dword [ebp - 0x114], eax
test edi, edi
je 0x10074c5d
mov ecx, dword [ebp + eax*4 - 0x110]
mov edx, str.rpg_mp
mov eax, dword [0x100b603c]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax]
mov ecx, eax
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x10074b78
test bl, bl
je 0x10074b74
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x10074b78
add ecx, 2
add edx, 2
test bl, bl
jne 0x10074b58
xor ecx, ecx
jmp 0x10074b7d
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x10074bac
mov byte [0x100bd9ac], 1
mov eax, dword [0x74e338]
mov dword [ebp - 0x118], eax
mov eax, str.actionslot_4_n
push eax
mov ecx, dword [ebp - 0x118]
push ecx
mov esi, 0x4f8d90
call esi
add esp, 8
jmp 0x10074c03
mov ecx, str.rpg_sustain_mp
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10074bd1
test dl, dl
je 0x10074bcd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10074bd1
add eax, 2
add ecx, 2
test dl, dl
jne 0x10074bb1
xor eax, eax
jmp 0x10074bd6
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10074c03
mov byte [0x100bd9ac], 1
mov eax, dword [0x74e338]
mov dword [ebp - 0x118], eax
mov eax, str.actionslot_4_n
push eax
mov ecx, dword [ebp - 0x118]
push ecx
mov esi, 0x4f8d90
call esi
add esp, 8
mov eax, dword [ebp - 0x114]
inc eax
mov dword [ebp - 0x114], eax
cmp eax, edi
jb 0x10074b40
jmp 0x10074c5d
cmp ecx, dword [ebp - 0x114]
jl 0x10074c26
cmp ecx, edi
jle 0x10074c5d
mov eax, dword [ebx + 0x10c]
cmp eax, esi
je 0x10074c34
cmp eax, edx
jne 0x10074c5d
mov byte [0x100bd9ac], 0
mov eax, dword [0x74e338]
mov dword [ebp - 0x118], eax
mov eax, str.weapnext_n
push eax
mov ecx, dword [ebp - 0x118]
push ecx
mov esi, 0x4f8d90
call esi
add esp, 8
mov ecx, dword [ebp - 0x128]
mov eax, dword [0x100bd9a0]
cmp eax, dword [ecx + 4]
jle 0x10074cd6
push 0x100bd9a0
call fcn.1007dc74
add esp, 4
cmp dword [0x100bd9a0], 0xffffffff
jne 0x10074cd6
mov dword [ebp - 4], 2
mov eax, dword [0x100b9cf4]
movss xmm1, dword [eax + 0x1c4c]
movss xmm0, dword [eax + 0x1c50]
subss xmm1, dword [eax + 0x1c44]
subss xmm0, dword [eax + 0x1c48]
movss dword [0x100bd9a4], xmm1
movss dword [0x100bd9a8], xmm0
mov dword [ebp - 4], 0xffffffff
push 0x100bd9a0
call fcn.1007dc23
add esp, 4
call fcn.10041db0
push str.Events
call fcn.1003f0b0
movss xmm0, dword [0x100bd9a8]
add esp, 4
addss xmm0, dword [0x100aea8c]
mov dword [ebp - 0x12c], 0x43a50000
movss dword [ebp - 0x128], xmm0
push dword [ebp - 0x128]
push dword [ebp - 0x12c]
call fcn.100687b0
push 0x100abb14
call fcn.1003f0b0
movss xmm1, dword [0x100aeba0]
add esp, 0xc
xorps xmm0, xmm0
call fcn.10024e70
call fcn.100250b0
call fcn.10075540
push ecx
lea edx, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0
mov ecx, str.highest_point
mov dword [ebp - 0x128], 0
call fcn.1003fc40
add esp, 4
test al, al
je 0x10074e88
mov eax, dword [ebp - 0x124]
xor esi, esi
movss xmm0, dword [0x100aebe4]
mov edi, dword [eax]
mov ecx, dword [eax + 4]
mov eax, 0x66666667
sub ecx, edi
mov dword [ebp - 0x114], edi
imul ecx
xor ecx, ecx
sar edx, 5
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov dword [ebp - 0x118], ebx
cmp ebx, 4
jb 0x10074e45
lea eax, [ebx - 3]
mov dword [ebp - 0x128], eax
lea edx, [esi + 2]
lea eax, [edi + 0x58]
movss xmm1, dword [eax - 0x50]
movaps xmm2, xmm0
comiss xmm1, xmm0
jbe 0x10074dd0
movaps xmm0, xmm1
comiss xmm1, xmm2
mov ebx, ecx
movss xmm1, dword [eax]
movaps xmm4, xmm0
cmovbe ebx, esi
comiss xmm1, xmm0
jbe 0x10074de7
movaps xmm0, xmm1
comiss xmm1, xmm4
lea edi, [edx - 1]
movss xmm1, dword [eax + 0x50]
movaps xmm3, xmm0
cmovbe edi, ebx
comiss xmm1, xmm0
jbe 0x10074e00
movaps xmm0, xmm1
comiss xmm1, xmm3
mov esi, edx
movss xmm1, dword [eax + 0xa0]
movaps xmm2, xmm0
cmovbe esi, edi
comiss xmm1, xmm0
jbe 0x10074e1b
movaps xmm0, xmm1
comiss xmm1, xmm2
lea edi, [edx + 1]
cmovbe edi, esi
add ecx, 4
add edx, 4
add eax, 0x140
mov esi, edi
cmp ecx, dword [ebp - 0x128]
jb 0x10074dc0
mov ebx, dword [ebp - 0x118]
cmp ecx, ebx
jb 0x10074e4b
jmp 0x10074e81
test ebx, ebx
je 0x10074e81
jmp 0x10074e51
mov edi, dword [ebp - 0x114]
lea eax, [ecx + ecx*4]
shl eax, 4
add eax, 8
add eax, edi
nop dword [eax]
movss xmm1, dword [eax]
mov edx, esi
comiss xmm1, xmm0
movaps xmm2, xmm0
jbe 0x10074e71
movaps xmm0, xmm1
comiss xmm1, xmm2
mov esi, ecx
cmovbe esi, edx
inc ecx
add eax, 0x50
cmp ecx, ebx
jb 0x10074e60
mov eax, dword [0x100b6120]
mov dword [eax], esi
call fcn.100251e0
mov eax, dword [0x100b9cf4]
movss xmm1, dword [eax + 0x1c4c]
movss xmm0, dword [eax + 0x1c50]
subss xmm1, dword [eax + 0x1c44]
subss xmm0, dword [eax + 0x1c48]
movss dword [0x100bd9a4], xmm1
movss dword [0x100bd9a8], xmm0
call fcn.10041db0
push str.Segmenting
call fcn.1003f0b0
add esp, 4
mov dword [ebp - 0x128], 0x42c80000
mov dword [ebp - 0x12c], 0x43a50000
push dword [ebp - 0x128]
push dword [ebp - 0x12c]
call fcn.100687b0
push 0x100abb14
call fcn.1003f0b0
movss xmm1, dword [0x100aeba0]
add esp, 0xc
xorps xmm0, xmm0
call fcn.10024e70
call fcn.100250b0
push ecx
lea edx, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0
mov ecx, str.Mark_segment
mov dword [ebp - 0x128], 0
call fcn.1003fc40
add esp, 4
test al, al
je 0x10074f62
push str.2Segment_has_been_marked__n
push 5
call fcn.1000acd0
mov eax, dword [0x100b6120]
add esp, 8
mov eax, dword [eax]
mov dword [0x100ba3d4], eax
mov ecx, dword [0x100ba394]
mov eax, 0x66666667
sub ecx, dword [0x100ba390]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x10074fd4
mov esi, dword [0x100b9cf4]
mov ecx, dword [esi + 0x1c20]
lea edx, [esi + 0x1c20]
mov eax, ecx
shr eax, 2
test al, 1
jne 0x10074fbc
movss xmm0, dword [esi + 0x1518]
movss dword [esi + 0x2ee8], xmm0
mulss xmm0, dword [esi + 0x151c]
movss dword [esi + 0x1518], xmm0
or ecx, 4
mov dword [edx], ecx
lea ecx, [esi + 0x1d04]
push edx
call fcn.1002b770
inc word [esi + 0x2eec]
push ecx
lea edx, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0
mov ecx, str.Merge
mov dword [ebp - 0x128], 0
call fcn.1003fc40
add esp, 4
test al, al
je 0x1007500e
cmp byte [0x100ba2b4], 0
sete byte [0x100ba2b4]
movss xmm1, dword [0x100aeba0]
xorps xmm0, xmm0
call fcn.10024e70
mov ecx, str.Merges_the_original_run_and_the_segment_nWarning:_This_action_cannot_be_undone
call fcn.100660c0
cmp byte [0x100ba2b4], 0
je 0x100752f9
push 0x40
mov edx, 0x100ba2b4
mov ecx, str.Confirmation01
call fcn.10021810
add esp, 4
push str.Are_you_sure__If_yes__then_make_sure_you_SAVE_the_clip_after_merging_so_that_you_dont_lose_it_
call fcn.1003f0b0
add esp, 4
call fcn.10041db0
mov eax, dword [0x100b9cf4]
mov ecx, dword [eax + 0x1b98]
cmp byte [ecx + 0x8f], 0
jne 0x10075081
mov ecx, dword [ecx + 0x170]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.10041e50
movss xmm1, dword [0x100ae940]
mov ecx, str.yes01
call fcn.10067fd0
test al, al
je 0x100752d7
push str.3Save_the_merged_clip__n
push 5
call fcn.1000acd0
mov eax, dword [0x100ba3d4]
add esp, 8
mov edi, dword [0x100ba37c]
lea ecx, [eax + eax*4]
mov eax, dword [0x100ba378]
shl ecx, 4
add eax, ecx
cmp eax, edi
je 0x100750ce
mov edi, eax
mov dword [0x100ba37c], edi
mov esi, dword [0x100ba390]
mov eax, 0x66666667
mov ecx, dword [0x100ba394]
sub ecx, esi
imul ecx
mov ecx, 0x100ba378
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
push edi
call fcn.1005c730
mov esi, dword [0x100ba3bc]
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
jne 0x10075182
nop dword [eax + eax]
mov eax, dword [esi + 0x10]
mov ecx, 0x100ba3a4
add eax, dword [0x100ba3d4]
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.10005230
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x10075164
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x10075160
nop dword [eax]
cmp esi, dword [eax + 8]
jne 0x10075160
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x10075150
mov esi, eax
jmp 0x1007517c
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x1007517c
nop
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x10075170
cmp byte [esi + 0xd], 0
je 0x10075110
mov esi, dword [0x100ba3c4]
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
jne 0x10075202
mov eax, dword [esi + 0x10]
mov ecx, 0x100ba3ac
add eax, dword [0x100ba3d4]
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.10005230
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x100751e4
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x100751e0
nop dword [eax]
cmp esi, dword [eax + 8]
jne 0x100751e0
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x100751d0
mov esi, eax
jmp 0x100751fc
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x100751fc
nop
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x100751f0
cmp byte [esi + 0xd], 0
je 0x10075190
mov esi, dword [0x100ba3b4]
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
jne 0x10075282
mov eax, dword [esi + 0x10]
mov ecx, 0x100ba39c
add eax, dword [0x100ba3d4]
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.10005230
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x10075264
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x10075260
nop dword [eax]
cmp esi, dword [eax + 8]
jne 0x10075260
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x10075250
mov esi, eax
jmp 0x1007527c
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x1007527c
nop
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x10075270
cmp byte [esi + 0xd], 0
je 0x10075210
mov esi, dword [0x100ba390]
xorps xmm0, xmm0
mov eax, dword [0x100ba394]
mov byte [0x100ba3ee], 0
movq qword [0x100ba3e0], xmm0
cmp esi, eax
je 0x100752b5
mov eax, esi
mov dword [0x100ba394], esi
cmp esi, eax
je 0x100752b5
mov dword [0x100ba394], esi
mov ecx, esi
cmove ecx, eax
mov eax, 0x66666667
sub ecx, esi
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100752ed
mov dword [0x100ba394], esi
jmp 0x100752ed
movss xmm1, dword [0x100ae940]
mov ecx, str.no01
call fcn.10067fd0
test al, al
je 0x100752f4
mov byte [0x100ba2b4], 0
call fcn.10024110
mov ecx, dword [0x100ba394]
mov eax, 0x66666667
sub ecx, dword [0x100ba390]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x1007535f
mov esi, dword [0x100b9cf4]
mov edx, dword [esi + 0x1c20]
dec dword [esi + 0x1d04]
dec word [esi + 0x2eec]
mov ecx, dword [esi + 0x1d04]
mov eax, dword [esi + 0x1d0c]
shr edx, 2
mov eax, dword [eax + ecx*4 - 4]
mov dword [esi + 0x1c20], eax
test dl, 1
je 0x1007535f
test al, 4
jne 0x1007535f
mov eax, dword [esi + 0x2ee8]
mov dword [esi + 0x1518], eax
call fcn.100251e0
call fcn.100251e0
call fcn.10075c50
mov eax, dword [0x100ba36c]
cmp byte [eax + 0x44], 0
je 0x1007551c
push 0x100ad90c
call fcn.1003f0b0
movaps xmm0, xmmword [0x100aedd0]
lea eax, [ebp - 0x134]
add esp, 4
movups xmmword [ebp - 0x134], xmm0
push str.Warning:_fixed_fps_can_cause_playback_issues_
push eax
call fcn.1003f130
mov esi, dword [0x100b9cf4]
lea eax, [ebp - 0x12c]
movss xmm3, dword [0x100aeb7c]
add esp, 8
movss xmm2, dword [esi + 0x1934]
push 0
push 0
push str.Disable001
push ecx
mov ecx, dword [esi + 0x1930]
mov dword [esp], 0xbf800000
push eax
call fcn.1003ab10
movss xmm0, dword [ebp - 0x12c]
addss xmm0, dword [0x100ae990]
movss xmm1, dword [esi + 0x1554]
addss xmm1, xmm1
cvttss2si eax, xmm0
movd xmm3, eax
mov eax, dword [0x100b9cf4]
cvtdq2ps xmm3, xmm3
mov edx, dword [eax + 0x1b98]
mov ecx, edx
addss xmm3, xmm1
cmp dword [ecx + 0x168], 0
movss xmm0, dword [ecx + 0x204]
jne 0x10075437
cmp dword [eax + 0x1f1c], 0
je 0x1007543f
movss xmm0, dword [ecx + 0x1d4]
movss xmm2, dword [edx + 0xd0]
subss xmm0, xmm2
subss xmm0, xmm3
mulss xmm0, dword [0x100ae940]
comiss xmm0, dword [0x100ae8bc]
jbe 0x100754a5
subss xmm2, dword [edx + 0xc]
addss xmm2, dword [edx + 0x58]
mov byte [ecx + 0x8c], 1
mov eax, dword [eax + 0x1b98]
addss xmm2, xmm0
movss xmm1, dword [eax + 0xc]
subss xmm1, dword [eax + 0x58]
movss xmm0, dword [eax + 0xe8]
addss xmm1, xmm2
maxss xmm0, xmm1
movss dword [eax + 0xd0], xmm1
movss dword [eax + 0xe8], xmm0
push ecx
lea edx, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0
mov ecx, str.Disable001
mov dword [ebp - 0x128], 0
call fcn.1003fc40
add esp, 4
test al, al
je 0x1007551c
mov eax, dword [0x100ba36c]
test eax, eax
je 0x1007551c
mov ecx, dword [eax + 0x50]
mov dword [eax + 0x48], 0
mov byte [eax + 0x44], 0
sub ecx, 0
je 0x100754ff
sub ecx, 1
je 0x100754ff
sub ecx, 1
jne 0x1007551c
mov dword [eax + 0xc], ecx
mov dword [eax + 8], ecx
jmp 0x1007551c
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
jmp 0x1007551c
push str.ERROR:_invalid_frame_data_n
call fcn.1003f0b0
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1007dbea
mov esp, ebp
pop ebp
ret