aobscanmodule(xyz_movement,halo3.dll,0F 10 02 0F 11 81 F0 00 00 00) // should be unique
alloc(newmem24,$200,xyz_movement)
alloc(flight,3)
registersymbol(flight)
//0F 10 ? 0F 11 ? ? ? ? ? C3 CC CC CC CC CC 0F 10 ? 0F 11
label(code24)
label(return24)
newmem24:
cmp rcx,[m_base]
jne code24
cmp byte ptr [flight],1
jne code24
jmp return24
code24:
movups xmm0,[rdx]
movups [rcx+000000F0],xmm0
jmp return24
xyz_movement:
jmp newmem24
nop 5
return24:
registersymbol(xyz_movement)
aobscanmodule(Call_1,halo3.dll,48 83 EC 28 0F 10 4A 20) // should be unique
registersymbol(Call_1)
//48 83 EC ? 0F 10 ? ? 0F 28 ? 0F 29
aobscanmodule(NoClip,halo3.dll,E8 ? ? ? ? F3 0F ? ? ? 48 8D ? ? F3 0F ? ? ? 45 0F) // should be unique
alloc(newmem28,$100,NoClip)
//E8 ? ? ? ? F3 0F ? ? ? 48 8D ? ? F3 0F ? ? ? 45 0F
label(code28)
label(return28)
newmem28:
cmp byte ptr [flight+2],1
je @f
cmp byte ptr [flight],1
jne code28
@@:
push rax
mov rax,[m_base]
lea rax,[rax+20]
cmp rax,rdx
pop rax
jne code28
jmp return28
code28:
call Call_1
jmp return28
NoClip:
jmp newmem28
return28:
registersymbol(NoClip)