All pastes #956336 Raw Edit

Unnamed

public text v1 · immutable
#956336 ·published 2008-03-25 05:16 UTC
rendered paste body
//----- (004CCA60) --------------------------------------------------------
signed int __cdecl sub_4CCA60(int a1, int a2, int a3)
{
  int v3; // ebx@1
  int v4; // esi@1
  int v6; // eax@4
  unsigned int v7; // edi@4
  __int16 v8; // ST10_2@6
  int v9; // ST14_4@6
  int v10; // ST18_4@6
  int v11; // ebp@11
  int v12; // ST18_4@1
  int v13; // [sp+10h] [bp-8h]@1
  int v14; // [sp+14h] [bp-4h]@5

  v4 = a3;
  v3 = 0;
  v12 = *(_DWORD *)(a3 + 8);
  v13 = -1;
  if ( sub_4CCCB0(v12) > 10000 )
  {
    sub_4CEC20(5u, 102, 103, (int)".\\crypto\\dh\\dh_key.c", 184);
    return -1;
  }
  v6 = sub_4D0D10();
  v7 = v6;
  if ( !v6 )
    return -1;
  sub_4D0DE0(v6);
  v14 = sub_4D0F30(v7);
  if ( !*(_DWORD *)(v4 + 24) )
  {
    v10 = 195;
    v9 = (int)".\\crypto\\dh\\dh_key.c";
    v8 = 100;
LABEL_17:
    sub_4CEC20(5u, 102, v8, v9, v10);
    goto LABEL_18;
  }
  if ( *(_BYTE *)(v4 + 28) & 1 )
  {
    v3 = sub_4D1A50(v4 + 32, 26, *(_DWORD *)(v4 + 8), v7);
    if ( !(*(_BYTE *)(v4 + 28) & 2) )
      *(_DWORD *)(*(_DWORD *)(v4 + 24) + 16) |= 4u;
    if ( !v3 )
      goto LABEL_18;
  }
  v11 = a2;
  if ( !sub_4D1BB0(v4, a2, (int)&a3) || a3 )
  {
    v10 = 214;
    v9 = (int)".\\crypto\\dh\\dh_key.c";
    v8 = 102;
    goto LABEL_17;
  }
  if ( !(*(int (__cdecl **)(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD))(*(_DWORD *)(v4 + 68) + 12))(
          v4,
          v14,
          v11,
          *(_DWORD *)(v4 + 24),
          *(_DWORD *)(v4 + 8),
          v7,
          v3) )
  {
    v10 = 220;
    v9 = (int)".\\crypto\\dh\\dh_key.c";
    v8 = 3;
    goto LABEL_17;
  }
  v13 = sub_4CD330(v14, a1);
LABEL_18:
  sub_4D0EC0(v7);
  sub_4D0D70((void *)v7);
  return v13;
}