VrpGetContextsForNotifyInfo

INT64 __fastcall VrpGetContextsForNotifyInfo(INT64 a1, _QWORD *a2, _QWORD *a3, _QWORD *a4){
  INT64 result; 
  __int64 v5; 
  __int64 v6; 
  switch( (_DWORD)a1 )
  {
    case 0x1C:
LABEL_11:
      result = *(_QWORD *)(*a2 + 88i64);
      goto LABEL_9;
    case 0x1D:
LABEL_10:
      v6 = *(_QWORD *)(*a2 + 32i64);
      result = *(_QWORD *)(*a2 + 40i64);
      *a3 = result;
      *a4 = v6;
      return result;
    case 7:
LABEL_8:
      result = a2[6];
LABEL_9:
      *a3 = result;
      *a4 = 0i64;
      return result;
    case 0x16:
    case 0x17:
LABEL_7:
      result = a2[5];
      v5 = a2[4];
      *a3 = result;
      *a4 = v5;
      break;
    default:
      switch( (int)a1 )
      {
        case 0:
        case 14:
        case 30:
          result = a2[2];
          *a3 = result;
          *a4 = 0i64;
          break;
        case 1:
        case 5:
        case 6:
          goto LABEL_8;
        case 2:
        case 4:
        case 34:
          result = a2[3];
          *a3 = result;
          *a4 = 0i64;
          break;
        case 3:
        case 36:
        case 47:
          result = a2[5];
          *a3 = result;
          *a4 = 0i64;
          break;
        case 8:
        case 9:
          result = a2[7];
          *a3 = result;
          *a4 = 0i64;
          break;
        case 11:
        case 13:
        case 15:
        case 16:
        case 17:
        case 18:
        case 19:
        case 20:
        case 21:
        case 22:
        case 23:
        case 24:
        case 25:
        case 31:
        case 35:
        case 37:
        case 39:
        case 42:
        case 44:
        case 46:
        case 48:
          goto LABEL_7;
        case 26:
          goto LABEL_11;
        case 27:
        case 33:
          goto LABEL_10;
        case 32:
          result = *(_QWORD *)(*a2 + 72i64);
          *a3 = result;
          *a4 = 0i64;
          break;
        case 38:
        case 41:
        case 43:
        case 45:
          result = a2[4];
          *a3 = result;
          *a4 = 0i64;
          break;
        case 40:
          result = a2[1];
          *a3 = result;
          *a4 = 0i64;
          break;
        default:
          result = 0i64;
          goto LABEL_9;
      }
      break;
  }
  return result;
}

Referenced by:

VrpShouldOperateOnCall