/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x14018c740 FUN_14018c740 * Pseudocode, not original source. */ bool FUN_14018c740(longlong param_1,uint param_2) { uint *puVar1; longlong lVar2; ulonglong uVar3; longlong *plVar4; longlong lVar5; longlong *local_res8; if (DAT_14034c86f != '\0') { (**(code **)(*(longlong *)(param_1 + -0x120) + 200))(param_1 + -0x120); } if (param_2 == 1) { return true; } uVar3 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0xb80); if (*(longlong *)(param_1 + 0xb60) != 0) { puVar1 = *(uint **)(*(longlong *)(param_1 + 0xb60) + uVar3 * 8); while( true ) { if ((puVar1 == (uint *)0x0) || ((uint)uVar3 != puVar1[8] % *(uint *)(param_1 + 0xb80))) goto LAB_14018c7e3; if (*puVar1 == param_2) break; puVar1 = *(uint **)(puVar1 + 4); } if (*(longlong *)(puVar1 + 2) != 0) { return true; } } LAB_14018c7e3: plVar4 = (longlong *)FUN_14018bc80(param_1 + -0x120,&local_res8,param_2); lVar5 = 0; if ((longlong *)*plVar4 != (longlong *)0x0) { lVar5 = *(longlong *)*plVar4; } if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { lVar2 = *local_res8; if (lVar2 != 0) { FUN_140178e60(lVar2); FUN_14016d970(lVar2); } FUN_14016d970(local_res8); } return lVar5 != 0; }