71 lines
2.4 KiB
C
71 lines
2.4 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x14007a880 FUN_14007a880
|
|
* Pseudocode, not original source. */
|
|
|
|
ulonglong FUN_14007a880(longlong param_1,int param_2)
|
|
|
|
{
|
|
undefined2 uVar1;
|
|
undefined2 uVar2;
|
|
undefined4 uVar3;
|
|
undefined4 uVar4;
|
|
int *piVar5;
|
|
longlong lVar6;
|
|
int *piVar7;
|
|
ulonglong uVar8;
|
|
ulonglong uVar9;
|
|
ulonglong uVar10;
|
|
ulonglong uVar11;
|
|
|
|
uVar8 = 0;
|
|
piVar5 = (int *)(param_1 + 0x70);
|
|
uVar9 = uVar8;
|
|
uVar10 = uVar8;
|
|
do {
|
|
if (*piVar5 == param_2) {
|
|
lVar6 = (longlong)(int)uVar10;
|
|
uVar3 = *(undefined4 *)(param_1 + 0x90 + lVar6 * 0x48);
|
|
uVar1 = *(undefined2 *)(param_1 + 0x94 + lVar6 * 0x48);
|
|
uVar4 = *(undefined4 *)(param_1 + 0x80 + lVar6 * 0x48);
|
|
uVar2 = *(undefined2 *)(param_1 + 0x84 + lVar6 * 0x48);
|
|
piVar5 = (int *)(param_1 + 0x10);
|
|
piVar7 = piVar5;
|
|
uVar9 = uVar8;
|
|
uVar10 = uVar8;
|
|
do {
|
|
if (*piVar7 == param_2) {
|
|
lVar6 = (longlong)(int)uVar10;
|
|
*(undefined4 *)(param_1 + 0x30 + lVar6 * 0x30) = uVar4;
|
|
*(undefined2 *)(param_1 + 0x34 + lVar6 * 0x30) = uVar2;
|
|
*(undefined2 *)(param_1 + 0x24 + lVar6 * 0x30) = uVar1;
|
|
*(undefined4 *)(param_1 + 0x20 + lVar6 * 0x30) = uVar3;
|
|
return CONCAT71((int7)(int3)(uVar10 >> 8),1);
|
|
}
|
|
uVar9 = uVar9 + 1;
|
|
uVar10 = (ulonglong)((int)uVar10 + 1);
|
|
piVar7 = piVar7 + 0xc;
|
|
uVar11 = uVar8;
|
|
} while ((longlong)uVar9 < 2);
|
|
do {
|
|
if (*piVar5 == 0) {
|
|
lVar6 = (longlong)(int)uVar11;
|
|
*(undefined4 *)(param_1 + 0x30 + lVar6 * 0x30) = uVar4;
|
|
*(undefined2 *)(param_1 + 0x34 + lVar6 * 0x30) = uVar2;
|
|
*(undefined2 *)(param_1 + 0x24 + lVar6 * 0x30) = uVar1;
|
|
*(undefined4 *)(param_1 + 0x20 + lVar6 * 0x30) = uVar3;
|
|
*(int *)(param_1 + 0x10 + lVar6 * 0x30) = param_2;
|
|
return CONCAT71((int7)(int3)(uVar11 >> 8),1);
|
|
}
|
|
uVar8 = uVar8 + 1;
|
|
piVar5 = piVar5 + 0xc;
|
|
uVar11 = (ulonglong)((int)uVar11 + 1);
|
|
} while ((longlong)uVar8 < 2);
|
|
return CONCAT71((int7)(uVar8 >> 8),1);
|
|
}
|
|
uVar9 = uVar9 + 1;
|
|
uVar10 = (ulonglong)((int)uVar10 + 1);
|
|
piVar5 = piVar5 + 0x12;
|
|
} while ((longlong)uVar9 < 2);
|
|
return (ulonglong)piVar5 & 0xffffffffffffff00;
|
|
}
|
|
|