/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400a1820 FUN_1400a1820 * Pseudocode, not original source. */ ulonglong FUN_1400a1820(longlong param_1,int param_2,undefined8 param_3,int param_4) { int iVar1; ulonglong in_RAX; undefined8 uVar2; longlong lVar3; int iVar4; ulonglong uVar5; longlong lVar6; iVar1 = *(int *)(param_1 + 0x18); uVar5 = 0; lVar6 = 0; if (0 < iVar1) { in_RAX = 0; lVar3 = param_1; do { if ((lVar6 < 0) || (iVar4 = (int)uVar5, iVar1 <= iVar4)) { /* WARNING: Subroutine does not return */ FUN_14002f5c0(lVar3,uVar5,param_3,param_1); } lVar3 = *(longlong *)(param_1 + 0x10); if (((*(int *)(in_RAX + 4 + lVar3) == param_2) && (*(int *)(in_RAX + lVar3) == (int)param_3)) && (*(int *)(in_RAX + 8 + lVar3) == param_4)) { uVar2 = FUN_14003e820(param_1,iVar4,1,param_1); return CONCAT71((int7)((ulonglong)uVar2 >> 8),1); } uVar5 = (ulonglong)(iVar4 + 1U); lVar6 = lVar6 + 1; in_RAX = in_RAX + 0x18; } while ((int)(iVar4 + 1U) < iVar1); } return in_RAX & 0xffffffffffffff00; }