Skip to content

Instantly share code, notes, and snippets.

@RobThree
Last active March 25, 2025 00:36
Show Gist options
  • Save RobThree/222a55855649e54b2465760e1a743ee0 to your computer and use it in GitHub Desktop.
Save RobThree/222a55855649e54b2465760e1a743ee0 to your computer and use it in GitHub Desktop.
public class C {
public static string IfElse(int roleId)
{
if (roleId == 1) return "A";
else if (roleId == 2) return "B";
else if (roleId == 3) return "C";
else if (roleId == 4) return "D";
else if (roleId == 5) return "E";
else if (roleId == 6) return "F";
else if (roleId == 7) return "G";
else if (roleId == 8) return "H";
else if (roleId == 9) return "I";
else if (roleId == 10) return "J";
else if (roleId == 11) return "K";
else if (roleId == 12) return "L";
else if (roleId == 13) return "M";
else if (roleId == 14) return "N";
else if (roleId == 15) return "O";
else if (roleId == 16) return "P";
else if (roleId == 17) return "Q";
else if (roleId == 18) return "R";
else if (roleId == 19) return "S";
else if (roleId == 20) return "T";
else if (roleId == 21) return "U";
else if (roleId == 22) return "V";
else if (roleId == 23) return "W";
else if (roleId == 24) return "X";
else if (roleId == 25) return "Y";
else if (roleId == 26) return "Z";
else if (roleId == 27) return "a";
else if (roleId == 28) return "b";
else if (roleId == 29) return "c";
else if (roleId == 30) return "d";
else if (roleId == 31) return "e";
else if (roleId == 32) return "f";
else if (roleId == 33) return "g";
else if (roleId == 34) return "h";
else if (roleId == 35) return "i";
else if (roleId == 36) return "j";
else if (roleId == 37) return "k";
else if (roleId == 38) return "l";
else if (roleId == 39) return "m";
else if (roleId == 40) return "n";
else if (roleId == 41) return "o";
else if (roleId == 42) return "p";
else if (roleId == 43) return "q";
else if (roleId == 44) return "r";
else if (roleId == 45) return "s";
else if (roleId == 46) return "t";
else if (roleId == 47) return "u";
else if (roleId == 48) return "v";
else if (roleId == 49) return "w";
else if (roleId == 50) return "x";
else if (roleId == 51) return "y";
else if (roleId == 52) return "z";
else if (roleId == 53) return "0";
else if (roleId == 54) return "1";
else if (roleId == 55) return "2";
else if (roleId == 56) return "3";
else if (roleId == 57) return "4";
else if (roleId == 58) return "5";
else if (roleId == 59) return "6";
else if (roleId == 60) return "7";
else if (roleId == 61) return "8";
else if (roleId == 62) return "9";
return "Unknown";
}
}
; Core CLR 9.0.124.61010 on x64
C..ctor()
L0000: ret
C.IfElse(Int32)
L0000: cmp ecx, 1
L0003: je L03bf
L0009: cmp ecx, 2
L000c: je L03b0
L0012: cmp ecx, 3
L0015: je L03a1
L001b: cmp ecx, 4
L001e: je L0392
L0024: cmp ecx, 5
L0027: je L0383
L002d: cmp ecx, 6
L0030: je L0374
L0036: cmp ecx, 7
L0039: je L0365
L003f: cmp ecx, 8
L0042: je L0356
L0048: cmp ecx, 9
L004b: je L0347
L0051: cmp ecx, 0xa
L0054: je L0335
L005a: cmp ecx, 0xb
L005d: je L0323
L0063: cmp ecx, 0xc
L0066: je L0311
L006c: cmp ecx, 0xd
L006f: je L02ff
L0075: cmp ecx, 0xe
L0078: je L02ed
L007e: cmp ecx, 0xf
L0081: je L02db
L0087: cmp ecx, 0x10
L008a: je L02c9
L0090: cmp ecx, 0x11
L0093: je L02b7
L0099: cmp ecx, 0x12
L009c: je L02a5
L00a2: cmp ecx, 0x13
L00a5: je L0293
L00ab: cmp ecx, 0x14
L00ae: je L0281
L00b4: cmp ecx, 0x15
L00b7: je L026f
L00bd: cmp ecx, 0x16
L00c0: je L025d
L00c6: cmp ecx, 0x17
L00c9: je L024b
L00cf: cmp ecx, 0x18
L00d2: je L0239
L00d8: cmp ecx, 0x19
L00db: je L0227
L00e1: cmp ecx, 0x1a
L00e4: je L0215
L00ea: cmp ecx, 0x1b
L00ed: je L0203
L00f3: cmp ecx, 0x1c
L00f6: je L01f1
L00fc: cmp ecx, 0x1d
L00ff: je L01df
L0105: cmp ecx, 0x1e
L0108: je L01cd
L010e: cmp ecx, 0x1f
L0111: je L01bb
L0117: cmp ecx, 0x20
L011a: je L01a9
L0120: cmp ecx, 0x21
L0123: je short L0197
L0125: cmp ecx, 0x22
L0128: je short L0185
L012a: cmp ecx, 0x23
L012d: je short L0173
L012f: cmp ecx, 0x24
L0132: je L064d
L0138: cmp ecx, 0x25
L013b: je L063b
L0141: cmp ecx, 0x26
L0144: je L0629
L014a: cmp ecx, 0x27
L014d: je L0617
L0153: cmp ecx, 0x28
L0156: je L0605
L015c: cmp ecx, 0x29
L015f: je L05f3
L0165: cmp ecx, 0x2a
L0168: jne L03cd
L016e: jmp L05e1
L0173: mov rax, 0x2a7f0e36748
L017d: mov rax, [rax]
L0180: jmp L03cc
L0185: mov rax, 0x2a7f22572e8
L018f: mov rax, [rax]
L0192: jmp L03cc
L0197: mov rax, 0x2a4a536cb58
L01a1: mov rax, [rax]
L01a4: jmp L03cc
L01a9: mov rax, 0x2a4a5b46308
L01b3: mov rax, [rax]
L01b6: jmp L03cc
L01bb: mov rax, 0x2a4a59f9228
L01c5: mov rax, [rax]
L01c8: jmp L03cc
L01cd: mov rax, 0x2a4a536e1e8
L01d7: mov rax, [rax]
L01da: jmp L03cc
L01df: mov rax, 0x2a4a5b16f48
L01e9: mov rax, [rax]
L01ec: jmp L03cc
L01f1: mov rax, 0x2a4a54bcff8
L01fb: mov rax, [rax]
L01fe: jmp L03cc
L0203: mov rax, 0x2a7f0e36718
L020d: mov rax, [rax]
L0210: jmp L03cc
L0215: mov rax, 0x2a7eccb72b8
L021f: mov rax, [rax]
L0222: jmp L03cc
L0227: mov rax, 0x2a7f2253d98
L0231: mov rax, [rax]
L0234: jmp L03cc
L0239: mov rax, 0x2a4a59fb0f8
L0243: mov rax, [rax]
L0246: jmp L03cc
L024b: mov rax, 0x2a4a607f4c8
L0255: mov rax, [rax]
L0258: jmp L03cc
L025d: mov rax, 0x2a4a607f4d0
L0267: mov rax, [rax]
L026a: jmp L03cc
L026f: mov rax, 0x2a7ec5a40f8
L0279: mov rax, [rax]
L027c: jmp L03cc
L0281: mov rax, 0x2a7eccb7428
L028b: mov rax, [rax]
L028e: jmp L03cc
L0293: mov rax, 0x2a7eccb5798
L029d: mov rax, [rax]
L02a0: jmp L03cc
L02a5: mov rax, 0x2a4a5b148d8
L02af: mov rax, [rax]
L02b2: jmp L03cc
L02b7: mov rax, 0x2a4a607f4d8
L02c1: mov rax, [rax]
L02c4: jmp L03cc
L02c9: mov rax, 0x2a7eccb56f8
L02d3: mov rax, [rax]
L02d6: jmp L03cc
L02db: mov rax, 0x2a4a5b17728
L02e5: mov rax, [rax]
L02e8: jmp L03cc
L02ed: mov rax, 0x2a7eccb66e8
L02f7: mov rax, [rax]
L02fa: jmp L03cc
L02ff: mov rax, 0x2a7eccb6698
L0309: mov rax, [rax]
L030c: jmp L03cc
L0311: mov rax, 0x2a7eccb60a8
L031b: mov rax, [rax]
L031e: jmp L03cc
L0323: mov rax, 0x2a7f2257318
L032d: mov rax, [rax]
L0330: jmp L03cc
L0335: mov rax, 0x2a4a607f4e0
L033f: mov rax, [rax]
L0342: jmp L03cc
L0347: mov rax, 0x2a7f0e36d88
L0351: mov rax, [rax]
L0354: jmp short L03cc
L0356: mov rax, 0x2a7ec5a1be8
L0360: mov rax, [rax]
L0363: jmp short L03cc
L0365: mov rax, 0x2a7ec688e58
L036f: mov rax, [rax]
L0372: jmp short L03cc
L0374: mov rax, 0x2a4a5b44148
L037e: mov rax, [rax]
L0381: jmp short L03cc
L0383: mov rax, 0x2a7ec5a5938
L038d: mov rax, [rax]
L0390: jmp short L03cc
L0392: mov rax, 0x2a7ec5a1c08
L039c: mov rax, [rax]
L039f: jmp short L03cc
L03a1: mov rax, 0x2a7eccb7768
L03ab: mov rax, [rax]
L03ae: jmp short L03cc
L03b0: mov rax, 0x2a4a607f4a8
L03ba: mov rax, [rax]
L03bd: jmp short L03cc
L03bf: mov rax, 0x2a7ec6888e8
L03c9: mov rax, [rax]
L03cc: ret
L03cd: cmp ecx, 0x2b
L03d0: je L05cf
L03d6: cmp ecx, 0x2c
L03d9: je L05bd
L03df: cmp ecx, 0x2d
L03e2: je L05ab
L03e8: cmp ecx, 0x2e
L03eb: je L0599
L03f1: cmp ecx, 0x2f
L03f4: je L0587
L03fa: cmp ecx, 0x30
L03fd: je L0575
L0403: cmp ecx, 0x31
L0406: je L0563
L040c: cmp ecx, 0x32
L040f: je L0551
L0415: cmp ecx, 0x33
L0418: je L053f
L041e: cmp ecx, 0x34
L0421: je L052d
L0427: cmp ecx, 0x35
L042a: je L051b
L0430: cmp ecx, 0x36
L0433: je L0509
L0439: cmp ecx, 0x37
L043c: je L04f7
L0442: cmp ecx, 0x38
L0445: je L04e5
L044b: cmp ecx, 0x39
L044e: je L04d3
L0454: cmp ecx, 0x3a
L0457: je short L04c1
L0459: cmp ecx, 0x3b
L045c: je short L04af
L045e: cmp ecx, 0x3c
L0461: je short L049d
L0463: cmp ecx, 0x3d
L0466: je short L048b
L0468: mov rax, 0x2a7eccb3f58
L0472: mov rdx, 0x2a4a54bc5b8
L047c: cmp ecx, 0x3e
L047f: mov rax, [rax]
L0482: cmove rax, [rdx]
L0486: jmp L03cc
L048b: mov rax, 0x2a4a54bc568
L0495: mov rax, [rax]
L0498: jmp L03cc
L049d: mov rax, 0x2a4a54bc5a8
L04a7: mov rax, [rax]
L04aa: jmp L03cc
L04af: mov rax, 0x2a4a54bc598
L04b9: mov rax, [rax]
L04bc: jmp L03cc
L04c1: mov rax, 0x2a4a54bc588
L04cb: mov rax, [rax]
L04ce: jmp L03cc
L04d3: mov rax, 0x2a4a54bb938
L04dd: mov rax, [rax]
L04e0: jmp L03cc
L04e5: mov rax, 0x2a4a54bb958
L04ef: mov rax, [rax]
L04f2: jmp L03cc
L04f7: mov rax, 0x2a4a54bb948
L0501: mov rax, [rax]
L0504: jmp L03cc
L0509: mov rax, 0x2a4a536e028
L0513: mov rax, [rax]
L0516: jmp L03cc
L051b: mov rax, 0x2a4a536e018
L0525: mov rax, [rax]
L0528: jmp L03cc
L052d: mov rax, 0x2a7ec5a5328
L0537: mov rax, [rax]
L053a: jmp L03cc
L053f: mov rax, 0x2a7f2257358
L0549: mov rax, [rax]
L054c: jmp L03cc
L0551: mov rax, 0x2a4a536c258
L055b: mov rax, [rax]
L055e: jmp L03cc
L0563: mov rax, 0x2a7f233f928
L056d: mov rax, [rax]
L0570: jmp L03cc
L0575: mov rax, 0x2a7f45f3828
L057f: mov rax, [rax]
L0582: jmp L03cc
L0587: mov rax, 0x2a4a5b437a8
L0591: mov rax, [rax]
L0594: jmp L03cc
L0599: mov rax, 0x2a7eccb50a8
L05a3: mov rax, [rax]
L05a6: jmp L03cc
L05ab: mov rax, 0x2a4a54bcf88
L05b5: mov rax, [rax]
L05b8: jmp L03cc
L05bd: mov rax, 0x2a7eccb5168
L05c7: mov rax, [rax]
L05ca: jmp L03cc
L05cf: mov rax, 0x2a7f233f938
L05d9: mov rax, [rax]
L05dc: jmp L03cc
L05e1: mov rax, 0x2a4a5b164c8
L05eb: mov rax, [rax]
L05ee: jmp L03cc
L05f3: mov rax, 0x2a7eccb5218
L05fd: mov rax, [rax]
L0600: jmp L03cc
L0605: mov rax, 0x2a7f2251598
L060f: mov rax, [rax]
L0612: jmp L03cc
L0617: mov rax, 0x2a4a536ce98
L0621: mov rax, [rax]
L0624: jmp L03cc
L0629: mov rax, 0x2a7f0e367b8
L0633: mov rax, [rax]
L0636: jmp L03cc
L063b: mov rax, 0x2a7f8498f28
L0645: mov rax, [rax]
L0648: jmp L03cc
L064d: mov rax, 0x2a7f8498f58
L0657: mov rax, [rax]
L065a: jmp L03cc
{
"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