Skip to content

Instantly share code, notes, and snippets.

@RobThree
Last active March 25, 2025 00:36
Show Gist options
  • Save RobThree/361deaf27899e0e57919d58a5eb571f0 to your computer and use it in GitHub Desktop.
Save RobThree/361deaf27899e0e57919d58a5eb571f0 to your computer and use it in GitHub Desktop.
public class C {
public static string SwitchStatement(int roleId)
{
switch (roleId)
{
case 1: return "A";
case 2: return "B";
case 3: return "C";
case 4: return "D";
case 5: return "E";
case 6: return "F";
case 7: return "G";
case 8: return "H";
case 9: return "I";
case 10: return "J";
case 11: return "K";
case 12: return "L";
case 13: return "M";
case 14: return "N";
case 15: return "O";
case 16: return "P";
case 17: return "Q";
case 18: return "R";
case 19: return "S";
case 20: return "T";
case 21: return "U";
case 22: return "V";
case 23: return "W";
case 24: return "X";
case 25: return "Y";
case 26: return "Z";
case 27: return "a";
case 28: return "b";
case 29: return "c";
case 30: return "d";
case 31: return "e";
case 32: return "f";
case 33: return "g";
case 34: return "h";
case 35: return "i";
case 36: return "j";
case 37: return "k";
case 38: return "l";
case 39: return "m";
case 40: return "n";
case 41: return "o";
case 42: return "p";
case 43: return "q";
case 44: return "r";
case 45: return "s";
case 46: return "t";
case 47: return "u";
case 48: return "v";
case 49: return "w";
case 50: return "x";
case 51: return "y";
case 52: return "z";
case 53: return "0";
case 54: return "1";
case 55: return "2";
case 56: return "3";
case 57: return "4";
case 58: return "5";
case 59: return "6";
case 60: return "7";
case 61: return "8";
case 62: return "9";
default: return "Unknown";
}
}
}
; Core CLR 9.0.124.61010 on x64
C..ctor()
L0000: ret
C.SwitchStatement(Int32)
L0000: dec ecx
L0002: cmp ecx, 0x3d
L0005: ja short L001f
L0007: mov eax, ecx
L0009: lea rcx, [0x7ff8f1a204b8]
L0010: mov ecx, [rcx+rax*4]
L0013: lea rdx, [L0000]
L001a: add rcx, rdx
L001d: jmp rcx
L001f: mov rax, 0x2a7eccb3f58
L0029: mov rax, [rax]
L002c: jmp L0470
L0031: mov rax, 0x2a4a54bc5b8
L003b: mov rax, [rax]
L003e: jmp L0470
L0043: mov rax, 0x2a4a54bc568
L004d: mov rax, [rax]
L0050: jmp L0470
L0055: mov rax, 0x2a4a54bc5a8
L005f: mov rax, [rax]
L0062: jmp L0470
L0067: mov rax, 0x2a4a54bc598
L0071: mov rax, [rax]
L0074: jmp L0470
L0079: mov rax, 0x2a4a54bc588
L0083: mov rax, [rax]
L0086: jmp L0470
L008b: mov rax, 0x2a4a54bb938
L0095: mov rax, [rax]
L0098: jmp L0470
L009d: mov rax, 0x2a4a54bb958
L00a7: mov rax, [rax]
L00aa: jmp L0470
L00af: mov rax, 0x2a4a54bb948
L00b9: mov rax, [rax]
L00bc: jmp L0470
L00c1: mov rax, 0x2a4a536e028
L00cb: mov rax, [rax]
L00ce: jmp L0470
L00d3: mov rax, 0x2a4a536e018
L00dd: mov rax, [rax]
L00e0: jmp L0470
L00e5: mov rax, 0x2a7ec5a5328
L00ef: mov rax, [rax]
L00f2: jmp L0470
L00f7: mov rax, 0x2a7f2257358
L0101: mov rax, [rax]
L0104: jmp L0470
L0109: mov rax, 0x2a4a536c258
L0113: mov rax, [rax]
L0116: jmp L0470
L011b: mov rax, 0x2a7f233f928
L0125: mov rax, [rax]
L0128: jmp L0470
L012d: mov rax, 0x2a7f45f3828
L0137: mov rax, [rax]
L013a: jmp L0470
L013f: mov rax, 0x2a4a5b437a8
L0149: mov rax, [rax]
L014c: jmp L0470
L0151: mov rax, 0x2a7eccb50a8
L015b: mov rax, [rax]
L015e: jmp L0470
L0163: mov rax, 0x2a4a54bcf88
L016d: mov rax, [rax]
L0170: jmp L0470
L0175: mov rax, 0x2a7eccb5168
L017f: mov rax, [rax]
L0182: jmp L0470
L0187: mov rax, 0x2a7f233f938
L0191: mov rax, [rax]
L0194: jmp L0470
L0199: mov rax, 0x2a4a5b164c8
L01a3: mov rax, [rax]
L01a6: jmp L0470
L01ab: mov rax, 0x2a7eccb5218
L01b5: mov rax, [rax]
L01b8: jmp L0470
L01bd: mov rax, 0x2a7f2251598
L01c7: mov rax, [rax]
L01ca: jmp L0470
L01cf: mov rax, 0x2a4a536ce98
L01d9: mov rax, [rax]
L01dc: jmp L0470
L01e1: mov rax, 0x2a7f0e367b8
L01eb: mov rax, [rax]
L01ee: jmp L0470
L01f3: mov rax, 0x2a7f8498f28
L01fd: mov rax, [rax]
L0200: jmp L0470
L0205: mov rax, 0x2a7f8498f58
L020f: mov rax, [rax]
L0212: jmp L0470
L0217: mov rax, 0x2a7f0e36748
L0221: mov rax, [rax]
L0224: jmp L0470
L0229: mov rax, 0x2a7f22572e8
L0233: mov rax, [rax]
L0236: jmp L0470
L023b: mov rax, 0x2a4a536cb58
L0245: mov rax, [rax]
L0248: jmp L0470
L024d: mov rax, 0x2a4a5b46308
L0257: mov rax, [rax]
L025a: jmp L0470
L025f: mov rax, 0x2a4a59f9228
L0269: mov rax, [rax]
L026c: jmp L0470
L0271: mov rax, 0x2a4a536e1e8
L027b: mov rax, [rax]
L027e: jmp L0470
L0283: mov rax, 0x2a4a5b16f48
L028d: mov rax, [rax]
L0290: jmp L0470
L0295: mov rax, 0x2a4a54bcff8
L029f: mov rax, [rax]
L02a2: jmp L0470
L02a7: mov rax, 0x2a7f0e36718
L02b1: mov rax, [rax]
L02b4: jmp L0470
L02b9: mov rax, 0x2a7eccb72b8
L02c3: mov rax, [rax]
L02c6: jmp L0470
L02cb: mov rax, 0x2a7f2253d98
L02d5: mov rax, [rax]
L02d8: jmp L0470
L02dd: mov rax, 0x2a4a59fb0f8
L02e7: mov rax, [rax]
L02ea: jmp L0470
L02ef: mov rax, 0x2a4a607f4c8
L02f9: mov rax, [rax]
L02fc: jmp L0470
L0301: mov rax, 0x2a4a607f4d0
L030b: mov rax, [rax]
L030e: jmp L0470
L0313: mov rax, 0x2a7ec5a40f8
L031d: mov rax, [rax]
L0320: jmp L0470
L0325: mov rax, 0x2a7eccb7428
L032f: mov rax, [rax]
L0332: jmp L0470
L0337: mov rax, 0x2a7eccb5798
L0341: mov rax, [rax]
L0344: jmp L0470
L0349: mov rax, 0x2a4a5b148d8
L0353: mov rax, [rax]
L0356: jmp L0470
L035b: mov rax, 0x2a4a607f4d8
L0365: mov rax, [rax]
L0368: jmp L0470
L036d: mov rax, 0x2a7eccb56f8
L0377: mov rax, [rax]
L037a: jmp L0470
L037f: mov rax, 0x2a4a5b17728
L0389: mov rax, [rax]
L038c: jmp L0470
L0391: mov rax, 0x2a7eccb66e8
L039b: mov rax, [rax]
L039e: jmp L0470
L03a3: mov rax, 0x2a7eccb6698
L03ad: mov rax, [rax]
L03b0: jmp L0470
L03b5: mov rax, 0x2a7eccb60a8
L03bf: mov rax, [rax]
L03c2: jmp L0470
L03c7: mov rax, 0x2a7f2257318
L03d1: mov rax, [rax]
L03d4: jmp L0470
L03d9: mov rax, 0x2a4a607f4e0
L03e3: mov rax, [rax]
L03e6: jmp L0470
L03eb: mov rax, 0x2a7f0e36d88
L03f5: mov rax, [rax]
L03f8: jmp short L0470
L03fa: mov rax, 0x2a7ec5a1be8
L0404: mov rax, [rax]
L0407: jmp short L0470
L0409: mov rax, 0x2a7ec688e58
L0413: mov rax, [rax]
L0416: jmp short L0470
L0418: mov rax, 0x2a4a5b44148
L0422: mov rax, [rax]
L0425: jmp short L0470
L0427: mov rax, 0x2a7ec5a5938
L0431: mov rax, [rax]
L0434: jmp short L0470
L0436: mov rax, 0x2a7ec5a1c08
L0440: mov rax, [rax]
L0443: jmp short L0470
L0445: mov rax, 0x2a7eccb7768
L044f: mov rax, [rax]
L0452: jmp short L0470
L0454: mov rax, 0x2a4a607f4a8
L045e: mov rax, [rax]
L0461: jmp short L0470
L0463: mov rax, 0x2a7ec6888e8
L046d: mov rax, [rax]
L0470: 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