server-re/decomp/Agent_Release_x64/full/functions/0x1400c8010.c
2026-10-14 16:45:19 -04:00

90 lines
2.5 KiB
C

/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x1400c8010 FUN_1400c8010
* Pseudocode, not original source. */
ulonglong FUN_1400c8010(uint *param_1,uint *param_2,uint *param_3)
{
uint uVar1;
uint uVar2;
uint uVar3;
ulonglong uVar4;
ulonglong uVar5;
undefined8 uVar6;
uint local_48 [2];
uint local_40;
uint local_30 [2];
uint local_28;
if (*param_1 == 0) {
uVar4 = FUN_1400cf120(param_2,param_3);
return uVar4;
}
if (*param_2 == 0) {
uVar4 = FUN_1400cf120(param_1,param_3);
return uVar4;
}
uVar4 = FUN_1400cd290(local_30,param_1);
if ((int)uVar4 != 0) {
return uVar4;
}
uVar1 = FUN_1400cd290(local_48,param_2);
uVar4 = (ulonglong)uVar1;
if (uVar1 != 0) goto LAB_1400c81cf;
local_40 = uVar1;
local_28 = uVar1;
uVar2 = FUN_1400c7050((int *)local_30);
uVar3 = FUN_1400c7050((int *)local_48);
uVar1 = uVar3;
if ((int)uVar2 < (int)uVar3) {
uVar1 = uVar2;
}
if ((int)uVar1 < 1) {
LAB_1400c80ef:
if (uVar2 != uVar1) {
uVar5 = FUN_1400cd2c0(local_30,uVar2 - uVar1,local_30,(undefined8 *)0x0);
uVar4 = uVar5 & 0xffffffff;
if ((int)uVar5 != 0) goto LAB_1400c81b4;
}
if (uVar3 != uVar1) {
uVar5 = FUN_1400cd2c0(local_48,uVar3 - uVar1,local_48,(undefined8 *)0x0);
uVar4 = uVar5 & 0xffffffff;
if ((int)uVar5 != 0) goto LAB_1400c81b4;
}
do {
if (local_48[0] == 0) {
uVar5 = FUN_1400ccf30(local_30,uVar1,param_3);
uVar4 = uVar5 & 0xffffffff;
if ((int)uVar5 == 0) {
param_3[2] = 0;
}
break;
}
uVar6 = FUN_1400cd060((int *)local_30,(int *)local_48);
if ((int)uVar6 == 1) {
FUN_1400cef30((undefined8 *)local_30,(undefined8 *)local_48);
}
uVar5 = FUN_1400cd440(local_48,local_30,local_48);
uVar4 = uVar5 & 0xffffffff;
if ((int)uVar5 != 0) break;
uVar2 = FUN_1400c7050((int *)local_48);
uVar5 = FUN_1400cd2c0(local_48,uVar2,local_48,(undefined8 *)0x0);
uVar4 = uVar5 & 0xffffffff;
} while ((int)uVar5 == 0);
}
else {
uVar5 = FUN_1400cd2c0(local_30,uVar1,local_30,(undefined8 *)0x0);
uVar4 = uVar5 & 0xffffffff;
if ((int)uVar5 == 0) {
uVar5 = FUN_1400cd2c0(local_48,uVar1,local_48,(undefined8 *)0x0);
uVar4 = uVar5 & 0xffffffff;
if ((int)uVar5 == 0) goto LAB_1400c80ef;
}
}
LAB_1400c81b4:
FUN_1400c6dd0((int *)local_30);
LAB_1400c81cf:
FUN_1400c6dd0((int *)local_48);
return uVar4;
}