.file "test_switch.c"
.intel_syntax noprefix
.def ___main; .scl 2; .type 32; .endef
.section .rdata,"dr"
LC0:
.ascii "%u\0"
LC1:
.ascii "Zero\0"
LC2:
.ascii "One\0"
LC3:
.ascii "Two\0"
LC4:
.ascii "Three\0"
LC5:
.ascii "Four\0"
.section .text.startup,"x"
.p2align 2,,3
.globl _main
.def _main; .scl 2; .type 32; .endef
_main:
LFB12:
.cfi_startproc
push ebp
.cfi_def_cfa_offset 8
.cfi_offset 5, -8
mov ebp, esp
.cfi_def_cfa_register 5
and esp, -16
sub esp, 32
call ___main
lea eax, [esp+28]
mov DWORD PTR [esp+4], eax
mov DWORD PTR [esp], OFFSET FLAT:LC0
call _scanf
cmp DWORD PTR [esp+28], 4
ja L2
mov eax, DWORD PTR [esp+28]
jmp [DWORD PTR L8[0+eax*4]]
.section .rdata,"dr"
.align 4
L8:
.long L3
.long L4
.long L5
.long L6
.long L7
.section .text.startup,"x"
L7:
mov DWORD PTR [esp], OFFSET FLAT:LC5
call _printf
.p2align 2,,3
L2:
xor eax, eax
leave
.cfi_remember_state
.cfi_restore 5
.cfi_def_cfa 4, 4
ret
L6:
.cfi_restore_state
mov DWORD PTR [esp], OFFSET FLAT:LC4
call _printf
jmp L2
L3:
mov DWORD PTR [esp], OFFSET FLAT:LC1
call _printf
jmp L2
L4:
mov DWORD PTR [esp], OFFSET FLAT:LC2
call _printf
jmp L2
L5:
mov DWORD PTR [esp], OFFSET FLAT:LC3
call _printf
jmp L2
.cfi_endproc
LFE12:
.def _scanf; .scl 2; .type 32; .endef
.def _printf; .scl 2; .type 32; .endef
CS5maWxlCSJ0ZXN0X3N3aXRjaC5jIgoJLmludGVsX3N5bnRheCBub3ByZWZpeAoJLmRlZglfX19tYWluOwkuc2NsCTI7CS50eXBlCTMyOwkuZW5kZWYKCS5zZWN0aW9uIC5yZGF0YSwiZHIiCkxDMDoKCS5hc2NpaSAiJXVcMCIKTEMxOgoJLmFzY2lpICJaZXJvXDAiCkxDMjoKCS5hc2NpaSAiT25lXDAiCkxDMzoKCS5hc2NpaSAiVHdvXDAiCkxDNDoKCS5hc2NpaSAiVGhyZWVcMCIKTEM1OgoJLmFzY2lpICJGb3VyXDAiCgkuc2VjdGlvbgkudGV4dC5zdGFydHVwLCJ4IgoJLnAyYWxpZ24gMiwsMwoJLmdsb2JsCV9tYWluCgkuZGVmCV9tYWluOwkuc2NsCTI7CS50eXBlCTMyOwkuZW5kZWYKX21haW46CkxGQjEyOgoJLmNmaV9zdGFydHByb2MKCXB1c2gJZWJwCgkuY2ZpX2RlZl9jZmFfb2Zmc2V0IDgKCS5jZmlfb2Zmc2V0IDUsIC04Cgltb3YJZWJwLCBlc3AKCS5jZmlfZGVmX2NmYV9yZWdpc3RlciA1CglhbmQJZXNwLCAtMTYKCXN1Ygllc3AsIDMyCgljYWxsCV9fX21haW4KCWxlYQllYXgsIFtlc3ArMjhdCgltb3YJRFdPUkQgUFRSIFtlc3ArNF0sIGVheAoJbW92CURXT1JEIFBUUiBbZXNwXSwgT0ZGU0VUIEZMQVQ6TEMwCgljYWxsCV9zY2FuZgoJY21wCURXT1JEIFBUUiBbZXNwKzI4XSwgNAoJamEJTDIKCW1vdgllYXgsIERXT1JEIFBUUiBbZXNwKzI4XQoJam1wCVtEV09SRCBQVFIgTDhbMCtlYXgqNF1dCgkuc2VjdGlvbiAucmRhdGEsImRyIgoJLmFsaWduIDQKTDg6CgkubG9uZwlMMwoJLmxvbmcJTDQKCS5sb25nCUw1CgkubG9uZwlMNgoJLmxvbmcJTDcKCS5zZWN0aW9uCS50ZXh0LnN0YXJ0dXAsIngiCkw3OgoJbW92CURXT1JEIFBUUiBbZXNwXSwgT0ZGU0VUIEZMQVQ6TEM1CgljYWxsCV9wcmludGYKCS5wMmFsaWduIDIsLDMKTDI6Cgl4b3IJZWF4LCBlYXgKCWxlYXZlCgkuY2ZpX3JlbWVtYmVyX3N0YXRlCgkuY2ZpX3Jlc3RvcmUgNQoJLmNmaV9kZWZfY2ZhIDQsIDQKCXJldApMNjoKCS5jZmlfcmVzdG9yZV9zdGF0ZQoJbW92CURXT1JEIFBUUiBbZXNwXSwgT0ZGU0VUIEZMQVQ6TEM0CgljYWxsCV9wcmludGYKCWptcAlMMgpMMzoKCW1vdglEV09SRCBQVFIgW2VzcF0sIE9GRlNFVCBGTEFUOkxDMQoJY2FsbAlfcHJpbnRmCglqbXAJTDIKTDQ6Cgltb3YJRFdPUkQgUFRSIFtlc3BdLCBPRkZTRVQgRkxBVDpMQzIKCWNhbGwJX3ByaW50ZgoJam1wCUwyCkw1OgoJbW92CURXT1JEIFBUUiBbZXNwXSwgT0ZGU0VUIEZMQVQ6TEMzCgljYWxsCV9wcmludGYKCWptcAlMMgoJLmNmaV9lbmRwcm9jCkxGRTEyOgoJLmRlZglfc2NhbmY7CS5zY2wJMjsJLnR5cGUJMzI7CS5lbmRlZgoJLmRlZglfcHJpbnRmOwkuc2NsCTI7CS50eXBlCTMyOwkuZW5kZWY=