Skip to content

Instantly share code, notes, and snippets.

@RobThree
Last active March 25, 2025 00:36
Show Gist options
  • Select an option

  • Save RobThree/00ca8a84f5d22a6503f47f561bfadf3d to your computer and use it in GitHub Desktop.

Select an option

Save RobThree/00ca8a84f5d22a6503f47f561bfadf3d to your computer and use it in GitHub Desktop.
using System.Collections.Generic;
public class C {
private readonly Dictionary<int, string> _dictionary = new()
{
{ 1, "A" }, { 2, "B" }, { 3, "C" }, { 4, "D" }, { 5, "E" },
{ 6, "F" }, { 7, "G" }, { 8, "H" }, { 9, "I" }, { 10, "J" },
{ 11, "K" }, { 12, "L" }, { 13, "M" }, { 14, "N" }, { 15, "O" },
{ 16, "P" }, { 17, "Q" }, { 18, "R" }, { 19, "S" }, { 20, "T" },
{ 21, "U" }, { 22, "V" }, { 23, "W" }, { 24, "X" }, { 25, "Y" },
{ 26, "Z" }, { 27, "a" }, { 28, "b" }, { 29, "c" }, { 30, "d" },
{ 31, "e" }, { 32, "f" }, { 33, "g" }, { 34, "h" }, { 35, "i" },
{ 36, "j" }, { 37, "k" }, { 38, "l" }, { 39, "m" }, { 40, "n" },
{ 41, "o" }, { 42, "p" }, { 43, "q" }, { 44, "r" }, { 45, "s" },
{ 46, "t" }, { 47, "u" }, { 48, "v" }, { 49, "w" }, { 50, "x" },
{ 51, "y" }, { 52, "z" }, { 53, "0" }, { 54, "1" }, { 55, "2" },
{ 56, "3" }, { 57, "4" }, { 58, "5" }, { 59, "6" }, { 60, "7" },
{ 61, "8" }, { 62, "9" }
};
public string Dictionary(int roleId)
=> _dictionary.TryGetValue(roleId, out var role) ? role : "Unknown";
}
; Core CLR 9.0.124.61010 on x64
C..ctor()
L0000: push rsi
L0001: push rbx
L0002: sub rsp, 0x28
L0006: mov rbx, rcx
L0009: mov rcx, 0x7ff8dcad7168
L0013: call 0x00007ff93c5a7690
L0018: mov rsi, rax
L001b: mov rcx, rsi
L001e: xor edx, edx
L0020: xor r8d, r8d
L0023: mov rax, 0x7ff8dcae4108
L002d: call qword ptr [rax]
L002f: mov r8, 0x2a7ec6888e8
L0039: mov r8, [r8]
L003c: mov rcx, rsi
L003f: mov edx, 1
L0044: mov r9d, 2
L004a: mov rax, 0x7ff8dcae41b0
L0054: call qword ptr [rax]
L0056: mov r8, 0x2a4a607f4a8
L0060: mov r8, [r8]
L0063: mov rcx, rsi
L0066: mov edx, 2
L006b: mov r9d, 2
L0071: mov rax, 0x7ff8dcae41b0
L007b: call qword ptr [rax]
L007d: mov r8, 0x2a7eccb7768
L0087: mov r8, [r8]
L008a: mov rcx, rsi
L008d: mov edx, 3
L0092: mov r9d, 2
L0098: mov rax, 0x7ff8dcae41b0
L00a2: call qword ptr [rax]
L00a4: mov r8, 0x2a7ec5a1c08
L00ae: mov r8, [r8]
L00b1: mov rcx, rsi
L00b4: mov edx, 4
L00b9: mov r9d, 2
L00bf: mov rax, 0x7ff8dcae41b0
L00c9: call qword ptr [rax]
L00cb: mov r8, 0x2a7ec5a5938
L00d5: mov r8, [r8]
L00d8: mov rcx, rsi
L00db: mov edx, 5
L00e0: mov r9d, 2
L00e6: mov rax, 0x7ff8dcae41b0
L00f0: call qword ptr [rax]
L00f2: mov r8, 0x2a4a5b44148
L00fc: mov r8, [r8]
L00ff: mov rcx, rsi
L0102: mov edx, 6
L0107: mov r9d, 2
L010d: mov rax, 0x7ff8dcae41b0
L0117: call qword ptr [rax]
L0119: mov r8, 0x2a7ec688e58
L0123: mov r8, [r8]
L0126: mov rcx, rsi
L0129: mov edx, 7
L012e: mov r9d, 2
L0134: mov rax, 0x7ff8dcae41b0
L013e: call qword ptr [rax]
L0140: mov r8, 0x2a7ec5a1be8
L014a: mov r8, [r8]
L014d: mov rcx, rsi
L0150: mov edx, 8
L0155: mov r9d, 2
L015b: mov rax, 0x7ff8dcae41b0
L0165: call qword ptr [rax]
L0167: mov r8, 0x2a7f0e36d88
L0171: mov r8, [r8]
L0174: mov rcx, rsi
L0177: mov edx, 9
L017c: mov r9d, 2
L0182: mov rax, 0x7ff8dcae41b0
L018c: call qword ptr [rax]
L018e: mov r8, 0x2a4a607f4e0
L0198: mov r8, [r8]
L019b: mov rcx, rsi
L019e: mov edx, 0xa
L01a3: mov r9d, 2
L01a9: mov rax, 0x7ff8dcae41b0
L01b3: call qword ptr [rax]
L01b5: mov r8, 0x2a7f2257318
L01bf: mov r8, [r8]
L01c2: mov rcx, rsi
L01c5: mov edx, 0xb
L01ca: mov r9d, 2
L01d0: mov rax, 0x7ff8dcae41b0
L01da: call qword ptr [rax]
L01dc: mov r8, 0x2a7eccb60a8
L01e6: mov r8, [r8]
L01e9: mov rcx, rsi
L01ec: mov edx, 0xc
L01f1: mov r9d, 2
L01f7: mov rax, 0x7ff8dcae41b0
L0201: call qword ptr [rax]
L0203: mov r8, 0x2a7eccb6698
L020d: mov r8, [r8]
L0210: mov rcx, rsi
L0213: mov edx, 0xd
L0218: mov r9d, 2
L021e: mov rax, 0x7ff8dcae41b0
L0228: call qword ptr [rax]
L022a: mov r8, 0x2a7eccb66e8
L0234: mov r8, [r8]
L0237: mov rcx, rsi
L023a: mov edx, 0xe
L023f: mov r9d, 2
L0245: mov rax, 0x7ff8dcae41b0
L024f: call qword ptr [rax]
L0251: mov r8, 0x2a4a5b17728
L025b: mov r8, [r8]
L025e: mov rcx, rsi
L0261: mov edx, 0xf
L0266: mov r9d, 2
L026c: mov rax, 0x7ff8dcae41b0
L0276: call qword ptr [rax]
L0278: mov r8, 0x2a7eccb56f8
L0282: mov r8, [r8]
L0285: mov rcx, rsi
L0288: mov edx, 0x10
L028d: mov r9d, 2
L0293: mov rax, 0x7ff8dcae41b0
L029d: call qword ptr [rax]
L029f: mov r8, 0x2a4a607f4d8
L02a9: mov r8, [r8]
L02ac: mov rcx, rsi
L02af: mov edx, 0x11
L02b4: mov r9d, 2
L02ba: mov rax, 0x7ff8dcae41b0
L02c4: call qword ptr [rax]
L02c6: mov r8, 0x2a4a5b148d8
L02d0: mov r8, [r8]
L02d3: mov rcx, rsi
L02d6: mov edx, 0x12
L02db: mov r9d, 2
L02e1: mov rax, 0x7ff8dcae41b0
L02eb: call qword ptr [rax]
L02ed: mov r8, 0x2a7eccb5798
L02f7: mov r8, [r8]
L02fa: mov rcx, rsi
L02fd: mov edx, 0x13
L0302: mov r9d, 2
L0308: mov rax, 0x7ff8dcae41b0
L0312: call qword ptr [rax]
L0314: mov r8, 0x2a7eccb7428
L031e: mov r8, [r8]
L0321: mov rcx, rsi
L0324: mov edx, 0x14
L0329: mov r9d, 2
L032f: mov rax, 0x7ff8dcae41b0
L0339: call qword ptr [rax]
L033b: mov r8, 0x2a7ec5a40f8
L0345: mov r8, [r8]
L0348: mov rcx, rsi
L034b: mov edx, 0x15
L0350: mov r9d, 2
L0356: mov rax, 0x7ff8dcae41b0
L0360: call qword ptr [rax]
L0362: mov r8, 0x2a4a607f4d0
L036c: mov r8, [r8]
L036f: mov rcx, rsi
L0372: mov edx, 0x16
L0377: mov r9d, 2
L037d: mov rax, 0x7ff8dcae41b0
L0387: call qword ptr [rax]
L0389: mov r8, 0x2a4a607f4c8
L0393: mov r8, [r8]
L0396: mov rcx, rsi
L0399: mov edx, 0x17
L039e: mov r9d, 2
L03a4: mov rax, 0x7ff8dcae41b0
L03ae: call qword ptr [rax]
L03b0: mov r8, 0x2a4a59fb0f8
L03ba: mov r8, [r8]
L03bd: mov rcx, rsi
L03c0: mov edx, 0x18
L03c5: mov r9d, 2
L03cb: mov rax, 0x7ff8dcae41b0
L03d5: call qword ptr [rax]
L03d7: mov r8, 0x2a7f2253d98
L03e1: mov r8, [r8]
L03e4: mov rcx, rsi
L03e7: mov edx, 0x19
L03ec: mov r9d, 2
L03f2: mov rax, 0x7ff8dcae41b0
L03fc: call qword ptr [rax]
L03fe: mov r8, 0x2a7eccb72b8
L0408: mov r8, [r8]
L040b: mov rcx, rsi
L040e: mov edx, 0x1a
L0413: mov r9d, 2
L0419: mov rax, 0x7ff8dcae41b0
L0423: call qword ptr [rax]
L0425: mov r8, 0x2a7f0e36718
L042f: mov r8, [r8]
L0432: mov rcx, rsi
L0435: mov edx, 0x1b
L043a: mov r9d, 2
L0440: mov rax, 0x7ff8dcae41b0
L044a: call qword ptr [rax]
L044c: mov r8, 0x2a4a54bcff8
L0456: mov r8, [r8]
L0459: mov rcx, rsi
L045c: mov edx, 0x1c
L0461: mov r9d, 2
L0467: mov rax, 0x7ff8dcae41b0
L0471: call qword ptr [rax]
L0473: mov r8, 0x2a4a5b16f48
L047d: mov r8, [r8]
L0480: mov rcx, rsi
L0483: mov edx, 0x1d
L0488: mov r9d, 2
L048e: mov rax, 0x7ff8dcae41b0
L0498: call qword ptr [rax]
L049a: mov r8, 0x2a4a536e1e8
L04a4: mov r8, [r8]
L04a7: mov rcx, rsi
L04aa: mov edx, 0x1e
L04af: mov r9d, 2
L04b5: mov rax, 0x7ff8dcae41b0
L04bf: call qword ptr [rax]
L04c1: mov r8, 0x2a4a59f9228
L04cb: mov r8, [r8]
L04ce: mov rcx, rsi
L04d1: mov edx, 0x1f
L04d6: mov r9d, 2
L04dc: mov rax, 0x7ff8dcae41b0
L04e6: call qword ptr [rax]
L04e8: mov r8, 0x2a4a5b46308
L04f2: mov r8, [r8]
L04f5: mov rcx, rsi
L04f8: mov edx, 0x20
L04fd: mov r9d, 2
L0503: mov rax, 0x7ff8dcae41b0
L050d: call qword ptr [rax]
L050f: mov r8, 0x2a4a536cb58
L0519: mov r8, [r8]
L051c: mov rcx, rsi
L051f: mov edx, 0x21
L0524: mov r9d, 2
L052a: mov rax, 0x7ff8dcae41b0
L0534: call qword ptr [rax]
L0536: mov r8, 0x2a7f22572e8
L0540: mov r8, [r8]
L0543: mov rcx, rsi
L0546: mov edx, 0x22
L054b: mov r9d, 2
L0551: mov rax, 0x7ff8dcae41b0
L055b: call qword ptr [rax]
L055d: mov r8, 0x2a7f0e36748
L0567: mov r8, [r8]
L056a: mov rcx, rsi
L056d: mov edx, 0x23
L0572: mov r9d, 2
L0578: mov rax, 0x7ff8dcae41b0
L0582: call qword ptr [rax]
L0584: mov r8, 0x2a7f8498f58
L058e: mov r8, [r8]
L0591: mov rcx, rsi
L0594: mov edx, 0x24
L0599: mov r9d, 2
L059f: mov rax, 0x7ff8dcae41b0
L05a9: call qword ptr [rax]
L05ab: mov r8, 0x2a7f8498f28
L05b5: mov r8, [r8]
L05b8: mov rcx, rsi
L05bb: mov edx, 0x25
L05c0: mov r9d, 2
L05c6: mov rax, 0x7ff8dcae41b0
L05d0: call qword ptr [rax]
L05d2: mov r8, 0x2a7f0e367b8
L05dc: mov r8, [r8]
L05df: mov rcx, rsi
L05e2: mov edx, 0x26
L05e7: mov r9d, 2
L05ed: mov rax, 0x7ff8dcae41b0
L05f7: call qword ptr [rax]
L05f9: mov r8, 0x2a4a536ce98
L0603: mov r8, [r8]
L0606: mov rcx, rsi
L0609: mov edx, 0x27
L060e: mov r9d, 2
L0614: mov rax, 0x7ff8dcae41b0
L061e: call qword ptr [rax]
L0620: mov r8, 0x2a7f2251598
L062a: mov r8, [r8]
L062d: mov rcx, rsi
L0630: mov edx, 0x28
L0635: mov r9d, 2
L063b: mov rax, 0x7ff8dcae41b0
L0645: call qword ptr [rax]
L0647: mov r8, 0x2a7eccb5218
L0651: mov r8, [r8]
L0654: mov rcx, rsi
L0657: mov edx, 0x29
L065c: mov r9d, 2
L0662: mov rax, 0x7ff8dcae41b0
L066c: call qword ptr [rax]
L066e: mov r8, 0x2a4a5b164c8
L0678: mov r8, [r8]
L067b: mov rcx, rsi
L067e: mov edx, 0x2a
L0683: mov r9d, 2
L0689: mov rax, 0x7ff8dcae41b0
L0693: call qword ptr [rax]
L0695: mov r8, 0x2a7f233f938
L069f: mov r8, [r8]
L06a2: mov rcx, rsi
L06a5: mov edx, 0x2b
L06aa: mov r9d, 2
L06b0: mov rax, 0x7ff8dcae41b0
L06ba: call qword ptr [rax]
L06bc: mov r8, 0x2a7eccb5168
L06c6: mov r8, [r8]
L06c9: mov rcx, rsi
L06cc: mov edx, 0x2c
L06d1: mov r9d, 2
L06d7: mov rax, 0x7ff8dcae41b0
L06e1: call qword ptr [rax]
L06e3: mov r8, 0x2a4a54bcf88
L06ed: mov r8, [r8]
L06f0: mov rcx, rsi
L06f3: mov edx, 0x2d
L06f8: mov r9d, 2
L06fe: mov rax, 0x7ff8dcae41b0
L0708: call qword ptr [rax]
L070a: mov r8, 0x2a7eccb50a8
L0714: mov r8, [r8]
L0717: mov rcx, rsi
L071a: mov edx, 0x2e
L071f: mov r9d, 2
L0725: mov rax, 0x7ff8dcae41b0
L072f: call qword ptr [rax]
L0731: mov r8, 0x2a4a5b437a8
L073b: mov r8, [r8]
L073e: mov rcx, rsi
L0741: mov edx, 0x2f
L0746: mov r9d, 2
L074c: mov rax, 0x7ff8dcae41b0
L0756: call qword ptr [rax]
L0758: mov r8, 0x2a7f45f3828
L0762: mov r8, [r8]
L0765: mov rcx, rsi
L0768: mov edx, 0x30
L076d: mov r9d, 2
L0773: mov rax, 0x7ff8dcae41b0
L077d: call qword ptr [rax]
L077f: mov r8, 0x2a7f233f928
L0789: mov r8, [r8]
L078c: mov rcx, rsi
L078f: mov edx, 0x31
L0794: mov r9d, 2
L079a: mov rax, 0x7ff8dcae41b0
L07a4: call qword ptr [rax]
L07a6: mov r8, 0x2a4a536c258
L07b0: mov r8, [r8]
L07b3: mov rcx, rsi
L07b6: mov edx, 0x32
L07bb: mov r9d, 2
L07c1: mov rax, 0x7ff8dcae41b0
L07cb: call qword ptr [rax]
L07cd: mov r8, 0x2a7f2257358
L07d7: mov r8, [r8]
L07da: mov rcx, rsi
L07dd: mov edx, 0x33
L07e2: mov r9d, 2
L07e8: mov rax, 0x7ff8dcae41b0
L07f2: call qword ptr [rax]
L07f4: mov r8, 0x2a7ec5a5328
L07fe: mov r8, [r8]
L0801: mov rcx, rsi
L0804: mov edx, 0x34
L0809: mov r9d, 2
L080f: mov rax, 0x7ff8dcae41b0
L0819: call qword ptr [rax]
L081b: mov r8, 0x2a4a536e018
L0825: mov r8, [r8]
L0828: mov rcx, rsi
L082b: mov edx, 0x35
L0830: mov r9d, 2
L0836: mov rax, 0x7ff8dcae41b0
L0840: call qword ptr [rax]
L0842: mov r8, 0x2a4a536e028
L084c: mov r8, [r8]
L084f: mov rcx, rsi
L0852: mov edx, 0x36
L0857: mov r9d, 2
L085d: mov rax, 0x7ff8dcae41b0
L0867: call qword ptr [rax]
L0869: mov r8, 0x2a4a54bb948
L0873: mov r8, [r8]
L0876: mov rcx, rsi
L0879: mov edx, 0x37
L087e: mov r9d, 2
L0884: mov rax, 0x7ff8dcae41b0
L088e: call qword ptr [rax]
L0890: mov r8, 0x2a4a54bb958
L089a: mov r8, [r8]
L089d: mov rcx, rsi
L08a0: mov edx, 0x38
L08a5: mov r9d, 2
L08ab: mov rax, 0x7ff8dcae41b0
L08b5: call qword ptr [rax]
L08b7: mov r8, 0x2a4a54bb938
L08c1: mov r8, [r8]
L08c4: mov rcx, rsi
L08c7: mov edx, 0x39
L08cc: mov r9d, 2
L08d2: mov rax, 0x7ff8dcae41b0
L08dc: call qword ptr [rax]
L08de: mov r8, 0x2a4a54bc588
L08e8: mov r8, [r8]
L08eb: mov rcx, rsi
L08ee: mov edx, 0x3a
L08f3: mov r9d, 2
L08f9: mov rax, 0x7ff8dcae41b0
L0903: call qword ptr [rax]
L0905: mov r8, 0x2a4a54bc598
L090f: mov r8, [r8]
L0912: mov rcx, rsi
L0915: mov edx, 0x3b
L091a: mov r9d, 2
L0920: mov rax, 0x7ff8dcae41b0
L092a: call qword ptr [rax]
L092c: mov r8, 0x2a4a54bc5a8
L0936: mov r8, [r8]
L0939: mov rcx, rsi
L093c: mov edx, 0x3c
L0941: mov r9d, 2
L0947: mov rax, 0x7ff8dcae41b0
L0951: call qword ptr [rax]
L0953: mov r8, 0x2a4a54bc568
L095d: mov r8, [r8]
L0960: mov rcx, rsi
L0963: mov edx, 0x3d
L0968: mov r9d, 2
L096e: mov rax, 0x7ff8dcae41b0
L0978: call qword ptr [rax]
L097a: mov r8, 0x2a4a54bc5b8
L0984: mov r8, [r8]
L0987: mov rcx, rsi
L098a: mov edx, 0x3e
L098f: mov r9d, 2
L0995: mov rax, 0x7ff8dcae41b0
L099f: call qword ptr [rax]
L09a1: lea rcx, [rbx+8]
L09a5: mov rdx, rsi
L09a8: call 0x00007ff8dc880010
L09ad: nop
L09ae: add rsp, 0x28
L09b2: pop rbx
L09b3: pop rsi
L09b4: ret
C.Dictionary(Int32)
L0000: sub rsp, 0x28
L0004: mov rcx, [rcx+8]
L0008: cmp [rcx], cl
L000a: mov rax, 0x7ff8dcae4198
L0014: call qword ptr [rax]
L0016: test rax, rax
L0019: jne short L002d
L001b: mov rax, 0x2a7eccb3f58
L0025: mov rax, [rax]
L0028: add rsp, 0x28
L002c: ret
L002d: mov rax, [rax]
L0030: add rsp, 0x28
L0034: ret
{
"version": 1,
"target": "JIT ASM",
"mode": "Release",
"branch": "core-x64"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment