Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. ...
  2. call    _ZNK12CTFGameRules16GetPayloadToPushEi
  3. mov     eax, [ebp+var_38]
  4. sub     esp, 4   ; doesn't relate to our further steps
  5. mov     ecx, g_pEntityList
  6. cmp     eax, 0FFFFFFFFh
  7. jz      short loc_D3FA4A   ; (1) we jump off if inthandle is -1
  8. mov     edx, eax
  9. shr     eax, 0Ch
  10. and     edx, 0FFFh
  11. shl     edx, 4
  12. add     edx, ecx
  13. cmp     [edx+8], eax
  14. jz      loc_D3FB20   ; (2) we must jump here in order to proceed
  15.                      ; i.e. eax should equal [edx+8] at this point
  16.  
  17. ...
  18. ; loc_D3FB20:
  19. mov     eax, [edx+4]
  20. test    eax, eax
  21. jz      loc_D3FA4A   ; (3) we jump off if [edx+4] is NULL
  22. mov     [esp], eax
  23. call    _ZN17CTeamTrainWatcher14GetTrainEntityEv   ; we made it!