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

59 lines
1.7 KiB
C

/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x1400c8680 FUN_1400c8680
* Pseudocode, not original source. */
void FUN_1400c8680(uint *param_1,uint *param_2,uint *param_3,undefined8 *param_4)
{
bool bVar1;
int iVar2;
undefined8 uVar3;
ulonglong uVar4;
undefined7 extraout_var;
uint local_38 [6];
uint local_20 [6];
if (param_3[2] != 1) {
if (param_2[2] == 1) {
uVar3 = FUN_1400c6d70(local_38);
if ((int)uVar3 == 0) {
uVar4 = FUN_1400c83b0(param_1,param_3,(undefined8 *)local_38);
if (((int)uVar4 == 0) && (uVar3 = FUN_1400c6d70(local_20), (int)uVar3 == 0)) {
uVar3 = FUN_1400cf120(param_2,local_20);
if ((int)uVar3 == 0) {
FUN_1400c8680(local_38,local_20,param_3,param_4);
FUN_1400cf150((int *)local_38);
}
else {
FUN_1400cf150((int *)local_38);
}
}
else {
FUN_1400c6dd0((int *)local_38);
}
}
}
else {
bVar1 = FUN_1400d0910(param_3);
if ((int)CONCAT71(extraout_var,bVar1) == 1) {
iVar2 = 1;
}
else {
uVar3 = FUN_1400d0350((int *)param_3);
iVar2 = (int)uVar3;
if (iVar2 == 0) {
uVar3 = FUN_1400d02e0((int *)param_3);
iVar2 = (int)uVar3 * 2;
}
if (((0 < (int)*param_3) && ((**(byte **)(param_3 + 4) & 1) != 0)) || (iVar2 != 0)) {
FUN_1400cfd20(param_1,(int *)param_2,param_3,param_4,iVar2);
return;
}
iVar2 = 0;
}
FUN_1400d0390(param_1,(int *)param_2,param_3,param_4,iVar2);
}
}
return;
}