/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401f6af0 FUN_1401f6af0 * Pseudocode, not original source. */ void FUN_1401f6af0(undefined8 param_1,longlong param_2) { longlong *plVar1; undefined *puVar2; longlong *plVar3; char cVar4; int iVar5; longlong lVar6; longlong lVar7; longlong *local_res10; undefined8 local_res18; undefined8 local_res20; undefined8 local_38; undefined8 local_30; local_30 = 0xfffffffffffffffe; local_res10 = (longlong *)FUN_14016d940(0x400); lVar7 = 0; lVar6 = lVar7; if (local_res10 != (longlong *)0x0) { lVar6 = FUN_14019cad0(local_res10,1,param_2); } if (lVar6 == 0) { local_res10 = (longlong *)0x0; } else { local_res10 = (longlong *)FUN_14016d940(0x10); local_res10[1] = 1; *local_res10 = lVar6; } plVar1 = local_res10; FUN_1401786c0(param_2 + 0x10,&local_res10); plVar3 = local_res10; if (plVar1 != (longlong *)0x0) { plVar1 = plVar1 + 1; *plVar1 = *plVar1 + -1; if (*plVar1 == 0) { lVar6 = *local_res10; if (lVar6 != 0) { FUN_14019c9e0(lVar6); FUN_14016d970(lVar6); } FUN_14016d970(plVar3); } } lVar6 = lVar7; if (*(longlong **)(param_2 + 0x10) != (longlong *)0x0) { lVar6 = **(longlong **)(param_2 + 0x10); } iVar5 = FUN_14019dd50(lVar6,1); if (iVar5 == 0) { puVar2 = *(undefined **)(param_2 + 8); if (((puVar2 == (undefined *)0x0) || (puVar2 == PTR_DAT_140344098)) || (*(int *)(puVar2 + -8) < 1)) { lVar6 = lVar7; if (*(longlong **)(param_2 + 0x10) != (longlong *)0x0) { lVar6 = **(longlong **)(param_2 + 0x10); } cVar4 = FUN_14019e650(lVar6); if (cVar4 == '\0') { local_38 = 0; FUN_1401786c0(param_2 + 0x10,&local_38); *(undefined4 *)(param_2 + 0x18) = 3; return; } } else { lVar6 = lVar7; if (*(longlong **)(param_2 + 0x10) != (longlong *)0x0) { lVar6 = **(longlong **)(param_2 + 0x10); } cVar4 = FUN_14019e110(lVar6,puVar2,0); if (cVar4 == '\0') { local_res20 = 0; FUN_1401786c0(param_2 + 0x10,&local_res20); *(undefined4 *)(param_2 + 0x18) = 3; return; } } if (*(longlong **)(param_2 + 0x10) != (longlong *)0x0) { lVar7 = **(longlong **)(param_2 + 0x10); } FUN_14019be10(lVar7,0); FUN_1401f63c0(param_1,param_2); } else { local_res18 = 0; FUN_1401786c0(param_2 + 0x10,&local_res18); *(undefined4 *)(param_2 + 0x18) = 3; } return; }