515 lines
18 KiB
C
515 lines
18 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x14008fb10 FUN_14008fb10
|
|
* Pseudocode, not original source. */
|
|
|
|
/* WARNING: Removing unreachable block (ram,0x00014008fbd3) */
|
|
/* WARNING: Removing unreachable block (ram,0x00014008fbda) */
|
|
/* WARNING: Removing unreachable block (ram,0x00014008fbe6) */
|
|
/* WARNING: Removing unreachable block (ram,0x00014008fc10) */
|
|
/* WARNING: Removing unreachable block (ram,0x00014008fc30) */
|
|
|
|
undefined8
|
|
FUN_14008fb10(longlong *param_1,int param_2,longlong **param_3,longlong param_4,ulonglong *param_5)
|
|
|
|
{
|
|
int iVar1;
|
|
char cVar2;
|
|
undefined4 uVar3;
|
|
uint uVar4;
|
|
uint uVar5;
|
|
int *piVar6;
|
|
undefined4 *puVar7;
|
|
longlong *plVar8;
|
|
undefined8 *puVar9;
|
|
longlong lVar11;
|
|
longlong lVar12;
|
|
uint *puVar13;
|
|
ulonglong *puVar14;
|
|
undefined **ppuVar15;
|
|
longlong *plVar16;
|
|
longlong *plVar17;
|
|
undefined ***pppuVar18;
|
|
char *pcVar19;
|
|
longlong *plVar20;
|
|
uint *puVar21;
|
|
int iVar22;
|
|
uint uVar23;
|
|
longlong lVar24;
|
|
longlong **pplVar25;
|
|
ulonglong uVar26;
|
|
uint uVar27;
|
|
longlong lVar28;
|
|
uint **ppuVar29;
|
|
longlong lVar30;
|
|
int local_res10;
|
|
uint *local_158;
|
|
longlong *local_150;
|
|
longlong local_148;
|
|
int *local_140;
|
|
longlong *local_138;
|
|
longlong *local_130;
|
|
longlong local_128;
|
|
int *local_120;
|
|
undefined1 local_118;
|
|
int *local_110;
|
|
undefined1 local_108;
|
|
uint local_100;
|
|
int local_fc;
|
|
undefined **local_f8;
|
|
undefined8 local_f0;
|
|
undefined8 local_e8;
|
|
undefined8 local_e0;
|
|
undefined8 local_d8;
|
|
longlong *local_d0;
|
|
undefined1 local_c8;
|
|
int *local_c0;
|
|
undefined1 local_b8;
|
|
undefined8 local_b0;
|
|
undefined8 local_a8 [2];
|
|
exception local_98 [88];
|
|
undefined8 uVar10;
|
|
|
|
local_b0 = 0xfffffffffffffffe;
|
|
pplVar25 = param_3;
|
|
lVar28 = param_4;
|
|
piVar6 = (int *)(**(code **)(*param_1 + 0x58))();
|
|
local_120 = piVar6;
|
|
FUN_14006b350(piVar6);
|
|
local_118 = 1;
|
|
if (DAT_1401b42cf != '\0') {
|
|
pplVar25 = (longlong **)*param_1;
|
|
(*(code *)pplVar25[0x19])(param_1);
|
|
}
|
|
if (param_2 == 0) {
|
|
FUN_140063e10((longlong)param_3,(longlong)(param_1 + 0x309),pplVar25,lVar28);
|
|
FUN_14006b3e0((longlong)piVar6);
|
|
}
|
|
else {
|
|
if (*(int *)(param_3 + 3) == 0) {
|
|
local_fc = *(int *)(param_3 + 3);
|
|
FUN_140063f80((longlong)param_3,1,pplVar25,lVar28);
|
|
puVar7 = (undefined4 *)FUN_140008250((longlong)param_3);
|
|
*puVar7 = 0;
|
|
}
|
|
local_138 = param_1 + 0xd9;
|
|
plVar20 = (longlong *)0x0;
|
|
FUN_14008a140((longlong)local_138,0);
|
|
local_130 = param_1 + 0xde;
|
|
FUN_14008c670((char *)local_130);
|
|
local_res10 = 0;
|
|
local_148 = 0;
|
|
if (0 < *(int *)(param_3 + 3)) {
|
|
do {
|
|
lVar11 = local_148;
|
|
plVar16 = (longlong *)0x180;
|
|
plVar8 = (longlong *)FUN_14006cbf0(0x180);
|
|
local_150 = plVar8;
|
|
if (plVar8 == (longlong *)0x0) {
|
|
puVar9 = (undefined8 *)0x0;
|
|
}
|
|
else {
|
|
plVar20 = param_1;
|
|
puVar9 = FUN_1400d96c0(plVar8,(longlong)param_1,pplVar25,lVar28);
|
|
plVar16 = plVar8;
|
|
}
|
|
if (puVar9 == (undefined8 *)0x0) {
|
|
plVar8 = (longlong *)0x0;
|
|
}
|
|
else {
|
|
plVar16 = (longlong *)0x10;
|
|
plVar8 = (longlong *)FUN_14006cbf0(0x10);
|
|
plVar8[1] = 1;
|
|
*plVar8 = (longlong)puVar9;
|
|
}
|
|
lVar24 = 0;
|
|
local_150 = plVar8;
|
|
if ((lVar11 < 0) || (*(int *)(param_3 + 3) <= local_res10)) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14006be30(plVar16,plVar20,pplVar25,lVar28);
|
|
}
|
|
uVar4 = *(uint *)((longlong)param_3[2] + lVar11 * 4);
|
|
pcVar19 = (char *)param_1[0x43];
|
|
lVar30 = lVar24;
|
|
local_100 = uVar4;
|
|
if (((pcVar19 == (char *)0x0) || (pcVar19 == PTR_DAT_1401ac008)) ||
|
|
(*(int *)(pcVar19 + -8) == 0)) {
|
|
lVar12 = lVar24;
|
|
if (plVar8 != (longlong *)0x0) {
|
|
lVar12 = *plVar8;
|
|
}
|
|
if (*(longlong **)(lVar12 + 0x150) != (longlong *)0x0) {
|
|
lVar30 = **(longlong **)(lVar12 + 0x150);
|
|
}
|
|
pcVar19 = (char *)(ulonglong)uVar4;
|
|
uVar3 = FUN_140073ab0(lVar30,(short)uVar4,pplVar25,lVar28);
|
|
cVar2 = (char)uVar3;
|
|
}
|
|
else {
|
|
lVar12 = lVar24;
|
|
if (plVar8 != (longlong *)0x0) {
|
|
lVar12 = *plVar8;
|
|
}
|
|
if (*(longlong **)(lVar12 + 0x150) != (longlong *)0x0) {
|
|
lVar30 = **(longlong **)(lVar12 + 0x150);
|
|
}
|
|
pplVar25 = (longlong **)(ulonglong)uVar4;
|
|
uVar10 = FUN_140073b00(lVar30,pcVar19,(short)uVar4,lVar28);
|
|
cVar2 = (char)uVar10;
|
|
}
|
|
if (cVar2 == '\0') {
|
|
if (*(char *)((longlong)param_1 + 0x255) == '\0') {
|
|
FUN_14006cb70(lVar30,pcVar19,pplVar25,lVar28);
|
|
local_158 = (uint *)PTR_DAT_1401ac010;
|
|
uVar4 = FUN_14006c9f0(&DAT_14015cd00);
|
|
uVar5 = 0;
|
|
uVar26 = 0;
|
|
if ((local_158 != (uint *)0x0) && (local_158 != (uint *)PTR_DAT_1401ac010)) {
|
|
uVar26 = (ulonglong)local_158[-2];
|
|
}
|
|
uVar27 = uVar4;
|
|
if ((((int)uVar4 <= (int)uVar26) && (uVar27 = uVar5, local_158 != (uint *)0x0)) &&
|
|
(local_158 != (uint *)PTR_DAT_1401ac010)) {
|
|
uVar27 = local_158[-2];
|
|
}
|
|
uVar23 = 1;
|
|
if (1 < (int)uVar27) {
|
|
uVar23 = uVar27;
|
|
}
|
|
uVar27 = uVar5;
|
|
if ((local_158 != (uint *)0x0) && (local_158 != (uint *)PTR_DAT_1401ac010)) {
|
|
uVar27 = local_158[-2];
|
|
}
|
|
if ((int)uVar27 < (int)uVar23) {
|
|
if (local_158 == (uint *)0x0) {
|
|
local_158 = (uint *)PTR_DAT_1401ac010;
|
|
}
|
|
if ((int)uVar23 < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14006be00();
|
|
}
|
|
if (uVar23 == 0) {
|
|
FUN_1400031e0((longlong *)&local_158,PTR_DAT_1401ac010,uVar26,lVar28);
|
|
}
|
|
else {
|
|
uVar27 = uVar5;
|
|
if ((local_158 != (uint *)0x0) && (local_158 != (uint *)PTR_DAT_1401ac010)) {
|
|
uVar27 = local_158[-2];
|
|
}
|
|
if (uVar23 != uVar27) {
|
|
puVar13 = (uint *)FUN_14006cbf0((longlong)(int)uVar23 * 2 + 10);
|
|
if (puVar13 != (uint *)0x0) {
|
|
*puVar13 = 0;
|
|
puVar13[1] = 1;
|
|
}
|
|
*puVar13 = uVar23;
|
|
uVar27 = uVar5;
|
|
if ((local_158 != (uint *)0x0) && (local_158 != (uint *)PTR_DAT_1401ac010)) {
|
|
uVar27 = local_158[-2];
|
|
}
|
|
puVar21 = (uint *)PTR_DAT_1401ac010;
|
|
if ((int)uVar23 < (int)uVar27) {
|
|
LAB_1400901d3:
|
|
if (local_158 != (uint *)0x0) {
|
|
puVar21 = local_158;
|
|
}
|
|
}
|
|
else {
|
|
uVar23 = uVar5;
|
|
if (local_158 != (uint *)0x0) {
|
|
if (local_158 != (uint *)PTR_DAT_1401ac010) {
|
|
uVar23 = local_158[-2];
|
|
}
|
|
goto LAB_1400901d3;
|
|
}
|
|
}
|
|
uVar26 = (ulonglong)uVar23;
|
|
FUN_14006ca20(puVar13 + 2,puVar21,uVar23);
|
|
FUN_1400031e0((longlong *)&local_158,puVar21,uVar26,lVar28);
|
|
local_158 = puVar13 + 2;
|
|
}
|
|
}
|
|
}
|
|
FUN_140002e40((longlong *)&local_158);
|
|
puVar13 = local_158;
|
|
if (local_158 == (uint *)0x0) {
|
|
puVar13 = (uint *)PTR_DAT_1401ac010;
|
|
}
|
|
FUN_14006ca20(puVar13,&DAT_14015cd00,uVar4);
|
|
puVar13 = local_158;
|
|
if (local_158 == (uint *)0x0) {
|
|
puVar13 = (uint *)PTR_DAT_1401ac010;
|
|
}
|
|
uVar5 = FUN_14006c9f0((short *)puVar13);
|
|
uVar27 = 0;
|
|
uVar4 = 0;
|
|
if (0 < (int)uVar5) {
|
|
uVar4 = uVar5;
|
|
}
|
|
uVar5 = uVar27;
|
|
if ((local_158 != (uint *)0x0) && (local_158 != (uint *)PTR_DAT_1401ac010)) {
|
|
uVar5 = local_158[-2];
|
|
}
|
|
if (((int)uVar5 <= (int)uVar4) && (uVar4 = uVar27, local_158 != (uint *)0x0)) {
|
|
if (local_158 == (uint *)PTR_DAT_1401ac010) goto LAB_140090290;
|
|
uVar4 = local_158[-2];
|
|
}
|
|
if (((local_158 != (uint *)PTR_DAT_1401ac010) && (local_158 != (uint *)0x0)) &&
|
|
(local_158 + -2 != (uint *)0x0)) {
|
|
local_158[-2] = uVar4;
|
|
*(undefined2 *)((longlong)local_158 + (longlong)(int)uVar4 * 2) = 0;
|
|
}
|
|
LAB_140090290:
|
|
local_f0 = 0;
|
|
local_e8 = 0;
|
|
local_e0 = 0;
|
|
local_d8 = 0;
|
|
local_f8 = Proud::ByteArray::vftable;
|
|
ppuVar29 = &local_158;
|
|
uVar10 = 1;
|
|
puVar14 = (ulonglong *)
|
|
FUN_140078c10((longlong *)&local_140,0x10,1,(longlong *)ppuVar29,
|
|
(longlong)&local_f8);
|
|
FUN_140078ae0(param_5,puVar14,uVar10,ppuVar29);
|
|
piVar6 = local_140;
|
|
if (local_140 != (int *)0x0) {
|
|
local_110 = local_140;
|
|
FUN_14006b350(local_140);
|
|
local_108 = 1;
|
|
*(longlong *)(local_140 + 0x10) = *(longlong *)(local_140 + 0x10) + -1;
|
|
if (*(longlong *)(local_140 + 0x10) == 0) {
|
|
FUN_14006b3e0((longlong)piVar6);
|
|
local_108 = 0;
|
|
FUN_1400640e0(local_140,puVar14,uVar10,ppuVar29);
|
|
}
|
|
else {
|
|
FUN_14006b3e0((longlong)piVar6);
|
|
local_108 = 0;
|
|
}
|
|
}
|
|
pppuVar18 = &local_f8;
|
|
FUN_140078360(pppuVar18);
|
|
puVar13 = local_158;
|
|
if (((local_158 != (uint *)0x0) && (local_158 != (uint *)PTR_DAT_1401ac010)) &&
|
|
(puVar21 = local_158 + -2, puVar21 != (uint *)0x0)) {
|
|
piVar6 = (int *)FUN_14006cb70(pppuVar18,puVar14,uVar10,ppuVar29);
|
|
local_c0 = piVar6;
|
|
FUN_14006b350(piVar6);
|
|
local_b8 = 1;
|
|
puVar13 = puVar13 + -1;
|
|
*puVar13 = *puVar13 - 1;
|
|
if (*puVar13 == 0) {
|
|
FUN_14006cc60(puVar21);
|
|
}
|
|
FUN_14006b3e0((longlong)piVar6);
|
|
local_b8 = 0;
|
|
}
|
|
local_158 = (uint *)PTR_DAT_1401ac010;
|
|
FUN_14008a140((longlong)local_138,0);
|
|
FUN_14008c670((char *)local_130);
|
|
plVar20 = local_150;
|
|
if (plVar8 != (longlong *)0x0) {
|
|
plVar8 = plVar8 + 1;
|
|
*plVar8 = *plVar8 + -1;
|
|
if (*plVar8 == 0) {
|
|
puVar9 = (undefined8 *)*local_150;
|
|
if (puVar9 != (undefined8 *)0x0) {
|
|
(**(code **)*puVar9)(puVar9,1);
|
|
}
|
|
FUN_14006cc60(plVar20);
|
|
}
|
|
}
|
|
FUN_14006b3e0((longlong)local_120);
|
|
ppuVar15 = Proud::CFastArray<int,0>::vftable;
|
|
*param_3 = (longlong *)Proud::CFastArray<int,0>::vftable;
|
|
if (param_3[2] != (longlong *)0x0) {
|
|
if (param_3[1] == (longlong *)0x0) {
|
|
ppuVar15 = (undefined **)FUN_14006cc60(param_3[2]);
|
|
}
|
|
else {
|
|
ppuVar15 = (undefined **)(**(code **)(*param_3[1] + 0x18))();
|
|
}
|
|
}
|
|
return (ulonglong)ppuVar15 & 0xffffffffffffff00;
|
|
}
|
|
iVar1 = *(int *)(param_4 + 0x18);
|
|
if (iVar1 < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14006be00();
|
|
}
|
|
iVar22 = *(int *)(param_4 + 0x18);
|
|
uVar5 = iVar22 + 1;
|
|
plVar20 = (longlong *)(ulonglong)uVar5;
|
|
FUN_140063f80(param_4,uVar5,pplVar25,lVar28);
|
|
iVar22 = iVar22 - iVar1;
|
|
if ((0 < iVar22) && (iVar22 = iVar22 + -1, lVar24 = (longlong)iVar22, -1 < iVar22)) {
|
|
lVar30 = (iVar1 + lVar24) * 4 + 4;
|
|
do {
|
|
lVar11 = FUN_140008250(param_4);
|
|
lVar12 = FUN_140008250(param_4);
|
|
*(undefined4 *)(lVar12 + lVar30) = *(undefined4 *)(lVar11 + -4 + lVar30);
|
|
lVar30 = lVar30 + -4;
|
|
lVar24 = lVar24 + -1;
|
|
lVar11 = local_148;
|
|
} while (-1 < lVar24);
|
|
}
|
|
lVar24 = FUN_140008250(param_4);
|
|
plVar16 = local_150;
|
|
*(uint *)(lVar24 + (longlong)iVar1 * 4) = uVar4;
|
|
if (plVar8 != (longlong *)0x0) {
|
|
plVar8 = plVar8 + 1;
|
|
*plVar8 = *plVar8 + -1;
|
|
if (*plVar8 == 0) {
|
|
if ((undefined8 *)*local_150 != (undefined8 *)0x0) {
|
|
plVar20 = (longlong *)0x1;
|
|
(*(code *)**(undefined8 **)*local_150)();
|
|
}
|
|
FUN_14006cc60(plVar16);
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
lVar11 = lVar24;
|
|
if (plVar8 != (longlong *)0x0) {
|
|
lVar11 = *plVar8;
|
|
}
|
|
lVar30 = lVar24;
|
|
if (*(longlong **)(lVar11 + 0x150) != (longlong *)0x0) {
|
|
lVar30 = **(longlong **)(lVar11 + 0x150);
|
|
}
|
|
if (plVar8 != (longlong *)0x0) {
|
|
lVar24 = *plVar8;
|
|
}
|
|
puVar9 = FUN_140071560(lVar30,local_a8);
|
|
*(undefined4 *)(lVar24 + 0x160) = *(undefined4 *)(puVar9 + 1);
|
|
*(undefined2 *)(lVar24 + 0x164) = *(undefined2 *)((longlong)puVar9 + 0xc);
|
|
if (plVar8 == (longlong *)0x0) {
|
|
lVar11 = 0;
|
|
}
|
|
else {
|
|
lVar11 = *plVar8;
|
|
}
|
|
if (*(short *)(lVar11 + 0x164) == 0) {
|
|
LAB_14009042d:
|
|
FUN_14006ba50(local_98,L"m_cachedLocalAddr has an unexpected value!",pplVar25,lVar28);
|
|
/* WARNING: Subroutine does not return */
|
|
_CxxThrowException(local_98,(ThrowInfo *)&DAT_1401a93e8);
|
|
}
|
|
if (plVar8 == (longlong *)0x0) {
|
|
lVar11 = 0;
|
|
}
|
|
else {
|
|
lVar11 = *plVar8;
|
|
}
|
|
if (*(short *)(lVar11 + 0x164) == -1) goto LAB_14009042d;
|
|
iVar1 = (int)local_138[3];
|
|
if (iVar1 < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14006be00();
|
|
}
|
|
lVar11 = local_138[3];
|
|
FUN_14008a140((longlong)local_138,(int)lVar11 + 1);
|
|
plVar20 = local_138;
|
|
iVar22 = (int)lVar11 - iVar1;
|
|
if ((0 < iVar22) && (iVar22 = iVar22 + -1, -1 < iVar22)) {
|
|
lVar11 = (longlong)(iVar22 + iVar1 + 1) << 3;
|
|
lVar24 = (longlong)(iVar22 + iVar1) << 3;
|
|
do {
|
|
lVar30 = FUN_14007a110((longlong)plVar20);
|
|
lVar12 = FUN_14007a110((longlong)plVar20);
|
|
FUN_1400a2a80((longlong *)(lVar11 + lVar12),(longlong *)(lVar24 + lVar30));
|
|
lVar24 = lVar24 + -8;
|
|
lVar11 = lVar11 + -8;
|
|
iVar22 = iVar22 + -1;
|
|
} while (-1 < iVar22);
|
|
}
|
|
lVar11 = FUN_14007a110((longlong)local_138);
|
|
FUN_1400a2a80((longlong *)(lVar11 + (longlong)iVar1 * 8),(longlong *)&local_150);
|
|
plVar16 = (longlong *)0x0;
|
|
plVar20 = plVar16;
|
|
if (plVar8 != (longlong *)0x0) {
|
|
plVar20 = (longlong *)*plVar8;
|
|
}
|
|
pplVar25 = &local_150;
|
|
FUN_14008f8a0((char *)local_130,(longlong)(plVar20 + 0x2b),(longlong *)pplVar25);
|
|
plVar20 = plVar16;
|
|
if (plVar8 != (longlong *)0x0) {
|
|
plVar20 = (longlong *)*plVar8;
|
|
}
|
|
plVar17 = plVar16;
|
|
if ((undefined8 *)plVar20[0x2a] != (undefined8 *)0x0) {
|
|
plVar17 = *(longlong **)plVar20[0x2a];
|
|
}
|
|
FUN_1400716c0((longlong)plVar17,plVar20,pplVar25,lVar28);
|
|
plVar20 = plVar16;
|
|
if (plVar8 != (longlong *)0x0) {
|
|
plVar20 = (longlong *)*plVar8;
|
|
}
|
|
plVar17 = plVar16;
|
|
if ((undefined8 *)plVar20[0x2a] != (undefined8 *)0x0) {
|
|
plVar17 = *(longlong **)plVar20[0x2a];
|
|
}
|
|
FUN_1400765b0(param_1[0xf1],plVar17,(longlong *)pplVar25,lVar28);
|
|
plVar20 = plVar16;
|
|
if (plVar8 != (longlong *)0x0) {
|
|
plVar20 = (longlong *)*plVar8;
|
|
}
|
|
plVar17 = plVar16;
|
|
if ((undefined8 *)plVar20[0x2a] != (undefined8 *)0x0) {
|
|
plVar17 = *(longlong **)plVar20[0x2a];
|
|
}
|
|
FUN_1400dafe0((longlong)plVar17);
|
|
if ((plVar8 == (longlong *)0x0) || (plVar20 = (longlong *)(*plVar8 + 0x40), *plVar8 == 0))
|
|
{
|
|
plVar20 = plVar16;
|
|
}
|
|
FUN_1400d8980(&local_128,(longlong)plVar20);
|
|
plVar17 = plVar16;
|
|
if (plVar8 != (longlong *)0x0) {
|
|
plVar17 = (longlong *)*plVar8;
|
|
}
|
|
plVar17 = plVar17 + 0x15;
|
|
local_d0 = plVar17;
|
|
FUN_14006b350((int *)plVar17);
|
|
local_c8 = 1;
|
|
if (plVar8 != (longlong *)0x0) {
|
|
plVar16 = (longlong *)*plVar8;
|
|
}
|
|
FUN_1400d8bf0((longlong)plVar16,plVar20,(undefined **)pplVar25,lVar28);
|
|
FUN_14006b3e0((longlong)plVar17);
|
|
local_c8 = 0;
|
|
FUN_1400d8990(&local_128);
|
|
plVar16 = local_150;
|
|
lVar11 = local_148;
|
|
if (plVar8 != (longlong *)0x0) {
|
|
plVar8 = plVar8 + 1;
|
|
*plVar8 = *plVar8 + -1;
|
|
if (*plVar8 == 0) {
|
|
if ((undefined8 *)*local_150 != (undefined8 *)0x0) {
|
|
plVar20 = (longlong *)0x1;
|
|
(*(code *)**(undefined8 **)*local_150)();
|
|
}
|
|
FUN_14006cc60(plVar16);
|
|
lVar11 = local_148;
|
|
}
|
|
}
|
|
}
|
|
local_res10 = local_res10 + 1;
|
|
local_148 = lVar11 + 1;
|
|
piVar6 = local_120;
|
|
} while (local_res10 < *(int *)(param_3 + 3));
|
|
}
|
|
FUN_14006b3e0((longlong)piVar6);
|
|
}
|
|
ppuVar15 = Proud::CFastArray<int,0>::vftable;
|
|
*param_3 = (longlong *)Proud::CFastArray<int,0>::vftable;
|
|
if (param_3[2] != (longlong *)0x0) {
|
|
if (param_3[1] == (longlong *)0x0) {
|
|
ppuVar15 = (undefined **)FUN_14006cc60(param_3[2]);
|
|
}
|
|
else {
|
|
ppuVar15 = (undefined **)(**(code **)(*param_3[1] + 0x18))();
|
|
}
|
|
}
|
|
return CONCAT71((int7)((ulonglong)ppuVar15 >> 8),1);
|
|
}
|
|
|