Public feed #890844

blah blah

public text v1 · immutable
Raw Edit
·published 2008-02-04 03:36 UTC
rendered paste body
int __cdecl sub_10004E30(int a1, int a2)
{
  int result; // eax@1
  int v3; // ecx@1
  int v4; // eax@2
  int v5; // edx@2
  int v6; // ecx@3
  int v7; // edi@3
  unsigned int v8; // edx@4

  v3 = *(_DWORD *)(a1 + 4);
  result = *(_DWORD *)(a1 + 4) - *(_DWORD *)(a2 + 4);
  if ( !result )
  {
    v4 = v3 - 1;
    v5 = *(_DWORD *)a2;
    if ( v3 - 1 < 0 )
    {
LABEL_6:
      result = 0;
    }
    else
    {
      v6 = v5 + 4 * v4;
      v7 = *(_DWORD *)a1 - v5;
      while ( 1 )
      {
        v8 = *(_DWORD *)(v7 + v6);
        if ( *(_DWORD *)v6 != v8 )
          break;
        --v4;
        v6 -= 4;
        if ( v4 < 0 )
          goto LABEL_6;
      }
      result = (-(*(_DWORD *)v6 < v8) & 2) - 1;
    }
  }
  return result;
}

signed int __cdecl sub_1000CC60(int a1, int a2, int a3)
{
  int v3; // eax@1
  int v4; // ecx@1
  int v5; // ebx@3
  int v6; // ebp@3
  int v7; // edi@3
  int v8; // esi@3
  signed int result; // eax@4
  int v10; // edi@8
  int v11; // esi@8
  int v12; // eax@12
  int *v13; // eax@8
  int v14; // edi@8
  int v15; // esi@8
  int v16; // eax@8
  int v17; // eax@10

  v4 = a2;
  v3 = a3;
  if ( *(_DWORD *)(a2 + 4) < *(_DWORD *)(a3 + 4) )
  {
    a2 = a3;
    a3 = v4;
    v3 = v4;
    v4 = a2;
  }
  v6 = *(_DWORD *)(v3 + 4);
  v8 = a1;
  v7 = *(_DWORD *)(v4 + 4);
  v5 = v7 - v6;
  if ( v7 + 1 > *(_DWORD *)(a1 + 8) )
  {
    result = sub_10004AA0(a1, v7 + 1);
    v4 = a2;
  }
  else
  {
    result = a1;
  }
  if ( result )
  {
    v13 = (int *)a3;
    *(_DWORD *)(v8 + 4) = v7;
    v14 = *(_DWORD *)v4;
    v15 = *(_DWORD *)v8;
    v16 = sub_10010CEF(v15, *(_DWORD *)v4, *v13, v6);
    v11 = 4 * v6 + v15;
    v10 = 4 * v6 + v14;
    if ( v16 )
    {
      if ( !v5 )
      {
LABEL_12:
        v12 = a1;
        *(_DWORD *)v11 = 1;
        ++*(_DWORD *)(v12 + 4);
LABEL_14:
        if ( v5 )
        {
          if ( v11 != v10 )
          {
            do
            {
              --v5;
              *(_DWORD *)v11 = *(_DWORD *)v10;
              v11 += 4;
              v10 += 4;
            }
            while ( v5 );
          }
        }
        *(_DWORD *)(v12 + 12) = 0;
        return 1;
      }
      while ( 1 )
      {
        v17 = *(_DWORD *)v10 + 1;
        *(_DWORD *)v11 = v17;
        --v5;
        v10 += 4;
        v11 += 4;
        if ( v17 )
          break;
        if ( !v5 )
          goto LABEL_12;
      }
    }
    v12 = a1;
    goto LABEL_14;
  }
  return result;
}
case 41:
      sub_1000CF70(*(_DWORD *)(a2 + 120), *(_DWORD *)(a2 + 120), *(_DWORD *)(a2 + 124));
      v10 = *(_DWORD *)(v5 + 204);
      v11 = __SETO__(v10, 2);
      v12 = v10 == 2;
      v13 = v10 < 2;
      v7 = 5 * v10;
      if ( !((unsigned __int8)(v13 ^ v11) | v12) )
        v7 = 2 * v7 - 10;
      *(_DWORD *)(v5 + 112) = v7 + 500;
      result = v16;
      break;