|
| 30 Oct 2011 12:52 PM |
http://pastebin.com/yZF1iWa7
Erm... I'm not sure how low it actually is... But it's over 1000 instructions... and less than 10000........
:/ |
|
|
| Report Abuse |
|
|
|
| 30 Oct 2011 12:53 PM |
long*
~+[CROOKITY BANDED SNAKES]+~ |
|
|
| Report Abuse |
|
|
|
| 30 Oct 2011 12:55 PM |
| What am I reading besides a long list of instructions and their subsequent effects on the registers? |
|
|
| Report Abuse |
|
|
Shobobo99
|
  |
| Joined: 30 Dec 2008 |
| Total Posts: 5754 |
|
|
| 30 Oct 2011 12:55 PM |
| You're not very subtle with your offsite links :3 |
|
|
| Report Abuse |
|
|
|
| 30 Oct 2011 12:56 PM |
@Necro, that's exactly what you're reading. ;3
I have no idea what outside functions would get called, so I just ran a trace until the end of the CFrame.Angles subroutine. xD
~+[CROOKITY BANDED SNAKES]+~ |
|
|
| Report Abuse |
|
|
|
| 30 Oct 2011 12:57 PM |
CFrame.Angles analyzed by IDA Pro:
sub_75D100 proc near
var_70= dword ptr -70h var_6C= dword ptr -6Ch var_68= dword ptr -68h var_58= dword ptr -58h var_54= dword ptr -54h var_30= byte ptr -30h var_C= dword ptr -0Ch var_8= dword ptr -8 var_4= dword ptr -4 arg_0= dword ptr 4
sub esp, 58h push ebx push esi push edi lea ecx, [esp+64h+var_30] call sub_554BF0 mov ebx, [esp+64h+arg_0] push 3 ; float push ebx call sub_74D6D0 fstp [esp+6Ch+var_68] add esp, 4 push 2 ; float push ebx call sub_74D6D0 fstp [esp+70h+var_6C] add esp, 4 push 1 ; float push ebx call sub_74D6D0 fstp [esp+74h+var_70] add esp, 4 lea eax, [esp+70h+var_54] push eax ; int call sub_554480 mov esi, eax sub esp, 20h mov ecx, 9 lea edi, [esp+94h+var_30] rep movsd mov esi, esp lea ecx, [esp+94h+var_30] mov [esp+94h+var_58], esp push ecx mov ecx, esi call sub_553350 mov edx, [esp+94h+var_C] mov [esi+24h], edx mov eax, [esp+94h+var_8] mov [esi+28h], eax mov ecx, [esp+94h+var_4] push ebx mov [esi+2Ch], ecx call sub_74DB60 add esp, 34h pop edi pop esi mov eax, 1 pop ebx add esp, 58h retn sub_75D100 endp
~+[CROOKITY BANDED SNAKES]+~ |
|
|
| Report Abuse |
|
|
|
| 30 Oct 2011 12:58 PM |
Fixed the var_??s:
sub_75D100 proc near
var_70= dword ptr -70h var_6C= dword ptr -6Ch var_68= dword ptr -68h var_58= dword ptr -58h var_54= dword ptr -54h var_30= byte ptr -30h var_C= dword ptr -0Ch var_8= dword ptr -8 var_4= dword ptr -4 arg_0= dword ptr 4
sub esp, 58h push ebx push esi push edi lea ecx, [esp+34h] call sub_554BF0 mov ebx, [esp+68h] push 3 ; float push ebx call sub_74D6D0 fstp dword ptr [esp+4] add esp, 4 push 2 ; float push ebx call sub_74D6D0 fstp dword ptr [esp+4] add esp, 4 push 1 ; float push ebx call sub_74D6D0 fstp dword ptr [esp+4] add esp, 4 lea eax, [esp+1Ch] push eax ; int call sub_554480 mov esi, eax sub esp, 20h mov ecx, 9 lea edi, [esp+64h] rep movsd mov esi, esp lea ecx, [esp+64h] mov [esp+94h+var_58], esp push ecx mov ecx, esi call sub_553350 mov edx, [esp+88h] mov [esi+24h], edx mov eax, [esp+8Ch] mov [esi+28h], eax mov ecx, [esp+90h] push ebx mov [esi+2Ch], ecx call sub_74DB60 add esp, 34h pop edi pop esi mov eax, 1 pop ebx add esp, 58h retn sub_75D100 endp
~+[CROOKITY BANDED SNAKES]+~ |
|
|
| Report Abuse |
|
|
|
| 30 Oct 2011 01:00 PM |
Notice: push INDEX push ebx call sub_74D6D0 fstp dword ptr [esp+4]
Looks like they're getting floats off the stack.
~+[CROOKITY BANDED SNAKES]+~ |
|
|
| Report Abuse |
|
|
|
| 30 Oct 2011 01:03 PM |
Where does fstp put the floats that it pulls out of the stack?
~+[CROOKITY BANDED SNAKES]+~ |
|
|
| Report Abuse |
|
|
|
| 30 Oct 2011 01:06 PM |
| at "dword ptr [esp+4]", silly. |
|
|
| Report Abuse |
|
|
|
| 30 Oct 2011 01:07 PM |
... xD
~+[CROOKITY BANDED SNAKES]+~ |
|
|
| Report Abuse |
|
|
|
| 30 Oct 2011 01:09 PM |
| @shobobo: y u no be in master scripter |
|
|
| Report Abuse |
|
|
|
| 30 Oct 2011 01:10 PM |
Thx necro. You're a life saver. @_@
So it retrieves the three arguments, and keeps them on the stack...
*continues to process*
~+[CROOKITY BANDED SNAKES]+~ |
|
|
| Report Abuse |
|
|
LocalChum
|
  |
