int __cdecl RtcCenturySet(char a1)
{
int v1; // ecx
int v2; // esi
unsigned __int8 v3; // bh
unsigned __int8 v4; // ah
char v5; // bh
unsigned __int8 v6; // bl
unsigned int v7; // edx
char v8; // cl
unsigned int v9; // edx
int v10; // edx
unsigned __int8 n0xC; // al
v2 = v1;
v3 = *(_BYTE *)(v1 + 4);
v4 = v3 & 0x7F;
v5 = v3 >> 7;
*(_BYTE *)(v1 + 4) = v4;
if ( (a1 & 4) == 0 )
{
v6 = *(_BYTE *)(v1 + 6);
v7 = *(unsigned __int8 *)(v1 + 2);
*(_WORD *)v1 = (unsigned __int8)(*(_BYTE *)v1 - 6 * (*(_BYTE *)v1 >> 4));
v8 = -6 * (v7 >> 4);
v9 = *(unsigned __int8 *)(v2 + 3);
*(_BYTE *)(v2 + 2) += v8;
*(_BYTE *)(v2 + 3) += -6 * (v9 >> 4);
v10 = *(unsigned __int8 *)(v2 + 5) >> 4;
*(_BYTE *)(v2 + 4) = v4 - 6 * (v4 >> 4);
*(_BYTE *)(v2 + 5) += -6 * v10;
*(_BYTE *)(v2 + 6) = v6 - 6 * (v6 >> 4);
}
if ( (a1 & 2) == 0 )
{
if ( v5 )
{
n0xC = *(_BYTE *)(v2 + 4);
if ( n0xC < 0xCu )
*(_BYTE *)(v2 + 4) = n0xC + 12;
}
else if ( *(_BYTE *)(v2 + 4) == 12 )
{
*(_BYTE *)(v2 + 4) = 0;
}
}
*(_DWORD *)(v2 + 8) = 0;
*(_WORD *)(v2 + 12) = 2047;
*(_BYTE *)(v2 + 14) = 0;
return 2047;
}