/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401e50d0 FUN_1401e50d0 * Pseudocode, not original source. */ ulonglong FUN_1401e50d0(undefined8 param_1,undefined4 param_2,int param_3,uint param_4, undefined4 *param_5) { undefined8 *puVar1; undefined8 *puVar2; uint uVar3; int iVar4; ulonglong uVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 local_58; undefined8 local_50; undefined8 local_48; undefined8 local_40; undefined8 local_38 [2]; if (DAT_14039d260 == 0) { return 0x10; } if (param_5 == (undefined4 *)0x0) { return 0x10; } if (0x180 < param_3 - 0x80U) { return 3; } if ((int)param_4 < 3) { return 0x10; } if ((param_4 & 1) == 0) { return 0x10; } uVar5 = FUN_140200b40(param_2); if ((int)uVar5 != 0) { return uVar5; } uVar5 = FUN_140205a40(&local_48,&local_40,&local_58,&local_50,local_38,0); if ((int)uVar5 != 0) { return uVar5; } uVar3 = (*DAT_14039d298)(local_38[0],param_4); uVar5 = (ulonglong)uVar3; if (uVar3 == 0) { do { uVar3 = FUN_140206300(local_48,param_3 / 2,param_1,param_2); uVar5 = (ulonglong)uVar3; if (uVar3 != 0) goto LAB_1401e5402; uVar3 = (*DAT_14039d320)(local_48,1,local_58); uVar5 = (ulonglong)uVar3; if (uVar3 != 0) goto LAB_1401e5402; uVar3 = (*DAT_14039d358)(local_58,local_38[0],local_50); uVar5 = (ulonglong)uVar3; if (uVar3 != 0) goto LAB_1401e5402; iVar4 = (*DAT_14039d2c0)(local_50,1); } while (iVar4 != 0); do { uVar3 = FUN_140206300(local_40,param_3 / 2,param_1,param_2); uVar5 = (ulonglong)uVar3; if (uVar3 != 0) goto LAB_1401e5402; uVar3 = (*DAT_14039d320)(local_40,1,local_58); uVar5 = (ulonglong)uVar3; if (uVar3 != 0) goto LAB_1401e5402; uVar3 = (*DAT_14039d358)(local_58,local_38[0],local_50); uVar5 = (ulonglong)uVar3; if (uVar3 != 0) goto LAB_1401e5402; iVar4 = (*DAT_14039d2c0)(local_50,1); } while (iVar4 != 0); uVar3 = (*DAT_14039d320)(local_48,1,local_50); uVar5 = (ulonglong)uVar3; if (uVar3 == 0) { uVar3 = (*DAT_14039d360)(local_58,local_50,local_58); uVar5 = (ulonglong)uVar3; if (uVar3 == 0) { uVar8 = 0; puVar1 = (undefined8 *)(param_5 + 10); puVar2 = (undefined8 *)(param_5 + 8); puVar6 = puVar2; puVar7 = puVar1; uVar3 = FUN_140205a40(param_5 + 2,param_5 + 4,param_5 + 6,param_5 + 0x10,param_5 + 0xe, param_5 + 0xc,puVar2,puVar1,0); uVar5 = (ulonglong)uVar3; if (uVar3 == 0) { uVar3 = (*DAT_14039d298)(*(undefined8 *)(param_5 + 2),param_4); uVar5 = (ulonglong)uVar3; if (uVar3 == 0) { uVar3 = (*DAT_14039d378)(*(undefined8 *)(param_5 + 2),local_58, *(undefined8 *)(param_5 + 4)); uVar5 = (ulonglong)uVar3; if (uVar3 == 0) { uVar3 = (*DAT_14039d328)(local_48,local_40,*(undefined8 *)(param_5 + 6)); uVar5 = (ulonglong)uVar3; if (uVar3 == 0) { uVar3 = (*DAT_14039d320)(local_48,1,local_58); uVar5 = (ulonglong)uVar3; if (uVar3 == 0) { uVar3 = (*DAT_14039d320)(local_40,1,local_50); uVar5 = (ulonglong)uVar3; if (uVar3 == 0) { uVar3 = (*DAT_14039d340)(*(undefined8 *)(param_5 + 4),local_58,0, *(undefined8 *)(param_5 + 0xe)); uVar5 = (ulonglong)uVar3; if (uVar3 == 0) { uVar3 = (*DAT_14039d340)(*(undefined8 *)(param_5 + 4),local_50,0, *(undefined8 *)(param_5 + 0x10)); uVar5 = (ulonglong)uVar3; if (uVar3 == 0) { uVar3 = (*DAT_14039d378)(local_40,local_48,*(undefined8 *)(param_5 + 0xc)); uVar5 = (ulonglong)uVar3; if (uVar3 == 0) { uVar3 = (*DAT_14039d290)(local_48,*puVar2); uVar5 = (ulonglong)uVar3; if (uVar3 == 0) { uVar3 = (*DAT_14039d290)(local_40,*puVar1); uVar5 = (ulonglong)uVar3; if (uVar3 == 0) { *param_5 = 1; goto LAB_1401e5444; } } } } } } } } } } } } } } LAB_1401e5402: puVar7 = *(undefined8 **)(param_5 + 10); uVar8 = 0; puVar6 = *(undefined8 **)(param_5 + 8); FUN_140205ad0(*(undefined8 *)(param_5 + 4),*(undefined8 *)(param_5 + 2), *(undefined8 *)(param_5 + 6),*(undefined8 *)(param_5 + 0x10), *(undefined8 *)(param_5 + 0xe),*(undefined8 *)(param_5 + 0xc),puVar6,puVar7,0); LAB_1401e5444: FUN_140205ad0(local_38[0],local_50,local_58,local_48,local_40,0,puVar6,puVar7,uVar8); return uVar5; }