Skip to content

Instantly share code, notes, and snippets.

@DarkLotus
Created September 18, 2019 09:01
Show Gist options
  • Save DarkLotus/8e1ee7fdbb996cd78035a8144e819cd8 to your computer and use it in GitHub Desktop.
Save DarkLotus/8e1ee7fdbb996cd78035a8144e819cd8 to your computer and use it in GitHub Desktop.
int __thiscall PacketHandler(_DWORD *this, char *a2)
{
int v2; // edi@1
_DWORD *v3; // ebx@1
int v4; // ebp@2
int v5; // edi@16
int v6; // edx@18
char *v7; // esi@18
int result; // eax@20
int v9; // edi@21
dword_A782F0 = 0;
v2 = *(_DWORD *)dword_A783A4;
v3 = this;
while ( 1 )
{
v4 = dword_A783A4;
if ( !&unk_A783A0 || &unk_A783A0 != &unk_A783A0 )
_invalid_parameter_noinfo();
if ( v2 == v4 )
{
v5 = dword_A782F0;
goto LABEL_18;
}
if ( !&unk_A783A0 )
_invalid_parameter_noinfo();
if ( v2 == *((_DWORD *)&unk_A783A0 + 1) )
_invalid_parameter_noinfo();
if ( *(_DWORD **)(*(_DWORD *)(v2 + 8) + 4) == v3 )
break;
if ( v2 == *((_DWORD *)&unk_A783A0 + 1) )
_invalid_parameter_noinfo();
v2 = *(_DWORD *)v2;
}
if ( v2 == *((_DWORD *)&unk_A783A0 + 1) )
_invalid_parameter_noinfo();
v5 = *(_DWORD *)(v2 + 8);
dword_A782F0 = v5;
LABEL_18:
v6 = *(_DWORD *)(v5 + 4);
v7 = a2;
if ( v6 != dword_A782E4 && *(_DWORD *)(v6 + 180) )
{
result = (unsigned __int8)*a2;
switch ( result )
{
case 0xE:
case 0x1B:
case 0x33:
case 0x35:
case 0x73:
case 0x8C:
case 0xA9:
case 0xBD:
case 0xBE:
case 0xBF:
case 0xC3:
case 0xCB:
goto LABEL_21;
default:
return result;
}
}
else
{
LABEL_21:
result = sub_463D90(a2);
v9 = (unsigned __int8)*v7;
switch ( v9 )
{
case 0xBF:
result = sub_479440(v7);
dword_6D2D44 = v9;
break;
case 0x33:
if ( !v7[1] )
goto LABEL_168;
v3[163896] = 1;
dword_6D2D44 = v9;
break;
case 0x1A:
result = sub_467680(v7);
dword_6D2D44 = v9;
break;
case 0x77:
result = sub_476BA0(v7);
dword_6D2D44 = v9;
break;
case 0x78:
result = sub_476E20(v7);
dword_6D2D44 = v9;
break;
case 0xD2:
result = sub_467390(v7);
dword_6D2D44 = v9;
break;
case 0xD3:
result = sub_477410(v7);
dword_6D2D44 = v9;
break;
case 0xC4:
result = sub_47CA40(v7);
dword_6D2D44 = v9;
break;
case 0x20:
result = sub_476AA0(v7);
dword_6D2D44 = v9;
break;
case 0x21:
result = sub_467F90(v7);
dword_6D2D44 = v9;
break;
case 0x22:
result = sub_467310(v7);
dword_6D2D44 = v9;
break;
case 0x1C:
result = sub_4727D0(v7);
dword_6D2D44 = v9;
break;
case 0xAE:
result = sub_5D6B70(v7);
dword_6D2D44 = v9;
break;
case 0x1B:
result = sub_475290(v7);
dword_6D2D44 = v9;
break;
case 0x81:
result = sub_46CF60(v7);
dword_6D2D44 = v9;
break;
case 0xA8:
result = sub_47D820(v7);
dword_6D2D44 = v9;
break;
case 0xA9:
result = sub_47DFD0(v7);
dword_6D2D44 = v9;
break;
case 0x82:
result = sub_46DAF0(v7);
dword_6D2D44 = v9;
break;
case 0x76:
result = sub_467090(v7);
dword_6D2D44 = v9;
break;
case 0x1D:
result = sub_4671A0(v7);
dword_6D2D44 = v9;
break;
case 0x23:
result = sub_468030(v7);
dword_6D2D44 = v9;
break;
case 0x24:
result = sub_467A70(v7);
dword_6D2D44 = v9;
break;
case 0x90:
result = sub_467CD0(v7);
dword_6D2D44 = v9;
break;
case 0xF5:
result = sub_467E20(v7);
dword_6D2D44 = v9;
break;
case 0x25:
result = sub_4682D0(v7);
dword_6D2D44 = v9;
break;
case 0x3C:
result = sub_4683C0(v7);
dword_6D2D44 = v9;
break;
case 0x27:
result = sub_468620(v7);
dword_6D2D44 = v9;
break;
case 0x28:
result = sub_468920(v7);
dword_6D2D44 = v9;
break;
case 0x29:
result = sub_468970(v7);
dword_6D2D44 = v9;
break;
case 0x2C:
result = sub_468A30(v7);
dword_6D2D44 = v9;
break;
case 0x2D:
result = sub_468B40(v7);
dword_6D2D44 = v9;
break;
case 0xA1:
result = sub_468DF0(v7);
dword_6D2D44 = v9;
break;
case 0xA2:
result = sub_468FA0(v7);
dword_6D2D44 = v9;
break;
case 0xA3:
result = sub_4690B0(v7);
dword_6D2D44 = v9;
break;
case 0x2E:
result = sub_4779D0(v7);
dword_6D2D44 = v9;
break;
case 0x2F:
result = sub_4689D0(v7);
dword_6D2D44 = v9;
break;
case 0x30:
result = sub_469710(v7);
dword_6D2D44 = v9;
break;
case 0x31:
result = sub_47D080(v7);
dword_6D2D44 = v9;
break;
case 0x70:
result = sub_46BC50(v7);
dword_6D2D44 = v9;
break;
case 0x7B:
result = sub_46CA00(v7);
dword_6D2D44 = v9;
break;
case 0x7C:
result = sub_46CB60(v7);
dword_6D2D44 = v9;
break;
case 0x95:
result = sub_46CE50(v7);
dword_6D2D44 = v9;
break;
case 0x88:
result = sub_46DE40(v7);
dword_6D2D44 = v9;
break;
case 0x8B:
result = sub_46E010(v7);
dword_6D2D44 = v9;
break;
case 0x98:
result = sub_46E420(v7);
dword_6D2D44 = v9;
break;
case 0xAB:
result = sub_46EA40(v7);
dword_6D2D44 = v9;
break;
case 0xAF:
result = sub_46EB80(v7);
dword_6D2D44 = v9;
break;
case 0xB0:
result = sub_461310(v7);
dword_6D2D44 = v9;
break;
case 0xB9:
result = sub_470280(v7);
dword_6D2D44 = v9;
break;
case 0x11:
result = sub_47BB80(v7);
dword_6D2D44 = v9;
break;
case 0x15:
result = sub_4697B0(v7);
dword_6D2D44 = v9;
break;
case 0x38:
result = sub_469E40(v7);
dword_6D2D44 = v9;
break;
case 0x3F:
result = sub_46A180(v7);
dword_6D2D44 = v9;
break;
case 0x40:
result = sub_46A3D0(v7);
dword_6D2D44 = v9;
break;
case 0x42:
result = sub_46A590(v7);
dword_6D2D44 = v9;
break;
case 0x43:
result = sub_46A110(v7);
dword_6D2D44 = v9;
break;
case 0x44:
result = sub_469F00(v7);
dword_6D2D44 = v9;
break;
case 0x41:
result = sub_46A470(v7);
dword_6D2D44 = v9;
break;
case 0x3E:
result = sub_46A630(v7);
dword_6D2D44 = v9;
break;
case 0x45:
result = sub_46A6E0(v7);
dword_6D2D44 = v9;
break;
case 0x39:
result = sub_4679C0(v7);
dword_6D2D44 = v9;
break;
case 0x3A:
result = sub_469860(v7);
dword_6D2D44 = v9;
break;
case 0x3B:
result = sub_469D30(v7);
dword_6D2D44 = v9;
break;
case 0x4E:
result = sub_46A710(v7);
dword_6D2D44 = v9;
break;
case 0x4F:
result = sub_466AC0(v7);
dword_6D2D44 = v9;
break;
case 0x53:
result = sub_46A7E0(v7);
dword_6D2D44 = v9;
break;
case 0x55:
result = sub_46AED0(v7);
dword_6D2D44 = v9;
break;
case 0x56:
result = sub_46AF10(v7);
dword_6D2D44 = v9;
break;
case 0x54:
result = sub_46B0E0(v7);
dword_6D2D44 = v9;
break;
case 0x57:
result = sub_469FA0(v7);
dword_6D2D44 = v9;
break;
case 0x92:
result = sub_46A260(v7);
dword_6D2D44 = v9;
break;
case 0x94:
result = sub_46A320(v7);
dword_6D2D44 = v9;
break;
case 0x5B:
result = sub_46A770(v7);
dword_6D2D44 = v9;
break;
case 0x65:
result = sub_46B260(v7);
dword_6D2D44 = v9;
break;
case 0x66:
result = sub_46B650(v7);
dword_6D2D44 = v9;
break;
case 0x93:
result = sub_46B2C0(v7);
dword_6D2D44 = v9;
break;
case 0xD4:
result = sub_46B480(v7);
dword_6D2D44 = v9;
break;
case 0x69:
result = sub_46B850(v7);
dword_6D2D44 = v9;
break;
case 0x6A:
result = sub_46B890(v7);
dword_6D2D44 = v9;
break;
case 0x6C:
result = sub_473D80(v7);
dword_6D2D44 = v9;
break;
case 0x6D:
result = sub_46B8E0(v7);
dword_6D2D44 = v9;
break;
case 0x6E:
result = sub_46BAE0(v7);
dword_6D2D44 = v9;
break;
case 0xE2:
result = sub_46BBC0(v7);
dword_6D2D44 = v9;
break;
case 0x6F:
result = sub_4740B0(v7);
dword_6D2D44 = v9;
break;
case 0x71:
result = sub_46C360(v7);
dword_6D2D44 = v9;
break;
case 0x72:
result = sub_46C970(v7);
dword_6D2D44 = v9;
break;
case 0x73:
result = sub_46B930(v7);
dword_6D2D44 = v9;
break;
case 0x74:
result = sub_46B960(v7);
dword_6D2D44 = v9;
break;
case 0x9E:
result = sub_477E40(v7);
dword_6D2D44 = v9;
break;
case 0x89:
result = sub_4675C0(v7);
dword_6D2D44 = v9;
break;
case 0x8C:
result = sub_46E160(v7);
dword_6D2D44 = v9;
break;
case 0x85:
result = sub_46E1D0(v7);
dword_6D2D44 = v9;
break;
case 0x86:
result = sub_46E2D0(v7);
dword_6D2D44 = v9;
break;
case 0x97:
result = sub_46FEE0(v7);
dword_6D2D44 = v9;
break;
case 0x99:
result = sub_473E40(v7);
dword_6D2D44 = v9;
break;
case 0xB4:
result = sub_473F70(v7);
dword_6D2D44 = v9;
break;
case 0x9A:
result = sub_46E4C0(v7);
dword_6D2D44 = v9;
break;
case 0xC2:
result = sub_46E5A0(v7);
dword_6D2D44 = v9;
break;
case 0xC3:
result = sub_55F060(v7);
dword_6D2D44 = v9;
break;
case 0xCB:
result = sub_55EFD0(v7);
dword_6D2D44 = v9;
break;
case 0xA5:
result = sub_46E6B0(v7);
dword_6D2D44 = v9;
break;
case 0xA6:
result = sub_46E740(v7);
dword_6D2D44 = v9;
break;
case 0xAA:
result = sub_46E9C0(v7);
dword_6D2D44 = v9;
break;
case 0xB5:
result = sub_4B4E10(v7);
dword_6D2D44 = v9;
break;
case 0xB2:
result = sub_4BA240(v7);
dword_6D2D44 = v9;
break;
case 0xB3:
result = sub_4B70F0(v7);
dword_6D2D44 = v9;
break;
case 0xB7:
result = sub_470090(v7);
dword_6D2D44 = v9;
break;
case 0xB8:
result = sub_51F160(v7);
dword_6D2D44 = v9;
break;
case 0xBA:
result = sub_470300(v7);
dword_6D2D44 = v9;
break;
case 0xBB:
result = sub_470380(v7);
dword_6D2D44 = v9;
break;
case 0xBD:
result = sub_470BA0(v7);
dword_6D2D44 = v9;
break;
case 0xBE:
result = sub_474D20(v7);
dword_6D2D44 = v9;
break;
case 0xBC:
result = sub_470EF0(v7);
dword_6D2D44 = v9;
break;
case 0xC1:
result = sub_4728E0(v7);
dword_6D2D44 = v9;
break;
case 0xCC:
result = sub_472A90(v7);
dword_6D2D44 = v9;
break;
case 0xC0:
result = sub_46C120(v7);
dword_6D2D44 = v9;
break;
case 0xC6:
result = sub_46E1C0(v7);
dword_6D2D44 = v9;
break;
case 0xC8:
result = sub_4703C0(v7);
dword_6D2D44 = v9;
break;
case 0xC9:
result = sub_470420(v7);
dword_6D2D44 = v9;
break;
case 0xCA:
result = sub_470490(v7);
dword_6D2D44 = v9;
break;
case 0xC7:
result = sub_46BE50(v7);
dword_6D2D44 = v9;
break;
case 0xD0:
result = sub_471200(v7);
dword_6D2D44 = v9;
break;
case 0xD1:
result = sub_471390(v7);
dword_6D2D44 = v9;
break;
case 0xCE:
result = sub_478BB0(v7);
dword_6D2D44 = v9;
break;
case 0xCD:
result = nullsub_44(v7);
dword_6D2D44 = v9;
break;
case 0xD6:
result = sub_461090(v7);
dword_6D2D44 = v9;
break;
case 0xD8:
result = sub_462910(v7);
dword_6D2D44 = v9;
break;
case 0xDA:
result = sub_461990(v7);
dword_6D2D44 = v9;
break;
case 0xDB:
result = sub_469210(v7);
dword_6D2D44 = v9;
break;
case 0xDC:
result = sub_4695E0(v7);
dword_6D2D44 = v9;
break;
case 0x16:
result = sub_47D5B0(v7);
dword_6D2D44 = v9;
break;
case 0x17:
result = sub_47D6A0(v7);
dword_6D2D44 = v9;
break;
case 0xB:
result = sub_4710E0(v7);
dword_6D2D44 = v9;
break;
case 0xDD:
result = sub_461690(v7);
dword_6D2D44 = v9;
break;
case 0xDF:
result = sub_471580(v7);
dword_6D2D44 = v9;
break;
case 0xDE:
result = sub_47D1A0(v7);
dword_6D2D44 = v9;
break;
case 0xE5:
result = sub_471A70(v7);
dword_6D2D44 = v9;
break;
case 0xE6:
result = sub_471B30(v7);
dword_6D2D44 = v9;
break;
case 0xE7:
result = sub_471B60(v7);
dword_6D2D44 = v9;
break;
case 0xE9:
result = sub_471BC0(v7);
dword_6D2D44 = v9;
break;
case 0xEA:
result = sub_471C30(v7);
dword_6D2D44 = v9;
break;
case 0xF2:
result = sub_471C60(v7);
dword_6D2D44 = v9;
break;
case 0xF3:
a2 = 0;
result = sub_467880(v7, &a2);
dword_6D2D44 = v9;
break;
case 0xF6:
result = sub_47D270(v7);
dword_6D2D44 = v9;
break;
case 0xF7:
result = sub_478100(v7);
goto LABEL_168;
default:
LABEL_168:
dword_6D2D44 = v9;
break;
}
}
return result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment