60 lines
2.1 KiB
C
60 lines
2.1 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x1400db760 FUN_1400db760
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1400db760(longlong param_1,int param_2,longlong param_3,undefined8 param_4)
|
|
|
|
{
|
|
longlong lVar1;
|
|
undefined4 *puVar2;
|
|
longlong lVar3;
|
|
int iVar4;
|
|
undefined4 *puVar5;
|
|
undefined2 *puVar6;
|
|
int iVar7;
|
|
longlong lVar8;
|
|
longlong lVar9;
|
|
|
|
iVar7 = (int)param_4;
|
|
lVar3 = (longlong)iVar7;
|
|
if (((-1 < iVar7) && (-1 < param_2)) && (param_2 <= *(int *)(param_1 + 0x18))) {
|
|
iVar4 = *(int *)(param_1 + 0x18);
|
|
FUN_1400ac2e0(param_1,iVar4 + iVar7,param_3,param_4);
|
|
iVar4 = iVar4 - param_2;
|
|
if ((0 < iVar4) && (iVar4 = iVar4 + -1, lVar8 = (longlong)iVar4, -1 < iVar4)) {
|
|
lVar9 = (lVar8 + param_2 + lVar3) * 0x48;
|
|
do {
|
|
lVar1 = FUN_14007a110(param_1);
|
|
puVar5 = (undefined4 *)(lVar3 * -0x48 + lVar1 + lVar9);
|
|
lVar1 = FUN_14007a110(param_1);
|
|
puVar2 = (undefined4 *)(lVar9 + lVar1);
|
|
FUN_1400a1320(puVar2,puVar5);
|
|
lVar9 = lVar9 + -0x48;
|
|
lVar8 = lVar8 + -1;
|
|
puVar2[10] = puVar5[10];
|
|
puVar2[0xe] = puVar5[0xe];
|
|
*(undefined2 *)(puVar2 + 0xf) = *(undefined2 *)(puVar5 + 0xf);
|
|
*(undefined1 *)(puVar2 + 0x10) = *(undefined1 *)(puVar5 + 0x10);
|
|
} while (-1 < lVar8);
|
|
}
|
|
if (0 < lVar3) {
|
|
puVar6 = (undefined2 *)(param_3 + 0x3c);
|
|
do {
|
|
lVar8 = FUN_14007a110(param_1);
|
|
puVar2 = (undefined4 *)
|
|
(((longlong)param_2 * 0x48 - param_3) + -0x3c + lVar8 + (longlong)puVar6);
|
|
FUN_1400a1320(puVar2,(undefined4 *)(puVar6 + -0x1e));
|
|
lVar3 = lVar3 + -1;
|
|
puVar2[10] = *(undefined4 *)(puVar6 + -10);
|
|
puVar2[0xe] = *(undefined4 *)(puVar6 + -2);
|
|
*(undefined2 *)(puVar2 + 0xf) = *puVar6;
|
|
*(undefined1 *)(puVar2 + 0x10) = *(undefined1 *)(puVar6 + 2);
|
|
puVar6 = puVar6 + 0x24;
|
|
} while (lVar3 != 0);
|
|
}
|
|
return;
|
|
}
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14006be00();
|
|
}
|
|
|