/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400c6b20 FUN_1400c6b20 * Pseudocode, not original source. */ ulonglong FUN_1400c6b20(longlong param_1,undefined4 param_2,void *param_3,uint *param_4,int param_5, int *param_6) { uint uVar1; int iVar2; uint uVar3; uint uVar4; ulonglong uVar5; longlong local_res8; undefined8 local_28; undefined8 local_20; if (((param_1 == 0) || (param_3 == (void *)0x0)) || (param_4 == (uint *)0x0)) { return 0x10; } if (param_6 == (int *)0x0) { return 0x10; } if (param_5 == 1) { if (*param_6 != 1) { return 0xf; } } else if (param_5 != 0) { return 0x12; } uVar5 = FUN_1400cb9c0(&local_res8); if ((int)uVar5 != 0) { return uVar5; } uVar1 = (*DAT_140163340)(local_res8,param_1,param_2); uVar5 = (ulonglong)uVar1; if (uVar1 == 0) { iVar2 = (*DAT_1401632f8)(*(undefined8 *)(param_6 + 6),local_res8); if (iVar2 == -1) { uVar5 = 0x16; } else { if (param_5 == 1) { uVar1 = (*DAT_1401633e0)(local_res8,*(undefined8 *)(param_6 + 0xe), *(undefined8 *)(param_6 + 8),local_20); uVar5 = (ulonglong)uVar1; if (uVar1 != 0) goto LAB_1400c6d30; uVar1 = (*DAT_1401633e0)(local_res8,*(undefined8 *)(param_6 + 0x10), *(undefined8 *)(param_6 + 10),local_28); uVar5 = (ulonglong)uVar1; if (uVar1 != 0) goto LAB_1400c6d30; uVar1 = (*DAT_140163358)(local_20,local_28,local_res8); uVar5 = (ulonglong)uVar1; if (uVar1 != 0) goto LAB_1400c6d30; uVar1 = (*DAT_1401633a8)(local_res8,*(undefined8 *)(param_6 + 0xc), *(undefined8 *)(param_6 + 8),local_res8); uVar5 = (ulonglong)uVar1; if (uVar1 != 0) goto LAB_1400c6d30; uVar1 = (*DAT_140163368)(local_res8,*(undefined8 *)(param_6 + 10),local_res8); uVar5 = (ulonglong)uVar1; if (uVar1 != 0) goto LAB_1400c6d30; uVar1 = (*DAT_140163348)(local_res8,local_28,local_res8); } else { uVar1 = (*DAT_1401633e0)(local_res8,*(undefined8 *)(param_6 + 2), *(undefined8 *)(param_6 + 6),local_res8); } uVar5 = (ulonglong)uVar1; if (uVar1 == 0) { uVar1 = (*DAT_140163330)(*(undefined8 *)(param_6 + 6)); if (*param_4 < uVar1) { *param_4 = uVar1; uVar5 = 6; } else { uVar3 = (*DAT_140163330)(local_res8); uVar4 = (*DAT_140163330)(*(undefined8 *)(param_6 + 6)); if (uVar4 < uVar3) { uVar5 = 1; } else { *param_4 = uVar1; FUN_1400cb9a0(param_3,(ulonglong)uVar1); iVar2 = (*DAT_140163330)(local_res8); uVar1 = (*DAT_140163338)(local_res8,(ulonglong)(uVar1 - iVar2) + (longlong)param_3); uVar5 = (ulonglong)uVar1; } } } } } LAB_1400c6d30: FUN_1400cba50(local_res8); return uVar5; }