char __cdecl VgaCrtcProgram(_BYTE *a1, int a2, unsigned int n0x400, unsigned int a4)
{
unsigned __int16 v4; // si
int v5; // ecx
char n34; // al
char v8; // [esp+0h] [ebp-14A4h] BYREF
char v9; // [esp+800h] [ebp-CA4h] BYREF
char v10; // [esp+BFCh] [ebp-8A8h] BYREF
char v11; // [esp+FF8h] [ebp-4ACh] BYREF
char v12; // [esp+1078h] [ebp-42Ch] BYREF
char v13; // [esp+10F8h] [ebp-3ACh] BYREF
char v14; // [esp+1178h] [ebp-32Ch] BYREF
char v15; // [esp+11F8h] [ebp-2ACh] BYREF
char v16; // [esp+1278h] [ebp-22Ch] BYREF
char v17; // [esp+12F8h] [ebp-1ACh] BYREF
char v18; // [esp+1348h] [ebp-15Ch] BYREF
char v19; // [esp+1398h] [ebp-10Ch] BYREF
char v20; // [esp+13D8h] [ebp-CCh] BYREF
char v21; // [esp+1418h] [ebp-8Ch] BYREF
char v22; // [esp+1438h] [ebp-6Ch] BYREF
_BYTE v23[4]; // [esp+1448h] [ebp-5Ch] BYREF
__int16 n8; // [esp+144Ch] [ebp-58h]
int v25; // [esp+144Eh] [ebp-56h]
char *v26; // [esp+1452h] [ebp-52h]
char *v27; // [esp+1456h] [ebp-4Eh]
char *v28; // [esp+145Ah] [ebp-4Ah]
char *v29; // [esp+145Eh] [ebp-46h]
char *v30; // [esp+1462h] [ebp-42h]
int v31; // [esp+1466h] [ebp-3Eh]
char *v32; // [esp+146Ah] [ebp-3Ah]
char *v33; // [esp+146Eh] [ebp-36h]
char *v34; // [esp+1472h] [ebp-32h]
char *v35; // [esp+1476h] [ebp-2Eh]
char *v36; // [esp+147Ah] [ebp-2Ah]
char *v37; // [esp+147Eh] [ebp-26h]
char *v38; // [esp+1482h] [ebp-22h]
char *v39; // [esp+1486h] [ebp-1Eh]
char *v40; // [esp+148Ah] [ebp-1Ah]
char *v41; // [esp+148Eh] [ebp-16h]
int v42; // [esp+1492h] [ebp-12h]
int v43; // [esp+1496h] [ebp-Eh]
unsigned int n0x400_1; // [esp+149Ah] [ebp-Ah]
unsigned int v45; // [esp+149Eh] [ebp-6h]
v26 = &v18;
n8 = 8;
v27 = &v10;
v28 = &v17;
v29 = &v9;
v30 = &v8;
v32 = &v16;
v33 = &v15;
v34 = &v14;
v35 = &v13;
v36 = &v12;
v37 = &v11;
v38 = &v22;
v39 = &v21;
v40 = &v20;
v41 = &v19;
v31 = a2;
n0x400_1 = n0x400;
v45 = a4;
v43 = 0;
v42 = 0;
if ( !VgaDisplayProgramLarge(a1, (int)v23) )
return 0;
v4 = *(unsigned __int8 *)(v25 + 6) | (unsigned __int16)(*(_WORD *)(v25 + 5) << 8);
v5 = (unsigned __int16)(*(unsigned __int8 *)(v25 + 4) | (unsigned __int16)(*(_WORD *)(v25 + 3) << 8));
if ( *(_BYTE *)(v25 + 12) == 17 && *(_BYTE *)(v25 + 15) == 17 )
{
n34 = *(_BYTE *)(v25 + 9);
if ( n34 == 17 )
{
VgaDisplayModeSwitch(v4, v5, 273, v23);
}
else if ( n34 == 34 )
{
VgaDisplayModeSwitch(v4, v5, 290, v23);
}
}
return 1;
}