/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x14020a690 FUN_14020a690 * Pseudocode, not original source. */ undefined4 FUN_14020a690(int *param_1,undefined8 param_2) { undefined4 uVar1; int iVar2; undefined4 *puVar3; undefined4 uVar4; uint uVar5; uint uVar6; ulonglong uVar7; undefined1 local_a8 [24]; uint local_90 [4]; undefined4 *local_80; undefined1 local_78 [24]; int local_60 [4]; undefined4 *local_50; undefined1 local_48 [24]; undefined1 local_30 [24]; uVar5 = *param_1 >> 1; uVar4 = 0xfffffffe; iVar2 = FUN_14020afd0(local_90,uVar5); if (iVar2 == 0) { iVar2 = FUN_14020afd0(local_60,*param_1 - uVar5); if (iVar2 == 0) { iVar2 = FUN_14020afd0(local_a8,*param_1 * 2); if (iVar2 == 0) { iVar2 = FUN_14020afd0(local_30,*param_1 * 2); if (iVar2 == 0) { iVar2 = FUN_14020afd0(local_48,uVar5 * 2); if (iVar2 == 0) { iVar2 = FUN_14020afd0(local_78,(*param_1 - uVar5) * 2); if (iVar2 == 0) { puVar3 = *(undefined4 **)(param_1 + 4); if (0 < (int)uVar5) { uVar7 = (ulonglong)uVar5; do { uVar1 = *puVar3; puVar3 = puVar3 + 1; uVar7 = uVar7 - 1; *local_80 = uVar1; local_80 = local_80 + 1; } while (uVar7 != 0); } uVar6 = uVar5; if ((int)uVar5 < *param_1) { do { uVar6 = uVar6 + 1; *local_50 = *puVar3; puVar3 = puVar3 + 1; local_50 = local_50 + 1; } while ((int)uVar6 < *param_1); } local_60[0] = *param_1 - uVar5; local_90[0] = uVar5; FUN_140208e50(local_90); iVar2 = FUN_140201a20(local_90,local_48); if (iVar2 == 0) { iVar2 = FUN_140201a20(local_60,local_78); if (iVar2 == 0) { iVar2 = FUN_1402094a0(local_60,local_90,local_a8); if (iVar2 == 0) { iVar2 = FUN_140201a20(local_a8,local_a8); if (iVar2 == 0) { iVar2 = FUN_1402094a0(local_48,local_78,local_30); if (iVar2 == 0) { iVar2 = FUN_1402093a0(local_a8,local_30,local_a8); if (iVar2 == 0) { iVar2 = FUN_14020af40(local_a8,uVar5); if (iVar2 == 0) { iVar2 = FUN_14020af40(local_78,uVar5 * 2); if (iVar2 == 0) { iVar2 = FUN_140201530(local_48,local_a8,local_a8); if (iVar2 == 0) { iVar2 = FUN_140201530(local_a8,local_78,param_2); uVar4 = 0xfffffffe; if (iVar2 == 0) { uVar4 = 0; } } } } } } } } } } FUN_140200e50(local_78); } FUN_140200e50(local_48); } FUN_140200e50(local_30); } FUN_140200e50(local_a8); } FUN_140200e50(local_60); } FUN_140200e50(local_90); } return uVar4; }