All pastes #956335 Raw Edit

Someone

public text v1 · immutable
#956335 ·published 2008-03-25 05:15 UTC
rendered paste body
//----- (004CC640) --------------------------------------------------------
int __cdecl sub_4CC640(int a1)
{
  int v1; // eax@1
  int v2; // ebp@1
  int v3; // edi@1
  signed int v4; // esi@1
  int result; // eax@2
  int v6; // edx@3
  int v7; // ebx@7
  signed int v8; // edi@8
  int v9; // eax@11
  int v10; // edx@11

  v2 = a1;
  v4 = 0;
  v1 = sub_4CC080(8 * *(_DWORD *)(a1 + 4) + 2, (int)".\\crypto\\bn\\bn_print.c", 74);
  v3 = v1;
  a1 = v1;
  if ( v1 )
  {
    v6 = v1;
    if ( *(_DWORD *)(v2 + 12) )
    {
      *(_BYTE *)v1 = 45;
      v6 = v1 + 1;
    }
    if ( !*(_DWORD *)(v2 + 4) )
      *(_BYTE *)v6++ = 48;
    v7 = *(_DWORD *)(v2 + 4) - 1;
    if ( v7 >= 0 )
    {
      do
      {
        v8 = 24;
        do
        {
          if ( v4 || (*(_DWORD *)(*(_DWORD *)v2 + 4 * v7) >> v8) & 0xFF )
          {
            v9 = (*(_DWORD *)(*(_DWORD *)v2 + 4 * v7) >> v8) & 0xF;
            v10 = v6 + 1;
            v4 = 1;
            *(_BYTE *)(v10 - 1) = byte_50BDE8[((*(_DWORD *)(*(_DWORD *)v2 + 4 * v7) >> v8) & 0xFF) >> 4];
            *(_BYTE *)v10 = byte_50BDE8[v9];
            v6 = v10 + 1;
          }
          v8 -= 8;
        }
        while ( v8 >= 0 );
        --v7;
      }
      while ( v7 >= 0 );
      v3 = a1;
    }
    result = v3;
    *(_BYTE *)v6 = 0;
  }
  else
  {
    sub_4CEC20(3u, 105, 65, (int)".\\crypto\\bn\\bn_print.c", 77);
    result = v3;
  }
  return result;
}