История изменений
Исправление mittorn, (текущая версия) :
Dump of assembler code for function CBaseEntity::SetObjectCollisionBox():
0xf706e8f0 <+0>: call 0xf7056d5e <__x86.get_pc_thunk.dx>
0xf706e8f5 <+5>: add $0x16421f,%edx
0xf706e8fb <+11>: mov 0x4(%esp),%eax
0xf706e8ff <+15>: mov 0x4(%eax),%ecx
0xf706e902 <+18>: cmpl $0x4,0x10c(%ecx)
0xf706e909 <+25>: je 0xf706e9b0 <CBaseEntity::SetObjectCollisionBox()+192>
0xf706e90f <+31>: movss 0x10(%ecx),%xmm0
0xf706e914 <+36>: movss 0xc(%ecx),%xmm1
0xf706e919 <+41>: movss 0x8(%ecx),%xmm2
0xf706e91e <+46>: movss 0xe4(%ecx),%xmm4
0xf706e926 <+54>: movss 0xe0(%ecx),%xmm5
0xf706e92e <+62>: movss 0xdc(%ecx),%xmm6
0xf706e936 <+70>: addss %xmm0,%xmm4
0xf706e93a <+74>: addss %xmm1,%xmm5
0xf706e93e <+78>: addss %xmm2,%xmm6
0xf706e942 <+82>: addss 0xf0(%ecx),%xmm0
0xf706e94a <+90>: addss 0xec(%ecx),%xmm1
0xf706e952 <+98>: addss 0xe8(%ecx),%xmm2
0xf706e95a <+106>: movss -0x82ed4(%edx),%xmm3
0xf706e962 <+114>: subss %xmm3,%xmm6
0xf706e966 <+118>: subss %xmm3,%xmm5
0xf706e96a <+122>: subss %xmm3,%xmm4
0xf706e96e <+126>: addss %xmm3,%xmm2
0xf706e972 <+130>: movss %xmm6,0xc4(%ecx)
0xf706e97a <+138>: addss %xmm3,%xmm1
0xf706e97e <+142>: movss %xmm5,0xc8(%ecx)
0xf706e986 <+150>: addss %xmm3,%xmm0
0xf706e98a <+154>: movss %xmm4,0xcc(%ecx)
0xf706e992 <+162>: movss %xmm2,0xd0(%ecx)
0xf706e99a <+170>: movss %xmm1,0xd4(%ecx)
Dump of assembler code for function DispatchObjectCollsionBox(edict_s*):
0xf706eaa0 <+0>: call 0xf7056d5e <__x86.get_pc_thunk.dx>
0xf706eaa5 <+5>: add $0x16406f,%edx
0xf706eaab <+11>: push %ebx
0xf706eaac <+12>: mov 0x8(%esp),%eax
0xf706eab0 <+16>: test %eax,%eax
0xf706eab2 <+18>: je 0xf706eb88 <DispatchObjectCollsionBox(edict_s*)+232>
0xf706eab8 <+24>: mov 0x7c(%eax),%ecx
0xf706eabb <+27>: test %ecx,%ecx
0xf706eabd <+29>: je 0xf706eb88 <DispatchObjectCollsionBox(edict_s*)+232>
0xf706eac3 <+35>: mov (%ecx),%ebx
=> 0xf706eac5 <+37>: mov 0x1c(%ebx),%eax
0xf706eac8 <+40>: lea -0x164224(%edx),%ebx
0xf706eace <+46>: cmp %ebx,%eax
0xf706ead0 <+48>: jne 0xf706ee40 <DispatchObjectCollsionBox(edict_s*)+928>
0xf706ead6 <+54>: mov 0x4(%ecx),%ecx
0xf706ead9 <+57>: cmpl $0x4,0x10c(%ecx)
0xf706eae0 <+64>: je 0xf706ec40 <DispatchObjectCollsionBox(edict_s*)+416>
0xf706eae6 <+70>: movss 0x10(%ecx),%xmm0
0xf706eaeb <+75>: movss 0xc(%ecx),%xmm1
0xf706eaf0 <+80>: movss 0x8(%ecx),%xmm2
0xf706eaf5 <+85>: movss 0xe4(%ecx),%xmm7
0xf706eafd <+93>: movss 0xe0(%ecx),%xmm5
0xf706eb05 <+101>: movss 0xdc(%ecx),%xmm6
0xf706eb0d <+109>: addss %xmm0,%xmm7
0xf706eb11 <+113>: addss %xmm1,%xmm5
0xf706eb15 <+117>: addss %xmm2,%xmm6
0xf706eb19 <+121>: addss 0xf0(%ecx),%xmm0
0xf706eb21 <+129>: addss 0xec(%ecx),%xmm1
0xf706eb29 <+137>: addss 0xe8(%ecx),%xmm2
0xf706eb31 <+145>: movss -0x82ed4(%edx),%xmm4
Исходная версия mittorn, :
Dump of assembler code for function CBaseEntity::SetObjectCollisionBox():
0xf706e8f0 <+0>: call 0xf7056d5e <__x86.get_pc_thunk.dx>
0xf706e8f5 <+5>: add $0x16421f,%edx
0xf706e8fb <+11>: mov 0x4(%esp),%eax
0xf706e8ff <+15>: mov 0x4(%eax),%ecx
0xf706e902 <+18>: cmpl $0x4,0x10c(%ecx)
0xf706e909 <+25>: je 0xf706e9b0 <CBaseEntity::SetObjectCollisionBox()+192>
0xf706e90f <+31>: movss 0x10(%ecx),%xmm0
0xf706e914 <+36>: movss 0xc(%ecx),%xmm1
0xf706e919 <+41>: movss 0x8(%ecx),%xmm2
0xf706e91e <+46>: movss 0xe4(%ecx),%xmm4
0xf706e926 <+54>: movss 0xe0(%ecx),%xmm5
0xf706e92e <+62>: movss 0xdc(%ecx),%xmm6
0xf706e936 <+70>: addss %xmm0,%xmm4
0xf706e93a <+74>: addss %xmm1,%xmm5
0xf706e93e <+78>: addss %xmm2,%xmm6
0xf706e942 <+82>: addss 0xf0(%ecx),%xmm0
0xf706e94a <+90>: addss 0xec(%ecx),%xmm1
0xf706e952 <+98>: addss 0xe8(%ecx),%xmm2
0xf706e95a <+106>: movss -0x82ed4(%edx),%xmm3
0xf706e962 <+114>: subss %xmm3,%xmm6
0xf706e966 <+118>: subss %xmm3,%xmm5
0xf706e96a <+122>: subss %xmm3,%xmm4
0xf706e96e <+126>: addss %xmm3,%xmm2
0xf706e972 <+130>: movss %xmm6,0xc4(%ecx)
0xf706e97a <+138>: addss %xmm3,%xmm1
0xf706e97e <+142>: movss %xmm5,0xc8(%ecx)
0xf706e986 <+150>: addss %xmm3,%xmm0
0xf706e98a <+154>: movss %xmm4,0xcc(%ecx)
0xf706e992 <+162>: movss %xmm2,0xd0(%ecx)
0xf706e99a <+170>: movss %xmm1,0xd4(%ecx)
Dump of assembler code for function DispatchObjectCollsionBox(edict_s*):
0xf706eaa0 <+0>: call 0xf7056d5e <__x86.get_pc_thunk.dx>
0xf706eaa5 <+5>: add $0x16406f,%edx
0xf706eaab <+11>: push %ebx
0xf706eaac <+12>: mov 0x8(%esp),%eax
0xf706eab0 <+16>: test %eax,%eax
0xf706eab2 <+18>: je 0xf706eb88 <DispatchObjectCollsionBox(edict_s*)+232>
0xf706eab8 <+24>: mov 0x7c(%eax),%ecx
0xf706eabb <+27>: test %ecx,%ecx
0xf706eabd <+29>: je 0xf706eb88 <DispatchObjectCollsionBox(edict_s*)+232>
0xf706eac3 <+35>: mov (%ecx),%ebx
=> 0xf706eac5 <+37>: mov 0x1c(%ebx),%eax
0xf706eac8 <+40>: lea -0x164224(%edx),%ebx
0xf706eace <+46>: cmp %ebx,%eax
0xf706ead0 <+48>: jne 0xf706ee40 <DispatchObjectCollsionBox(edict_s*)+928>
0xf706ead6 <+54>: mov 0x4(%ecx),%ecx
0xf706ead9 <+57>: cmpl $0x4,0x10c(%ecx)
0xf706eae0 <+64>: je 0xf706ec40 <DispatchObjectCollsionBox(edict_s*)+416>
0xf706eae6 <+70>: movss 0x10(%ecx),%xmm0
0xf706eaeb <+75>: movss 0xc(%ecx),%xmm1
0xf706eaf0 <+80>: movss 0x8(%ecx),%xmm2
0xf706eaf5 <+85>: movss 0xe4(%ecx),%xmm7
0xf706eafd <+93>: movss 0xe0(%ecx),%xmm5
0xf706eb05 <+101>: movss 0xdc(%ecx),%xmm6
0xf706eb0d <+109>: addss %xmm0,%xmm7
0xf706eb11 <+113>: addss %xmm1,%xmm5
0xf706eb15 <+117>: addss %xmm2,%xmm6
0xf706eb19 <+121>: addss 0xf0(%ecx),%xmm0
0xf706eb21 <+129>: addss 0xec(%ecx),%xmm1
0xf706eb29 <+137>: addss 0xe8(%ecx),%xmm2
0xf706eb31 <+145>: movss -0x82ed4(%edx),%xmm4