08-27-2009, 09:01 AM
ASM-Code:
State8xxx proc CMP EAX,1F40h jl state4xxx CMP EAX,2328h jge state4xxx jmp Transform1 state4xxx: ;I didn't bother really understanding the code, just copied it ;there is only 1 line you should edit, I commented it :p CMP EAX,0FA0h jl timestop CMP EAX,1388h jge timestop MOV ECX,DWORD PTR DS:[EBX+7D4h] LEA EDX,DWORD PTR DS:[EAX-0FA0h] XOR EAX,EAX CMP DWORD PTR DS:[ECX+4D82380h],EAX JLE a d: MOV ESI,DWORD PTR DS:[ECX] CMP DWORD PTR DS:[ESI+6F4h],EDX JE b MOV ESI,DWORD PTR DS:[EBX+7D4h] ADD EAX,1 ADD ECX,4 CMP EAX,DWORD PTR DS:[ESI+4D82380h] JL d JMP a b: MOV ECX,DWORD PTR DS:[EBX+7D4h] MOV ECX,DWORD PTR DS:[ECX+EAX*4h] MOV EAX,DWORD PTR DS:[EBX+EDI*4+194h] MOV DWORD PTR DS:[EAX+368h],ECX a: MOV EDX,DWORD PTR DS:[EBX+EDI*4+194h] MOV DWORD PTR DS:[EDX+70h],0 ; this line sets your frame number to 0, remove it if you want MOV EAX,DWORD PTR DS:[EBX+EDI*4+194h] timestop: CMP EAX,10000 jl charging CMP EAX,20000 jge charging sub eax,10000 push ecx lea ecx, dword ptr ds:[memAlloc+edi*4+edi] mov dword ptr ds:[ecx+1],eax mov byte ptr ds:[ecx],1 pop ecx charging: CMP EAX,6000 jl return CMP EAX,7000 jge return sub eax,6000 mov ebp,dword ptr ds:[esi+eax*4+194h] mov ecx,dword ptr ds:[ebp+308] add ecx,eax cmp ecx,500 jge short no_charge no_charge: sub ecx,500 add ecx,500 return: jmp Transform2 State8xxx endp |
i used the state8xxx proc
im gonna change it a bit i guess and see