/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401e54b0 FUN_1401e54b0 * Pseudocode, not original source. */ undefined8 FUN_1401e54b0(longlong param_1,undefined4 param_2,longlong param_3,uint *param_4,undefined8 param_5, undefined4 param_6,ulonglong param_7,undefined4 param_8,undefined4 param_9,int param_10 ,longlong param_11) { undefined4 uVar1; uint uVar2; int iVar3; undefined8 uVar4; uint local_res8 [2]; undefined4 local_res10; undefined8 in_stack_ffffffffffffff98; undefined4 uVar6; ulonglong uVar5; undefined8 in_stack_ffffffffffffffa0; undefined4 uVar7; undefined8 in_stack_ffffffffffffffa8; undefined4 uVar8; undefined8 in_stack_ffffffffffffffb0; undefined4 uVar9; uVar7 = (undefined4)((ulonglong)in_stack_ffffffffffffffa0 >> 0x20); uVar6 = (undefined4)((ulonglong)in_stack_ffffffffffffff98 >> 0x20); uVar8 = (undefined4)((ulonglong)in_stack_ffffffffffffffa8 >> 0x20); uVar9 = (undefined4)((ulonglong)in_stack_ffffffffffffffb0 >> 0x20); if (((param_1 != 0) && (param_3 != 0)) && (param_4 != (uint *)0x0)) { if (param_11 != 0) { if ((param_10 == 1) || (param_10 == 2)) { local_res10 = param_2; uVar4 = FUN_140200b40(param_8); if (((int)uVar4 == 0) && ((param_10 != 2 || (uVar4 = FUN_1402069c0(param_9), (int)uVar4 == 0)))) { uVar1 = (*DAT_14039d2c8)(*(undefined8 *)(param_11 + 0x18)); uVar2 = (*DAT_14039d2f0)(*(undefined8 *)(param_11 + 0x18)); local_res8[0] = *param_4; if (local_res8[0] < uVar2) { *param_4 = uVar2; uVar4 = 6; } else { if (param_10 == 2) { uVar5 = CONCAT44(uVar6,uVar1); uVar4 = FUN_140206630(param_1,local_res10,param_5,param_6,uVar5,param_7, CONCAT44(uVar8,param_8),CONCAT44(uVar9,param_9),param_3, local_res8); iVar3 = (int)uVar4; } else { uVar4 = FUN_140206460(param_1,local_res10,2,uVar1,param_7,CONCAT44(uVar7,param_8), param_3,local_res8); iVar3 = (int)uVar4; uVar5 = param_7; } if (iVar3 == 0) { uVar4 = (*DAT_14039d3e0)(param_3,local_res8[0],param_3,param_4, uVar5 & 0xffffffff00000000,param_11); } } } } else { uVar4 = 0x18; } return uVar4; } return 0x10; } return 0x10; }