Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DWORD FixSwimReturn=0x68A50E;
- int FixSwimAllow;
- float TimeStepOriginal=1.66;
- void _declspec(naked) FixSwim()
- {
- _asm
- {
- pushfd
- pushad
- }
- if(FixSwimAllow)
- {
- FixSwimAllow=0;
- _asm
- {
- popad
- popfd
- fsub st, st(1)
- fld dword ptr [esp+16]
- lea eax, [esi+44h]
- mov ecx, eax
- fmul st, st(1)
- fdiv ds:0xB7CB5C
- fmul TimeStepOriginal
- fstp dword ptr [esp+28]
- fld dword ptr [esp+20]
- fmul st, st(1)
- fdiv ds:0xB7CB5C
- fmul TimeStepOriginal
- fstp dword ptr [esp+32]
- fmul dword ptr [esp+24]
- fdiv ds:0xB7CB5C
- fmul TimeStepOriginal
- jmp FixSwimReturn
- }
- }
- else _asm
- {
- popad
- popfd
- fsub st, st(1)
- fld dword ptr [esp+16]
- lea eax, [esi+44h]
- mov ecx, eax
- fmul st, st(1)
- fstp dword ptr [esp+28]
- fld dword ptr [esp+20]
- fmul st, st(1)
- fstp dword ptr [esp+32]
- fmul dword ptr [esp+24]
- jmp FixSwimReturn
- }
- }
- DWORD CheckSwim1Return=0x68A218;
- void _declspec(naked) CheckSwim1()
- {
- _asm
- {
- mov eax, [esi+18h]
- push ebx
- push 137h
- pushfd
- pushad
- }
- FixSwimAllow=1;
- _asm
- {
- popad
- popfd
- jmp CheckSwim1Return
- }
- }
- DWORD CheckSwim2Return=0x68A443;
- void _declspec(naked) CheckSwim2()
- {
- _asm
- {
- mov eax, [esi+14h]
- mov ecx, [esi+4D8h]
- pushfd
- pushad
- }
- FixSwimAllow=1;
- _asm
- {
- popad
- popfd
- jmp CheckSwim2Return
- }
- }
- HookInstall(0x68A4EF,(DWORD)FixSwim);
- HookInstall(0x68A20F,(DWORD)CheckSwim1);
- HookInstall(0x68A43A,(DWORD)CheckSwim2);
- HookInstall jmp E9
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement