HalpRegisterUsbController

NTSTATUS __fastcall HalpRegisterUsbController(INT64 a1, INT64 a2, CHAR a3, CHAR a4){
  int v4; 
  int v7; 
  UINT8 *v8; 
  UINT8 **v9; 

  v4 = a2;
  v7 = a1;
  v8 = HalpMmAllocCtxAlloc((_HALP_ALLOC_CONTEXT *)a1, 0x20ui64);
  if( v8 )
  {
    *(_OWORD *)v8 = 0i64;
    *((_OWORD *)v8 + 1) = 0i64;
    *((_DWORD *)v8 + 4) = v7;
    *((_DWORD *)v8 + 5) = v4;
    v8[26] = a3;
    v8[25] = a4;
    v9 = (UINT8 **)*(&CmpDummyThreadEvent + 533);
    if( (_UNKNOWN *)**(&CmpDummyThreadEvent + 533) != (_UNKNOWN *)((char *)&CmpDummyThreadEvent + 4256) )
      __fastfail(3u);
    *(_QWORD *)v8 = (char *)&CmpDummyThreadEvent + 4256;
    *((_QWORD *)v8 + 1) = v9;
    *v9 = v8;
    *(&CmpDummyThreadEvent + 533) = v8;
  }
  return(int)v8;
}

Referenced by:

HalpUsbLegacyDeviceHandoff