Skip to content

official client (netc.dll) self-terminates on launch with 0xC0000409 #4953

Description

@MortimerSapkowski

Describe the bug

MTADiag report: https://pastebin.multitheftauto.com/1846091870


Summary

The official stable MTA:SA 1.6 client refuses to start. Multi Theft Auto.exe runs for ~16 seconds, then silently self-terminates with exit code 0xC0000409 (STATUS_STACK_BUFFER_OVERRUN / __fastfail). There is no crash dialog, no MTA crash dump, and no Windows Error Reporting / Event Log entry — i.e. the process is terminated deliberately (via __fastfail/NtTerminateProcess), not by a normal exception. gta_sa.exe is never launched; the process dies during the loader phase, before the main menu.

Key fact

A self-compiled build from source (VERSION_TYPE_CUSTOM) works perfectly on the same machine. Only the official/protected build fails. This rules out hardware/OS/GTA issues and points at the production netc.dll anti-cheat/protection layer.

Technical detail

  • Faulting path: loader!DoWinMain -> ... -> netc!CheckService (+0x718) -> protected blob inside netc.dll.
  • The main thread spins in a tight ~20-byte loop (a single jne) at 100% of one CPU core for ~16 s, then calls __fastfail (0xC0000409).
  • Worker threads are idle (NtWaitForWorkViaWorkerFactory) during the spin; the process opens no outbound TCP connections during this time.
  • Under a live debugger (cdb) the module hangs indefinitely instead of terminating (anti-debug behaviour). A non-invasive attach reproduces the spin and the stack above.
  • netc.dll loads WINTRUST, CRYPT32, MSASN1, bcrypt (signature verification) — but all CA OCSP/CRL endpoints (Certum, SSL.com) are reachable (~200 ms), so it is not a revocation-check timeout.

Environment (all verified clean / ruled out)

  • OS: Windows 11 Pro 25H2, build 26200.8655, Russian locale.
  • CPU: AMD Ryzen 9 7950X (32 threads). RAM 64 GB. GPU: RTX 4070 Ti.
  • Board: Gigabyte B650 GAMING X AX, BIOS F5a (RDRAND verified working).
  • MTA: 1.6.0.24123, netc.dll 7,699,280 bytes; all MTA module Authenticode signatures Valid (Certum "Open Source Developer").
  • gta_sa.exe MD5 170b3a9108687b26da2d8901c6948a18 (clean 1.0 US).
  • Ruled out: Hyper-V/VBS (disabled, HypervisorPresent=False); not a VM; VPN/TAP/Wintun drivers removed; Winsock LSP catalog clean (Microsoft only); Windows Defender (tested with real-time protection OFF); no ASR rules / no system Exploit Protection mitigations; CPU affinity reduced to 2 cores (no change); no third-party/injected DLLs in the process (only MTA + system modules); VC++ 2005-2022 + DirectX present; MTA servers reachable.

Expected

Client reaches the main menu (the self-compiled CUSTOM build does).

Deeper analysis

  • The termination mechanism is a clean NtTerminateProcess(0xC0000409) (not a __fastfail/exception): with WER LocalDumps and an AeDebug post-mortem debugger configured, neither is triggered, and no dump is produced. (netc.dll exports its own NtTerminateProcess wrapper.)
  • The ~16 s spin is VMProtect-virtualized code in netc!CheckService busy-waiting on a shared queue-like structure:
mov edx,[obj+4]      ; e.g. write/tail index
cmp edx,[obj+8]      ; vs read/head index
jne <loop>           ; spin while not equal

i.e. the main thread waits for a result/message from another AC thread/component that never arrives on this system, then a watchdog kills the process. Surrounding code shows VMProtect handler stubs (int3-padded micro-routines), so the human-readable condition cannot be extracted.

Steps to reproduce

  1. Install official MTA:SA 1.6 on Windows 11 25H2 (Ryzen 9 7950X).
  2. Launch Multi Theft Auto.exe.
  3. Observe ~16 s of 100% single-core CPU, then silent exit 0xC0000409; main menu never appears.

Version

1.6.0.24123 or any other

Additional context

No response

Relevant log output

Security Policy

  • I have read and understood the Security Policy and this issue is not security related.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions