/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x1400de680 FUN_1400de680 * Pseudocode, not original source. */ undefined4 FUN_1400de680(int *param_1,int *param_2,uint *param_3) { uint uVar1; int iVar2; undefined8 uVar3; undefined4 *puVar4; undefined4 *puVar5; uint uVar6; uint uVar7; ulonglong uVar8; undefined4 uVar9; uint local_c8 [4]; undefined4 *local_b8; uint local_b0 [6]; uint local_98 [4]; undefined4 *local_88; uint local_80 [6]; uint local_68 [4]; undefined4 *local_58; uint local_50 [4]; undefined4 *local_40; uint local_38 [8]; iVar2 = *param_2; if (*param_1 < *param_2) { iVar2 = *param_1; } uVar9 = 0xfffffffe; uVar6 = iVar2 >> 1; uVar3 = FUN_1400dfd80(local_c8,uVar6); if ((int)uVar3 == 0) { uVar3 = FUN_1400dfd80(local_68,*param_1 - uVar6); if ((int)uVar3 == 0) { uVar3 = FUN_1400dfd80(local_98,uVar6); if ((int)uVar3 == 0) { uVar3 = FUN_1400dfd80(local_50,*param_2 - uVar6); if ((int)uVar3 == 0) { uVar1 = uVar6 * 2; uVar3 = FUN_1400dfd80(local_b0,uVar1); if ((int)uVar3 == 0) { uVar3 = FUN_1400dfd80(local_38,uVar1); if ((int)uVar3 == 0) { uVar3 = FUN_1400dfd80(local_80,uVar1); if ((int)uVar3 == 0) { puVar5 = *(undefined4 **)(param_1 + 4); puVar4 = *(undefined4 **)(param_2 + 4); local_68[0] = *param_1 - uVar6; local_50[0] = *param_2 - uVar6; if (0 < (int)uVar6) { uVar8 = (ulonglong)uVar6; do { *local_b8 = *puVar5; puVar5 = puVar5 + 1; *local_88 = *puVar4; puVar4 = puVar4 + 1; uVar8 = uVar8 - 1; local_b8 = local_b8 + 1; local_88 = local_88 + 1; } while (uVar8 != 0); } uVar7 = uVar6; if ((int)uVar6 < *param_1) { do { uVar7 = uVar7 + 1; *local_58 = *puVar5; puVar5 = puVar5 + 1; local_58 = local_58 + 1; } while ((int)uVar7 < *param_1); } uVar7 = uVar6; if ((int)uVar6 < *param_2) { do { uVar7 = uVar7 + 1; *local_40 = *puVar4; puVar4 = puVar4 + 1; local_40 = local_40 + 1; } while ((int)uVar7 < *param_2); } local_c8[0] = uVar6; local_98[0] = uVar6; FUN_1400ddc00((int *)local_c8); FUN_1400ddc00((int *)local_98); iVar2 = FUN_1400d6660(local_c8,local_98,local_38); if ((((((iVar2 == 0) && (iVar2 = FUN_1400d6660(local_68,local_50,local_80), iVar2 == 0)) && (uVar3 = FUN_1400de250(local_68,local_c8,local_b0), (int)uVar3 == 0)) && ((uVar3 = FUN_1400de250(local_50,local_98,local_c8), (int)uVar3 == 0 && (iVar2 = FUN_1400d6660(local_b0,local_c8,local_b0), iVar2 == 0)))) && ((iVar2 = FUN_1400d62e0(local_38,local_80,local_c8), iVar2 == 0 && ((uVar3 = FUN_1400de150(local_b0,local_c8,local_b0), (int)uVar3 == 0 && (uVar3 = FUN_1400dfcf0((int *)local_b0,uVar6), (int)uVar3 == 0)))))) && ((uVar3 = FUN_1400dfcf0((int *)local_80,uVar1), (int)uVar3 == 0 && (iVar2 = FUN_1400d62e0(local_38,local_b0,local_b0), iVar2 == 0)))) { iVar2 = FUN_1400d62e0(local_b0,local_80,param_3); uVar9 = 0xfffffffe; if (iVar2 == 0) { uVar9 = 0; } } FUN_1400d5c00((int *)local_80); } FUN_1400d5c00((int *)local_38); } FUN_1400d5c00((int *)local_b0); } FUN_1400d5c00((int *)local_50); } FUN_1400d5c00((int *)local_98); } FUN_1400d5c00((int *)local_68); } FUN_1400d5c00((int *)local_c8); } return uVar9; }