/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401d2620 FUN_1401d2620 * Pseudocode, not original source. */ undefined8 * FUN_1401d2620(longlong *param_1,undefined8 *param_2,uint param_3) { uint uVar1; uint *puVar2; ulonglong uVar3; undefined8 uVar4; undefined8 uVar5; undefined8 uVar6; uVar5 = 0xfffffffffffffffe; uVar4 = (**(code **)(*param_1 + 0x58))(); uVar6 = uVar4; FUN_14016db50(uVar4); *param_2 = 0; uVar1 = *(uint *)(param_1 + 0x2cf); uVar3 = (ulonglong)param_3 % (ulonglong)uVar1; if (param_1[0x2cb] != 0) { puVar2 = *(uint **)(param_1[0x2cb] + uVar3 * 8); while( true ) { if ((puVar2 == (uint *)0x0) || ((uint)uVar3 != puVar2[8] % uVar1)) goto LAB_1401d26c8; if (*puVar2 == param_3) break; puVar2 = *(uint **)(puVar2 + 4); } FUN_1401eb200(param_2,puVar2 + 2,uVar3,(ulonglong)uVar1,uVar5,uVar6,1); } LAB_1401d26c8: FUN_1401720a0(param_1 + 0x2ca); FUN_14016dbe0(uVar4); return param_2; }