/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401f5030 FUN_1401f5030 * Pseudocode, not original source. */ undefined8 * FUN_1401f5030(longlong *param_1,undefined8 *param_2,int param_3,int param_4) { int iVar1; undefined *puVar2; int iVar3; int iVar4; iVar3 = 0; iVar4 = 0; puVar2 = (undefined *)*param_1; if (param_3 < 0) { param_3 = 0; } if (param_4 < 0) { param_4 = iVar3; } iVar1 = 0; if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140344098)) { iVar1 = *(int *)(puVar2 + -8); } if (iVar1 < param_3 + param_4) { param_4 = iVar3; if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140344098)) { param_4 = *(int *)(puVar2 + -8); } param_4 = param_4 - param_3; } iVar1 = iVar3; if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140344098)) { iVar1 = *(int *)(puVar2 + -8); } if (iVar1 < param_3) { param_4 = iVar3; } if (param_3 == 0) { if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140344098)) { iVar4 = *(int *)(puVar2 + -8); } if (param_4 == iVar4) { FUN_14016d8c0(); *param_2 = PTR_DAT_140344098; FUN_14004f4d0(param_2,param_1); return param_2; } } if (puVar2 == (undefined *)0x0) { puVar2 = PTR_DAT_140344098; } FUN_14013c860(param_2,puVar2 + param_3,param_4); return param_2; }