Skip to content

Instantly share code, notes, and snippets.

@ogarvey
Created March 22, 2024 13:30
Show Gist options
  • Save ogarvey/3da6912bc081de4c1f6054406ef98678 to your computer and use it in GitHub Desktop.
Save ogarvey/3da6912bc081de4c1f6054406ef98678 to your computer and use it in GitHub Desktop.
CD-i Lords Of The Rising Sun decompress method
byte * FUN_0001bea4(undefined4 param_1,undefined4 param_2,byte *param_3,
uint param_4,ushort param_5)
{
byte bVar1;
byte bVar2;
byte *pbVar3;
int iVar4;
ushort uVar5;
short sVar6;
ushort uVar7;
byte *pbVar8;
byte *pbVar9;
byte *pbVar10;
ushort *puVar11;
ushort *puVar12;
code *UNRECOVERED_JUMPTABLE_00;
int unaff_A5;
if ((param_3 != (byte *)0x0) ||
(param_3 = (byte *)FUN_0001ce6e(param_4,param_5,param_4,param_5),
param_3 != (byte *)0x0)) {
*(byte **)(unaff_A5 + -0xb4a) = param_3 + 0x4510;
puVar11 = *(ushort **)(unaff_A5 + -0x160e);
iVar4 = *(int *)(unaff_A5 + -0x1616);
pbVar3 = param_3;
if ((param_5 & 8) == 0) {
A6 = (undefined *)0x1c282;
UNRECOVERED_JUMPTABLE_00 = (code *)0x1bf02;
puVar12 = puVar11;
LAB_0001bf02:
puVar11 = (ushort *)((int)puVar12 + 1);
bVar1 = *(byte *)puVar12;
uVar5 = (ushort)bVar1;
uVar7 = (ushort)bVar1;
pbVar8 = pbVar3;
switch(bVar1 & 0xf0) {
case 0:
do {
puVar12 = (ushort *)((int)puVar11 + 1);
pbVar3 = pbVar8 + 1;
*pbVar8 = *(byte *)puVar11;
uVar5 = uVar5 - 1;
pbVar8 = pbVar3;
puVar11 = puVar12;
} while (uVar5 != 0xffff);
goto LAB_0001bf02;
case 0x10:
/* WARNING: Could not recover jumptable at 0x0001bfa8. Too
many branches */
/* WARNING: Treating indirect jump as call */
pbVar3 = (byte *)(*(code *)((short)(uVar7 * -2) + 0x1bf5a))();
return pbVar3;
case 0x20:
uVar5 = (ushort)*(byte *)((short)uVar7 + 0x1c282);
pbVar8 = pbVar3;
if ((char)*(byte *)((short)uVar7 + 0x1c282) < '\0') {
if ((**(byte **)(unaff_A5 + -0x11fc) & 1) != 0) goto LAB_0001c1d8;
if ((int)param_4 <= (int)pbVar3 - (int)param_3) goto LAB_0001c20a;
FUN_000189e2();
puVar12 = *(ushort **)(unaff_A5 + -0x160e);
}
else {
do {
pbVar3 = pbVar8 + 1;
*pbVar8 = 0;
uVar5 = uVar5 - 1;
pbVar8 = pbVar3;
puVar12 = puVar11;
} while (uVar5 != 0xffff);
}
goto LAB_0001bf02;
case 0x30:
bVar1 = *(byte *)puVar11;
pbVar8 = pbVar3;
pbVar9 = pbVar3;
switch(uVar7 & 0xf) {
case 0xf:
pbVar9 = pbVar3 + 1;
*pbVar3 = bVar1;
case 0xe:
pbVar8 = pbVar9 + 1;
*pbVar9 = bVar1;
case 0xd:
pbVar3 = pbVar8 + 1;
*pbVar8 = bVar1;
case 0xc:
pbVar8 = pbVar3 + 1;
*pbVar3 = bVar1;
case 0xb:
pbVar3 = pbVar8 + 1;
*pbVar8 = bVar1;
case 10:
pbVar8 = pbVar3 + 1;
*pbVar3 = bVar1;
case 9:
pbVar3 = pbVar8 + 1;
*pbVar8 = bVar1;
case 8:
pbVar8 = pbVar3 + 1;
*pbVar3 = bVar1;
case 7:
pbVar3 = pbVar8 + 1;
*pbVar8 = bVar1;
case 6:
pbVar8 = pbVar3 + 1;
*pbVar3 = bVar1;
case 5:
pbVar3 = pbVar8 + 1;
*pbVar8 = bVar1;
case 4:
pbVar8 = pbVar3 + 1;
*pbVar3 = bVar1;
case 3:
pbVar3 = pbVar8 + 1;
*pbVar8 = bVar1;
case 2:
pbVar8 = pbVar3 + 1;
*pbVar3 = bVar1;
case 1:
pbVar3 = pbVar8 + 1;
*pbVar8 = bVar1;
case 0:
*pbVar3 = bVar1;
pbVar8 = pbVar3 + 2;
pbVar3[1] = bVar1;
pbVar3 = pbVar3 + 3;
*pbVar8 = bVar1;
puVar12 = puVar12 + 1;
}
goto LAB_0001bf02;
case 0x40:
pbVar9 = pbVar3 + -(int)(short)(ushort)*(byte *)((short)uVar7 + 0x1c28 2)
;
pbVar10 = pbVar9;
puVar12 = puVar11;
switch(uVar7 & 7) {
case 1:
goto switchD_0001c016_caseD_1;
case 2:
goto switchD_0001c016_caseD_2;
case 3:
goto switchD_0001c016_caseD_3;
case 4:
goto switchD_0001c016_caseD_4;
case 5:
goto switchD_0001c016_caseD_5;
case 6:
goto switchD_0001c016_caseD_6;
case 7:
goto switchD_0001c016_caseD_7;
}
goto switchD_0001c016_caseD_0;
case 0x50:
pbVar9 = pbVar3 + -(int)(short)(ushort)*(byte *)((short)uVar7 + 0x1c28 2)
;
pbVar10 = pbVar9;
puVar12 = puVar11;
switch(bVar1 & 7) {
case 0:
goto switchD_0001c016_caseD_0;
case 2:
goto switchD_0001c016_caseD_2;
case 3:
goto switchD_0001c016_caseD_3;
case 4:
goto switchD_0001c016_caseD_4;
case 5:
goto switchD_0001c016_caseD_5;
case 6:
goto switchD_0001c016_caseD_6;
case 7:
goto switchD_0001c016_caseD_7;
}
break;
case 0x60:
pbVar9 = pbVar3 + -(int)(short)(ushort)*(byte *)((short)uVar7 + 0x1c28 2)
;
pbVar10 = pbVar9;
puVar12 = puVar11;
switch(bVar1 & 7) {
case 0:
goto switchD_0001c016_caseD_0;
case 2:
goto switchD_0001c016_caseD_2;
case 3:
goto switchD_0001c016_caseD_3;
case 4:
goto switchD_0001c016_caseD_4;
case 5:
goto switchD_0001c016_caseD_5;
case 6:
goto switchD_0001c016_caseD_6;
case 7:
goto switchD_0001c016_caseD_7;
}
break;
case 0x70:
pbVar9 = pbVar3 + -(int)(short)(ushort)*(byte *)((short)uVar7 + 0x1c28 2)
;
pbVar10 = pbVar9;
puVar12 = puVar11;
switch(bVar1 & 7) {
case 0:
goto switchD_0001c016_caseD_0;
case 2:
goto switchD_0001c016_caseD_2;
case 3:
goto switchD_0001c016_caseD_3;
case 4:
goto switchD_0001c016_caseD_4;
case 5:
goto switchD_0001c016_caseD_5;
case 6:
goto switchD_0001c016_caseD_6;
case 7:
goto switchD_0001c016_caseD_7;
}
break;
case 0x80:
puVar12 = puVar12 + 1;
bVar2 = *(byte *)puVar11;
pbVar9 = pbVar3 + -(int)(short)((byte)(CARRY1(bVar2 * '\x02',
bVar2 * '\x02') +
(CARRY1(bVar2,bVar2) +
bVar1 * '\x02') * '\x02') + 1);
pbVar10 = pbVar9;
switch(bVar2 & 0x3f) {
case 0:
goto switchD_0001c016_caseD_1;
case 1:
goto switchD_0001c016_caseD_2;
case 2:
goto switchD_0001c016_caseD_3;
case 3:
goto switchD_0001c016_caseD_4;
case 4:
goto switchD_0001c016_caseD_5;
case 5:
goto switchD_0001c016_caseD_6;
case 6:
goto switchD_0001c016_caseD_7;
case 7:
goto switchD_0001c09e_caseD_7;
case 8:
goto switchD_0001c09e_caseD_8;
case 9:
goto switchD_0001c09e_caseD_9;
case 10:
goto switchD_0001c09e_caseD_a;
case 0xb:
goto switchD_0001c09e_caseD_b;
case 0xc:
goto switchD_0001c09e_caseD_c;
case 0xd:
goto switchD_0001c09e_caseD_d;
case 0xe:
goto switchD_0001c09e_caseD_e;
case 0xf:
goto switchD_0001c09e_caseD_f;
case 0x10:
goto switchD_0001c09e_caseD_10;
case 0x11:
goto switchD_0001c09e_caseD_11;
case 0x12:
goto switchD_0001c09e_caseD_12;
case 0x13:
goto switchD_0001c09e_caseD_13;
case 0x14:
goto switchD_0001c09e_caseD_14;
case 0x15:
goto switchD_0001c09e_caseD_15;
case 0x16:
goto switchD_0001c09e_caseD_16;
case 0x17:
goto switchD_0001c09e_caseD_17;
case 0x18:
goto switchD_0001c09e_caseD_18;
case 0x19:
goto switchD_0001c09e_caseD_19;
case 0x1a:
goto switchD_0001c09e_caseD_1a;
case 0x1b:
goto switchD_0001c09e_caseD_1b;
case 0x1c:
goto switchD_0001c09e_caseD_1c;
case 0x1d:
goto switchD_0001c09e_caseD_1d;
case 0x1e:
goto switchD_0001c09e_caseD_1e;
case 0x1f:
goto switchD_0001c09e_caseD_1f;
case 0x20:
goto switchD_0001c09e_caseD_20;
case 0x21:
goto switchD_0001c09e_caseD_21;
case 0x22:
goto switchD_0001c09e_caseD_22;
case 0x23:
goto switchD_0001c09e_caseD_23;
case 0x24:
goto switchD_0001c09e_caseD_24;
case 0x25:
goto switchD_0001c09e_caseD_25;
case 0x26:
goto switchD_0001c09e_caseD_26;
case 0x27:
goto switchD_0001c09e_caseD_27;
case 0x28:
goto switchD_0001c09e_caseD_28;
case 0x29:
goto switchD_0001c09e_caseD_29;
case 0x2a:
goto switchD_0001c09e_caseD_2a;
case 0x2b:
goto switchD_0001c09e_caseD_2b;
case 0x2c:
goto switchD_0001c09e_caseD_2c;
case 0x2d:
goto switchD_0001c09e_caseD_2d;
case 0x2e:
goto switchD_0001c09e_caseD_2e;
case 0x2f:
goto switchD_0001c09e_caseD_2f;
case 0x30:
goto switchD_0001c09e_caseD_30;
case 0x31:
goto switchD_0001c09e_caseD_31;
case 0x32:
goto switchD_0001c09e_caseD_32;
case 0x33:
goto switchD_0001c09e_caseD_33;
case 0x34:
goto switchD_0001c09e_caseD_34;
case 0x35:
goto switchD_0001c09e_caseD_35;
case 0x36:
goto switchD_0001c09e_caseD_36;
case 0x37:
goto switchD_0001c09e_caseD_37;
case 0x38:
goto switchD_0001c09e_caseD_38;
case 0x39:
goto switchD_0001c09e_caseD_39;
case 0x3a:
goto switchD_0001c09e_caseD_3a;
case 0x3b:
goto switchD_0001c09e_caseD_3b;
case 0x3c:
goto switchD_0001c09e_caseD_3c;
case 0x3d:
break;
case 0x3f:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
case 0x3e:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
}
goto switchD_0001c09e_caseD_3d;
case 0x90:
puVar12 = puVar12 + 1;
pbVar9 = pbVar3 + -(int)(short)((CONCAT11(bVar1,*(byte *)puVar11) >> 2 &
0x3ff) + 1);
pbVar10 = pbVar9;
switch(*(byte *)puVar11 & 3) {
case 1:
goto switchD_0001c016_caseD_2;
case 2:
goto switchD_0001c016_caseD_3;
case 3:
goto switchD_0001c016_caseD_4;
}
break;
case 0xa0:
uVar5 = (ushort)*(byte *)((short)uVar7 + 0x1c282);
uVar7 = *puVar11;
goto LAB_0001c188;
case 0xb0:
uVar7 = (*puVar11 & 0x3ff) + 4;
uVar5 = ((ushort)(CONCAT12(bVar1,*puVar11) >> 10) & 0x3ff) + 1;
LAB_0001c188:
puVar12 = (ushort *)((int)puVar12 + 3);
pbVar9 = pbVar3 + -(int)(short)uVar5;
if (uVar7 >> 6 != 0) {
UNRECOVERED_JUMPTABLE_00 = (code *)0x1c19c;
if (uVar7 >> 6 != 0) {
switchD_0001c09e_caseD_3d:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_3c:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
goto switchD_0001c09e_caseD_3b;
}
uVar7 = uVar7 & 0x3f;
}
/* WARNING: Could not recover jumptable at 0x0001c1ac. Too
many branches */
/* WARNING: Treating indirect jump as call */
pbVar3 = (byte *)(*(code *)((short)(uVar7 * -2) + 0x1c2a0))();
return pbVar3;
case 0xc0:
sVar6 = (bVar1 & 3) + 1;
pbVar8 = pbVar3 + -(int)(short)(ushort)*(byte *)((short)uVar7 + 0x1c28 2)
;
do {
pbVar8 = pbVar8 + -1;
*pbVar3 = *pbVar8;
sVar6 = sVar6 + -1;
pbVar3 = pbVar3 + 1;
} while (sVar6 != -1);
/* WARNING: Could not recover jumptable at 0x0001c11a. Too
many branches */
/* WARNING: Treating indirect jump as call */
pbVar3 = (byte *)(*UNRECOVERED_JUMPTABLE_00)();
return pbVar3;
case 0xd0:
sVar6 = (bVar1 & 3) + 1;
pbVar8 = pbVar3 + -(int)(short)(ushort)*(byte *)((short)uVar7 + 0x1c28 2)
;
do {
pbVar8 = pbVar8 + -1;
*pbVar3 = *pbVar8;
sVar6 = sVar6 + -1;
pbVar3 = pbVar3 + 1;
} while (sVar6 != -1);
/* WARNING: Could not recover jumptable at 0x0001c13a. Too
many branches */
/* WARNING: Treating indirect jump as call */
pbVar3 = (byte *)(*UNRECOVERED_JUMPTABLE_00)();
return pbVar3;
case 0xe0:
bVar2 = *(byte *)puVar11;
sVar6 = (bVar2 & 0x3f) + 2;
pbVar8 = pbVar3 + -(int)(short)((byte)(CARRY1(bVar2 * '\x02',
bVar2 * '\x02') +
(CARRY1(bVar2,bVar2) +
bVar1 * '\x02') * '\x02') & 0x3f) ;
do {
pbVar8 = pbVar8 + -1;
*pbVar3 = *pbVar8;
sVar6 = sVar6 + -1;
pbVar3 = pbVar3 + 1;
} while (sVar6 != -1);
/* WARNING: Could not recover jumptable at 0x0001c162. Too
many branches */
/* WARNING: Treating indirect jump as call */
pbVar3 = (byte *)(*UNRECOVERED_JUMPTABLE_00)();
return pbVar3;
case 0xf0:
sVar6 = (*puVar11 & 0x3ff) + 3;
pbVar8 = pbVar3 + -(int)(short)((ushort)(CONCAT12(bVar1,*puVar11) >> 1 0)
& 0x3ff);
do {
pbVar8 = pbVar8 + -1;
*pbVar3 = *pbVar8;
sVar6 = sVar6 + -1;
pbVar3 = pbVar3 + 1;
} while (sVar6 != -1);
/* WARNING: Could not recover jumptable at 0x0001c186. Too
many branches */
/* WARNING: Treating indirect jump as call */
pbVar3 = (byte *)(*UNRECOVERED_JUMPTABLE_00)();
return pbVar3;
}
goto switchD_0001c016_caseD_1;
}
while ((uVar7 = (short)param_4 - 1,
param_4 = param_4 & 0xffff0000 | (uint)uVar7, uVar7 != 0xffff ||
(param_4 = param_4 - 0x10000, -1 < (int)param_4))) {
iVar4 = iVar4 + -1;
puVar12 = puVar11;
if (iVar4 < 0) {
FUN_000189e2();
puVar12 = *(ushort **)(unaff_A5 + -0x160e);
iVar4 = *(int *)(unaff_A5 + -0x1616);
}
puVar11 = (ushort *)((int)puVar12 + 1);
*pbVar3 = *(byte *)puVar12;
pbVar3 = pbVar3 + 1;
}
LAB_0001c20a:
*(int *)(unaff_A5 + -0x1616) = iVar4;
*(ushort **)(unaff_A5 + -0x160e) = puVar11;
}
A6 = &DAT_80008000;
return param_3;
switchD_0001c09e_caseD_3b:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_3a:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_39:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_38:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_37:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_36:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_35:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_34:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_33:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_32:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_31:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_30:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_2f:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_2e:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_2d:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_2c:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_2b:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_2a:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_29:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_28:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_27:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_26:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_25:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_24:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_23:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_22:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_21:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_20:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_1f:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_1e:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_1d:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_1c:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_1b:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_1a:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_19:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_18:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_17:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_16:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_15:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_14:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_13:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_12:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_11:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_10:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_f:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_e:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_d:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_c:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_b:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_a:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_9:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c09e_caseD_8:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c09e_caseD_7:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c016_caseD_7:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c016_caseD_6:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c016_caseD_5:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c016_caseD_4:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c016_caseD_3:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c016_caseD_2:
pbVar10 = pbVar9 + 1;
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
switchD_0001c016_caseD_1:
pbVar9 = pbVar10 + 1;
pbVar3 = pbVar8 + 1;
*pbVar8 = *pbVar10;
switchD_0001c016_caseD_0:
pbVar8 = pbVar3 + 1;
*pbVar3 = *pbVar9;
pbVar3 = pbVar3 + 2;
*pbVar8 = pbVar9[1];
goto LAB_0001bf02;
LAB_0001c1d8:
puVar12 = puVar11;
if ((int)param_4 <= (int)pbVar3 - (int)param_3) goto LAB_0001c20a;
goto LAB_0001bf02;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment