server-re/decomp/MessageServer_Release_x64/full/functions/0x14010d390.c

73 lines
2.2 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x14010d390 FUN_14010d390
* Pseudocode, not original source. */
ulonglong FUN_14010d390(uint *param_1,uint *param_2,undefined4 *param_3)
{
int iVar1;
uint uVar2;
uint uVar3;
int iVar4;
ulonglong uVar5;
undefined8 uVar6;
ulonglong uVar7;
uint local_68 [6];
uint local_50 [6];
uint local_38 [8];
*param_3 = 0;
iVar1 = FUN_140103a10((int *)param_2,1);
if (iVar1 != 1) {
return 0xfffffffd;
}
uVar5 = FUN_140109cc0(local_50,param_1);
if ((int)uVar5 != 0) {
return uVar5;
}
uVar5 = FUN_140104110((int *)local_50,1,(int *)local_50);
uVar7 = uVar5 & 0xffffffff;
if ((int)uVar5 != 0) goto LAB_14010d522;
uVar2 = FUN_140109cc0(local_38,local_50);
uVar7 = (ulonglong)uVar2;
if (uVar2 != 0) goto LAB_14010d522;
uVar2 = FUN_140103a70((int *)local_38);
uVar5 = FUN_140109cf0(local_38,uVar2,local_38,(undefined8 *)0x0);
uVar7 = uVar5 & 0xffffffff;
if ((int)uVar5 == 0) {
uVar5 = FUN_140103790(local_68);
uVar7 = uVar5 & 0xffffffff;
if ((int)uVar5 == 0) {
uVar3 = FUN_1401050a0(param_2,local_38,param_1,(undefined8 *)local_68);
uVar7 = (ulonglong)uVar3;
if (uVar3 == 0) {
iVar1 = FUN_140103a10((int *)local_68,1);
if ((iVar1 != 0) &&
(uVar6 = FUN_1401039e0((int *)local_68,(int *)local_50), (int)uVar6 != 0)) {
iVar1 = 1;
if (0 < (int)(uVar2 - 1)) {
do {
uVar6 = FUN_1401039e0((int *)local_68,(int *)local_50);
if ((int)uVar6 == 0) break;
uVar5 = FUN_140104d60(local_68,param_1,local_68);
uVar7 = uVar5 & 0xffffffff;
if (((int)uVar5 != 0) || (iVar4 = FUN_140103a10((int *)local_68,1), iVar4 == 0))
goto LAB_14010d508;
iVar1 = iVar1 + 1;
} while (iVar1 <= (int)(uVar2 - 1));
}
uVar6 = FUN_1401039e0((int *)local_68,(int *)local_50);
if ((int)uVar6 != 0) goto LAB_14010d508;
}
*param_3 = 1;
}
LAB_14010d508:
FUN_1401037f0((int *)local_68);
}
}
FUN_1401037f0((int *)local_38);
LAB_14010d522:
FUN_1401037f0((int *)local_50);
return uVar7;
}