/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400c87e0 FUN_1400c87e0 * Pseudocode, not original source. */ ulonglong FUN_1400c87e0(uint *param_1,int param_2,undefined4 *param_3) { int iVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; uint *puVar5; int local_res10 [2]; uint local_48 [8]; lVar4 = 0; *param_3 = 0; if (0xff < param_2 - 1U) { return 0xfffffffd; } puVar5 = &DAT_140116ec0; do { iVar1 = FUN_1400c6ff0((int *)param_1,*puVar5); if (iVar1 == 0) { *param_3 = 1; goto LAB_1400c88ec; } puVar5 = puVar5 + 1; } while ((longlong)puVar5 < 0x1401172c0); uVar2 = FUN_1400d0b20(param_1,local_res10); if ((int)uVar2 == 0) { if (local_res10[0] == 1) { LAB_1400c88ec: uVar2 = 0; } else { uVar2 = FUN_1400c6d70(local_48); if ((int)uVar2 == 0) { uVar2 = uVar2 & 0xffffffff; if (0 < (longlong)param_2) { do { FUN_1400cfa90(local_48,(&DAT_140116ec0)[lVar4]); uVar3 = FUN_1400d0960(param_1,local_48,local_res10); uVar2 = uVar3 & 0xffffffff; if (((int)uVar3 != 0) || (local_res10[0] == 0)) goto LAB_1400c88bc; lVar4 = lVar4 + 1; } while (lVar4 < param_2); } *param_3 = 1; LAB_1400c88bc: FUN_1400c6dd0((int *)local_48); } } } return uVar2; }