| Joined: 04 Mar 2011 |
| Total Posts: 6906 |
|
| |
|
|
| 30 Oct 2011 01:17 PM |
mov ecx, 9 ; number of loops? lea edi, [esp+64h] ; No idea rep movsd ; Move from ESI to EDI
Sample:
0055335F - repe movsd EAX=0018F4EC EBX=1A528320 ECX=00000009 EDX=0075D100 ESI=00D1FFDC EDI=0018F4EC EBP=00000020 ESP=0018F4A0 EIP=0055335F
EFLAGS=00000202
- 0055335F - repe movsd EAX=0018F4EC EBX=1A528320 ECX=00000008 EDX=0075D100 ESI=00D1FFE0 EDI=0018F4F0 EBP=00000020 ESP=0018F4A0 EIP=0055335F
EFLAGS=00010202
- 0055335F - repe movsd EAX=0018F4EC EBX=1A528320 ECX=00000007 EDX=0075D100 ESI=00D1FFE4 EDI=0018F4F4 EBP=00000020 ESP=0018F4A0 EIP=0055335F
EFLAGS=00010202
- 0055335F - repe movsd EAX=0018F4EC EBX=1A528320 ECX=00000006 EDX=0075D100 ESI=00D1FFE8 EDI=0018F4F8 EBP=00000020 ESP=0018F4A0 EIP=0055335F
EFLAGS=00010202
- 0055335F - repe movsd EAX=0018F4EC EBX=1A528320 ECX=00000005 EDX=0075D100 ESI=00D1FFEC EDI=0018F4FC EBP=00000020 ESP=0018F4A0 EIP=0055335F
EFLAGS=00010202
- 0055335F - repe movsd EAX=0018F4EC EBX=1A528320 ECX=00000004 EDX=0075D100 ESI=00D1FFF0 EDI=0018F500 EBP=00000020 ESP=0018F4A0 EIP=0055335F
EFLAGS=00010202
- 0055335F - repe movsd EAX=0018F4EC EBX=1A528320 ECX=00000003 EDX=0075D100 ESI=00D1FFF4 EDI=0018F504 EBP=00000020 ESP=0018F4A0 EIP=0055335F
EFLAGS=00010202
- 0055335F - repe movsd EAX=0018F4EC EBX=1A528320 ECX=00000002 EDX=0075D100 ESI=00D1FFF8 EDI=0018F508 EBP=00000020 ESP=0018F4A0 EIP=0055335F
EFLAGS=00010202
- 0055335F - repe movsd EAX=0018F4EC EBX=1A528320 ECX=00000001 EDX=0075D100 ESI=00D1FFFC EDI=0018F50C EBP=00000020 ESP=0018F4A0 EIP=0055335F
EFLAGS=00010202
~+[CROOKITY BANDED SNAKES]+~ |
|
|
| Report Abuse |
|
|
| |
|
LocalChum
|
  |
| Joined: 04 Mar 2011 |
| Total Posts: 6906 |
|
| |
|
mew903
|
  |
| Joined: 03 Aug 2008 |
| Total Posts: 22071 |
|
| |
|
|
| 30 Oct 2011 01:27 PM |
0055450B, 0055453C, 00554567 - fsin
~+[CROOKITY BANDED SNAKES]+~ |
|
|
| Report Abuse |
|
|
|
| 30 Oct 2011 01:28 PM |
0055449A, 00554534, 00554563 - fcos
~+[CROOKITY BANDED SNAKES]+~ |
|
|
| Report Abuse |
|
|
|
| 30 Oct 2011 01:31 PM |
My eyes are fried.
http://pastebin.com/VXUR98G0 |
|
|
| Report Abuse |
|
|
|
| 30 Oct 2011 01:35 PM |
Popin, you really have no clue about assembly do you ?
mov ecx, 9 ; ECX is often the loop counter, so yes. lea edi, [esp+64h] ; EDI := the memory address of esp+64h rep movsd ; Move Dword from ESI to EDI 9 times, each time incrementing ESI & EDI by 4 |
|
|
| Report Abuse |
|
|
blocco
|
  |
| Joined: 14 Aug 2008 |
| Total Posts: 29474 |
|
|
| 30 Oct 2011 01:37 PM |
| so if i put this in my code it will make me have CFrame Angles, no? |
|
|
| Report Abuse |
|
|
|
| 30 Oct 2011 01:38 PM |
| Oh, whoops, it's actually "Move Dword from DS:ESI to ES:EDI" I believe. |
|
|
| Report Abuse |
|
|
|
| 30 Oct 2011 01:39 PM |
@Necro
I tend to stick to my luaz and mah c++z kthx.
~+[CROOKITY BANDED SNAKES]+~ |
|
|
| Report Abuse |
|
|