/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401e28e0 FUN_1401e28e0 * Pseudocode, not original source. */ int FUN_1401e28e0(longlong param_1) { char cVar1; char cVar2; char *pcVar3; int iVar4; undefined8 *puVar5; longlong lVar6; if (param_1 == 0) { return 0x10; } EnterCriticalSection((LPCRITICAL_SECTION)&DAT_14039d1e0); iVar4 = 0; puVar5 = &DAT_14034fc90; do { pcVar3 = (char *)*puVar5; if (pcVar3 != (char *)0x0) { lVar6 = param_1 - (longlong)pcVar3; do { cVar1 = *pcVar3; cVar2 = pcVar3[lVar6]; if (cVar1 != cVar2) break; pcVar3 = pcVar3 + 1; } while (cVar2 != '\0'); if (cVar1 == cVar2) { LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_14039d1e0); return iVar4; } } iVar4 = iVar4 + 1; puVar5 = puVar5 + 0x10; if (0x1f < iVar4) { LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_14039d1e0); return -1; } } while( true ); }