// Copyright (C) 2026 CoelhoFZ
// SPDX-License-Identifier: GPL-3.0-only
// This file is part of unlocker-CoelhoFZ (GPLv3, see LICENSE).

// enc_strings.h - GENERATED by tools/gen_xor.py. DO NOT edit by hand.
// XOR-encrypted strings: the plaintext does not exist in the binary.
#pragma once
#include <cstddef>
#include <cstdint>
namespace enc {
inline const char* dec(const uint8_t* in, size_t n, uint8_t k) {
    static char buf[128];
    // volatile prevents constant-folding (runtime decryption)
    volatile uint8_t vk = k;
    for (size_t i = 0; i < n && i < 127; ++i)
        buf[i] = static_cast<char>(in[i] ^ static_cast<uint8_t>(vk + i));
    buf[n] = '\0';
    return buf;
}

constexpr uint8_t kIniName[19] = {0x2F, 0x35, 0x30, 0x32, 0x3D, 0x34, 0x4D, 0x22, 0x0D, 0x06, 0x08, 0x0D, 0x09, 0x21, 0x32, 0x47, 0x03, 0x05, 0x05};
constexpr size_t kIniNameLen = 19;

constexpr uint8_t kShimName[17] = {0x02, 0x1C, 0x3D, 0x30, 0x3B, 0x1C, 0x0F, 0x13, 0x07, 0x4D, 0x23, 0x21, 0x2D, 0x49, 0x0C, 0x05, 0x06};
constexpr size_t kShimNameLen = 17;

constexpr uint8_t kProdIdDef[12] = {0x63, 0x15, 0x1E, 0x11, 0x19, 0x18, 0x28, 0x53, 0x28, 0x2B, 0x3C, 0x2F};
constexpr size_t kProdIdDefLen = 12;

constexpr uint8_t kItemUrl[33] = {0x32, 0x2F, 0x28, 0x2D, 0x2D, 0x65, 0x4F, 0x4E, 0x01, 0x0C, 0x01, 0x09, 0x0E, 0x08, 0x0E, 0x13, 0x44, 0x0E, 0x14, 0x0C, 0x03, 0x1F, 0x1C, 0x14, 0x5D, 0x1F, 0x1B, 0x12, 0x19, 0x59, 0x08, 0x17, 0x1D};
constexpr size_t kItemUrlLen = 33;

constexpr uint8_t kItemBrand[8] = {0x19, 0x34, 0x39, 0x31, 0x36, 0x30, 0x26, 0x3B};
constexpr size_t kItemBrandLen = 8;

constexpr uint8_t kItemMagic[4] = {0x6B, 0x68, 0x6F, 0x6A};
constexpr size_t kItemMagicLen = 4;

constexpr uint8_t kItemOffer[4] = {0x6A, 0x6B, 0x6D, 0x6D};
constexpr size_t kItemOfferLen = 4;

constexpr uint8_t kQueryApiImpl[12] = {0x0B, 0x2E, 0x39, 0x2F, 0x27, 0x1E, 0x10, 0x08, 0x2B, 0x0E, 0x14, 0x09};
constexpr size_t kQueryApiImplLen = 12;

constexpr uint8_t kXgameruntime[16] = {0x22, 0x3C, 0x3D, 0x30, 0x3B, 0x2D, 0x15, 0x0F, 0x16, 0x0A, 0x09, 0x00, 0x48, 0x03, 0x04, 0x05};
constexpr size_t kXgameruntimeLen = 16;

constexpr uint8_t kNtdll[9] = {0x34, 0x2F, 0x38, 0x31, 0x32, 0x71, 0x04, 0x0D, 0x0E};
constexpr size_t kNtdllLen = 9;

constexpr uint8_t kNtQuery[25] = {0x14, 0x2F, 0x0D, 0x28, 0x3B, 0x2D, 0x19, 0x28, 0x0C, 0x05, 0x0B, 0x17, 0x0B, 0x06, 0x1C, 0x00, 0x05, 0x05, 0x3C, 0x1F, 0x01, 0x0C, 0x15, 0x02, 0x01};
constexpr size_t kNtQueryLen = 25;

constexpr uint8_t kPkgPrefix[19] = {0x37, 0x32, 0x3F, 0x2F, 0x31, 0x2C, 0x0F, 0x07, 0x16, 0x4D, 0x09, 0x0C, 0x08, 0x02, 0x0B, 0x1B, 0x0B, 0x0D, 0x18};
constexpr size_t kPkgPrefixLen = 19;

constexpr uint8_t kGameExe[21] = {0x37, 0x32, 0x32, 0x38, 0x3D, 0x2D, 0x01, 0x07, 0x16, 0x4D, 0x13, 0x0C, 0x08, 0x03, 0x07, 0x1E, 0x19, 0x45, 0x09, 0x15, 0x0B};
constexpr size_t kGameExeLen = 21;

}  // namespace enc

