/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401d6850 FUN_1401d6850 * Pseudocode, not original source. */ void FUN_1401d6850(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; char cVar2; undefined8 uVar3; longlong lVar4; longlong lVar5; longlong lVar6; uVar3 = (**(code **)(*param_1 + 0x58))(param_1,param_2,param_3,param_4,0xfffffffffffffffe); FUN_14016db50(uVar3); if ((((((int)param_1[0xd4] != 2) && ((longlong *)param_1[0x2a4] != (longlong *)0x0)) && (plVar1 = *(longlong **)param_1[0x2a4], plVar1 != (longlong *)0x0)) && ((cVar2 = (**(code **)(*plVar1 + 0x10))(), cVar2 == '\0' && ((longlong *)param_1[0x2ae] != (longlong *)0x0)))) && ((lVar4 = *(longlong *)param_1[0x2ae], lVar4 != 0 && ((*(char *)(lVar4 + 0x80) != '\x01' && ((int)param_1[0x2af] != 0)))))) { plVar1 = (longlong *)param_1[0x2ae]; lVar4 = 0; lVar6 = lVar4; if (plVar1 != (longlong *)0x0) { lVar6 = *plVar1; } if (*(int *)(lVar6 + 0xd0) != 0) { lVar6 = lVar4; if (plVar1 != (longlong *)0x0) { lVar6 = *plVar1; } if (*(int *)(lVar6 + 0xd0) != -1) { lVar6 = lVar4; if (plVar1 != (longlong *)0x0) { lVar6 = *plVar1; } if (*(double *)(lVar6 + 0x100) != DAT_140344ca8) { lVar6 = lVar4; if ((longlong *)param_1[0x2ae] != (longlong *)0x0) { lVar6 = *(longlong *)param_1[0x2ae]; } lVar5 = lVar4; if (param_1[0xbb] != 0) { lVar5 = *(longlong *)(param_1[0xbb] + 0x38); } *(double *)(lVar6 + 0x100) = *(double *)(lVar6 + 0x100) - *(double *)(lVar5 + 0x100); lVar6 = lVar4; if ((longlong *)param_1[0x2ae] != (longlong *)0x0) { lVar6 = *(longlong *)param_1[0x2ae]; } if (*(double *)(lVar6 + 0x100) < 0.0) { if ((longlong *)param_1[0x2ae] != (longlong *)0x0) { lVar4 = *(longlong *)param_1[0x2ae]; } *(undefined8 *)(lVar4 + 0x100) = DAT_140344cb0; FUN_1401d65a0(param_1); } } } } } FUN_14016dbe0(uVar3); return; }