All code is extracted from FUN_1400438e0 (orchestration) and FUN_140042150 (injection) from "KobaltInjector hackvshack.net.exe"
Decompilation isn't source and I'm sure you know that.
Compiled code restructured by ghidra always looks weird, that's not evidence of your claim. Point at a specific function and we can start from there.
// error handling is exremly verbose and self repeating.
// this block appears ~20 times across both functions, character for character.
// every single error path in both functions looks exactly like this:
iVar1 = FUN_140056cbc((uint *)&DAT_1400ccde0);
if (iVar1 != 0) {
FUN_1400561bc(5); // non returning fatal error path A
}
if (DAT_1400cce2c == 0x7fffffff) {
DAT_1400cce2c = 0x7ffffffe;
FUN_1400561bc(6); // non returning fatal error path B
}
// this exact same sequence is used throughout the entire binary, especially in the 2 previously mentioned functions.
// line for line (5, 6, 0x7fffffff, 0x7ffffffe), never a wrapper function or macro.
// repeating string literals.
// All strings are built identically: allocate buffer, write endian.
// hex literals, null-terminate, log. The strings themselves are also very similar: full sentences, perfect grammar, consistent capitalisation, no abbreviations.
// From FUN_1400438e0 — every possible state has a complete English sentence:
// "Failed to prepare bass.dll"
pWVar8 = (LPCWSTR)FUN_1400543a0(0x20);
*(undefined8 *)pWVar8 = 0x742064656c696146; // "Failed t"
*(undefined8 *)(pWVar8 + 4) = 0x726170657270206f; // "o prepar"
pWVar8[8] = L''; pWVar8[9] = L'慢';
pWVar8[10] = L'獳'; pWVar8[0xb] = L'搮';
pWVar8[0xc] = L'汬'; *(char *)(pWVar8 + 0xd) = '\0';
// "DLL verified, preparing..."
// "Waiting for CS2..."
// "Launching CS2..."
// "CS2 detected! Waiting for game to load..."
// "CS2 failed to start - check Steam"
// "Waiting for CS2 to start..."
// "Timed out waiting for CS2 modules"
// "Waiting for CS2 window..."
// "Waiting for CS2 window response."
// "Timed out waiting for CS2 window response"
// "Checking audio library..."
// "bass.dll not found next to loader"
// "Injecting..."
// "Applying bypass..."
// "Kobalt loaded but menu initialization timed out"
// "Injection complete."
// FUN_140042150 — every API failure has a full sentence:
builtin_strncpy(pcVar9, "Failed to allocate memory in target process", 0x2c);
builtin_strncpy(pcVar9, "Failed to write DLL path to target process", 0x2b);
builtin_strncpy(pcVar9, "Failed to get kernel32 handle", 0x1e);
builtin_strncpy(pcVar9, "Failed to get LoadLibraryA address", 0x23);
builtin_strncpy(pcVar9, "Failed to create remote thread", 0x1f);
builtin_strncpy(pcVar9, "LoadLibrary failed - DLL may have crashed on load", 0x32);
builtin_strncpy(pcVar9, "DLL file too small: ", 0x14);
builtin_strncpy(pcVar9, "DLL not found: ", 0x0f);
// essentially what ive said in line 27 before, but more concise: every single error case in both functions is handled with a unique, perfectly grammatical English sentence. No error code logging, no abbreviations, no placeholders. Just a full sentence describing exactly what went wrong in plain English. This is not how a human would write error handling code, especially not in C where performance and binary size are often concerns. This is textbook AI slop.
// the sentence above was written by the VSC Text AI thing.