BcpGetCharacterMaxResourceProfile

INT64 __fastcall BcpGetCharacterMaxResourceProfile(UINT16 a1, INT64 rdx0, INT64 r8_0, INT64 a4){
  __int64 v5; 
  __int64 v7; 
  int *v8; 
  int v9; 
  int XExtent; 
  unsigned int v11; 
  unsigned __int64 v12; 
  unsigned __int64 v13; 
  bool v14; 
  INT64 v16; 
  INT64 a2[2]; 
  __int64 v18; 
  INT64 a6[2]; 
  unsigned __int64 v20; 
  unsigned int a3; 
  v5 = *(_QWORD *)(r8_0 + 16);
  *(_OWORD *)a2 = *(_OWORD *)r8_0;
  v7 = 0i64;
  v18 = v5;
  v8 = (int *)qword_140C10E80 + (int)rdx0;
  do
  {
    v9 = *v8;
    a3 = 0;
    LODWORD(v18) = v9;
    v20 = 0i64;
    *(_OWORD *)a6 = 0i64;
    XExtent = RaspGetXExtent(a1, (INT64)a2, &a3, a4, v16, a6);
    if( XExtent < 0 )
      break;
    v11 = a3;
    v12 = v20;
    if( *(_DWORD *)(a4 + 8) >= a3 )
      v11 = *(_DWORD *)(a4 + 8);
    v13 = *(_QWORD *)a4;
    v14 = *(_QWORD *)a4 < v20;
    *(_DWORD *)(a4 + 8) = v11;
    if( !v14 )
      v12 = v13;
    ++v7;
    v8 += 18;
    *(_QWORD *)a4 = v12;
  }
  while( v7 < 5 );
  return(unsigned int)XExtent;
}

Referenced by:

BcpGetMaxResourceProfile