/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x14010fd00 FUN_14010fd00 * Pseudocode, not original source. */ ulonglong FUN_14010fd00(uint *param_1,uint *param_2,uint *param_3) { uint uVar1; int iVar2; uint uVar3; ulonglong uVar4; ulonglong uVar5; undefined8 uVar6; uint local_28 [8]; uVar3 = *param_2; uVar4 = FUN_140109cc0(local_28,param_1); if ((int)uVar4 != 0) { return uVar4; } FUN_14010b990((int *)local_28,uVar3 - 1); if (uVar3 < 0x8000001) { uVar6 = FUN_140111460((int *)local_28,(int *)param_3,(int *)local_28,uVar3); uVar1 = (uint)uVar6; } else { uVar1 = FUN_140104250(local_28,param_3,local_28); } uVar4 = (ulonglong)uVar1; if (uVar1 == 0) { FUN_14010b990((int *)local_28,uVar3 + 1); uVar5 = FUN_14010f800(param_1,(uVar3 + 1) * 0x1c,param_1); uVar4 = uVar5 & 0xffffffff; if ((int)uVar5 == 0) { uVar5 = FUN_14010a0a0(local_28,param_2,local_28,uVar3 + 1); uVar4 = uVar5 & 0xffffffff; if ((int)uVar5 == 0) { uVar1 = FUN_140104090(param_1,local_28,param_1); uVar4 = (ulonglong)uVar1; if (uVar1 == 0) { iVar2 = FUN_140103a10((int *)param_1,0); if (iVar2 == -1) { FUN_14010c4c0(local_28,1); uVar5 = FUN_14010ba10((int *)local_28,uVar3 + 1); uVar4 = uVar5 & 0xffffffff; if ((int)uVar5 != 0) goto LAB_14010fe59; uVar3 = FUN_140103ed0(param_1,local_28,param_1); uVar4 = (ulonglong)uVar3; if (uVar3 != 0) goto LAB_14010fe59; } uVar6 = FUN_1401039e0((int *)param_1,(int *)param_2); iVar2 = (int)uVar6; while (iVar2 != -1) { uVar5 = FUN_140109e70(param_1,param_2,param_1); uVar4 = uVar5 & 0xffffffff; if ((int)uVar5 != 0) break; uVar6 = FUN_1401039e0((int *)param_1,(int *)param_2); iVar2 = (int)uVar6; } } } } } LAB_14010fe59: FUN_1401037f0((int *)local_28); return uVar4; }