/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x14004ea20 FUN_14004ea20 * Pseudocode, not original source. */ void FUN_14004ea20(longlong *param_1,longlong param_2) { int iVar1; int iVar2; int iVar3; int iVar4; int iVar5; undefined *puVar6; if (param_2 != 0) { iVar1 = FUN_14016d740(param_2); puVar6 = (undefined *)*param_1; iVar4 = 0; if ((puVar6 != (undefined *)0x0) && (iVar4 = 0, puVar6 != PTR_DAT_1403440a0)) { iVar4 = *(int *)(puVar6 + -8); } iVar5 = iVar4 + iVar1; iVar2 = 0; if ((puVar6 != (undefined *)0x0) && (iVar2 = 0, puVar6 != PTR_DAT_1403440a0)) { iVar2 = *(int *)(puVar6 + -8); } iVar3 = iVar5; if (((iVar5 <= iVar2) && (iVar3 = 0, puVar6 != (undefined *)0x0)) && (puVar6 != PTR_DAT_1403440a0)) { iVar3 = *(int *)(puVar6 + -8); } iVar2 = 1; if (1 < iVar3) { iVar2 = iVar3; } iVar3 = 0; if ((puVar6 != (undefined *)0x0) && (puVar6 != PTR_DAT_1403440a0)) { iVar3 = *(int *)(puVar6 + -8); } if (iVar3 < iVar2) { FUN_14004e770(param_1); } FUN_14004e850(param_1); puVar6 = (undefined *)*param_1; if ((undefined *)*param_1 == (undefined *)0x0) { puVar6 = PTR_DAT_1403440a0; } FUN_14016d770(puVar6 + (longlong)iVar4 * 2,param_2,iVar1); puVar6 = (undefined *)*param_1; iVar4 = 0; iVar1 = 0; if (0 < iVar5) { iVar1 = iVar5; } if ((puVar6 != (undefined *)0x0) && (puVar6 != PTR_DAT_1403440a0)) { iVar4 = *(int *)(puVar6 + -8); } if ((iVar4 <= iVar1) && (iVar1 = 0, puVar6 != (undefined *)0x0)) { if (puVar6 == PTR_DAT_1403440a0) { return; } iVar1 = *(int *)(puVar6 + -8); } if (((puVar6 != PTR_DAT_1403440a0) && (puVar6 != (undefined *)0x0)) && ((int *)(puVar6 + -8) != (int *)0x0)) { *(int *)(puVar6 + -8) = iVar1; *(undefined2 *)(puVar6 + (longlong)iVar1 * 2) = 0; } } return; }