L L4D2node

TZip::ideflate

0x000ee3f0 · 515 bytes · __thiscall

_ZN4TZip8ideflateEP5zlist

Decompiled

undefined (2 params)

/* TZip::ideflate(zlist*) */

undefined4 __thiscall TZip::ideflate(TZip *this,zlist *param_1)

{
  int iVar1;
  undefined4 uVar2;
  int in_GS_OFFSET;
  TZip *pTStack_6afc8;
  int iStack_6afc4;
  TZip TStack_6afc0;
  code *pcStack_6afbc;
  code *pcStack_6afb8;
  undefined1 auStack_6afb4 [2292];
  undefined1 auStack_6a6c0 [244];
  undefined1 auStack_6a5cc [1152];
  undefined1 auStack_6a14c [2];
  undefined2 uStack_6a14a;
  undefined1 auStack_6a0d4 [156];
  undefined1 *puStack_6a038;
  undefined1 *puStack_6a034;
  undefined4 *puStack_6a030;
  undefined4 uStack_6a02c;
  undefined4 uStack_6a028;
  undefined4 uStack_6a024;
  undefined4 uStack_6a020;
  undefined1 *puStack_6a01c;
  undefined1 *puStack_6a018;
  undefined4 *puStack_6a014;
  undefined4 uStack_6a010;
  undefined4 uStack_6a00c;
  undefined4 uStack_6a008;
  undefined4 uStack_6a004;
  undefined1 *puStack_6a000;
  undefined4 uStack_69ffc;
  undefined1 *puStack_69ff8;
  undefined4 uStack_69ff4;
  undefined4 uStack_69ff0;
  undefined4 uStack_69fec;
  undefined4 uStack_69fe8;
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  puStack_6a038 = auStack_6afb4;
  puStack_6a034 = auStack_6a5cc;
  puStack_6a01c = auStack_6a6c0;
  puStack_6a018 = auStack_6a14c;
  puStack_6a000 = auStack_6a0d4;
  puStack_6a030 = &extra_lbits;
  uStack_6a02c = 0x101;
  uStack_6a028 = 0x11e;
  uStack_6a024 = 0xf;
  uStack_6a020 = 0;
  puStack_6a014 = &extra_dbits;
  uStack_6a010 = 0;
  uStack_6a00c = 0x1e;
  uStack_6a008 = 0xf;
  uStack_6a004 = 0;
  uStack_69ffc = 0;
  puStack_69ff8 = extra_blbits;
  uStack_69ff4 = 0;
  uStack_69ff0 = 0x13;
  uStack_69fec = 7;
  uStack_69fe8 = 0;
  TStack_6afc0 = this[0x40];
  pcStack_6afbc = sread;
  pcStack_6afb8 = sflush;
  uStack_6a14a = 0;
  pTStack_6afc8 = this;
  iStack_6afc4 = 8;
  ct_init((TState *)&pTStack_6afc8,(ushort *)(param_1 + 0x2a));
  lm_init((TState *)&pTStack_6afc8,iStack_6afc4,(ushort *)(param_1 + 4));
  uVar2 = deflate((TState *)&pTStack_6afc8);
  *(undefined4 *)(this + 100) = uVar2;
  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {
    return 0;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}

SourceMod gamedata

paste into addons/sourcemod/gamedata/<your_plugin>.txt
used as the SourceMod key — change to fit your plugin's convention
SourceMod library name (server / engine / matchmaking)

Just a Signatures{} block, ready to drop into a gamedata file. Wire it up in your plugin however you like - SDKCall, DHooks, raw memory ops, or anything else.



        

        

          

Type inference is best-effort from the C signature - sanity-check the DHooks types before shipping.

Return-type handling cheatsheet (DHookReturn)