
switch:     file format elf64-x86-64


Disassembly of section .init:

00000000004003f0 <_init>:
  4003f0:	48 83 ec 08          	sub    $0x8,%rsp
  4003f4:	e8 93 00 00 00       	callq  40048c <call_gmon_start>
  4003f9:	e8 92 01 00 00       	callq  400590 <frame_dummy>
  4003fe:	e8 7d 03 00 00       	callq  400780 <__do_global_ctors_aux>
  400403:	48 83 c4 08          	add    $0x8,%rsp
  400407:	c3                   	retq   

Disassembly of section .plt:

0000000000400408 <printf@plt-0x10>:
  400408:	ff 35 d2 06 20 00    	pushq  0x2006d2(%rip)        # 600ae0 <_GLOBAL_OFFSET_TABLE_+0x8>
  40040e:	ff 25 d4 06 20 00    	jmpq   *0x2006d4(%rip)        # 600ae8 <_GLOBAL_OFFSET_TABLE_+0x10>
  400414:	0f 1f 40 00          	nopl   0x0(%rax)

0000000000400418 <printf@plt>:
  400418:	ff 25 d2 06 20 00    	jmpq   *0x2006d2(%rip)        # 600af0 <_GLOBAL_OFFSET_TABLE_+0x18>
  40041e:	68 00 00 00 00       	pushq  $0x0
  400423:	e9 e0 ff ff ff       	jmpq   400408 <_init+0x18>

0000000000400428 <exit@plt>:
  400428:	ff 25 ca 06 20 00    	jmpq   *0x2006ca(%rip)        # 600af8 <_GLOBAL_OFFSET_TABLE_+0x20>
  40042e:	68 01 00 00 00       	pushq  $0x1
  400433:	e9 d0 ff ff ff       	jmpq   400408 <_init+0x18>

0000000000400438 <__libc_start_main@plt>:
  400438:	ff 25 c2 06 20 00    	jmpq   *0x2006c2(%rip)        # 600b00 <_GLOBAL_OFFSET_TABLE_+0x28>
  40043e:	68 02 00 00 00       	pushq  $0x2
  400443:	e9 c0 ff ff ff       	jmpq   400408 <_init+0x18>

0000000000400448 <strtol@plt>:
  400448:	ff 25 ba 06 20 00    	jmpq   *0x2006ba(%rip)        # 600b08 <_GLOBAL_OFFSET_TABLE_+0x30>
  40044e:	68 03 00 00 00       	pushq  $0x3
  400453:	e9 b0 ff ff ff       	jmpq   400408 <_init+0x18>

Disassembly of section .text:

0000000000400460 <_start>:
  400460:	31 ed                	xor    %ebp,%ebp
  400462:	49 89 d1             	mov    %rdx,%r9
  400465:	5e                   	pop    %rsi
  400466:	48 89 e2             	mov    %rsp,%rdx
  400469:	48 83 e4 f0          	and    $0xfffffffffffffff0,%rsp
  40046d:	50                   	push   %rax
  40046e:	54                   	push   %rsp
  40046f:	49 c7 c0 e0 06 40 00 	mov    $0x4006e0,%r8
  400476:	48 c7 c1 f0 06 40 00 	mov    $0x4006f0,%rcx
  40047d:	48 c7 c7 5e 06 40 00 	mov    $0x40065e,%rdi
  400484:	e8 af ff ff ff       	callq  400438 <__libc_start_main@plt>
  400489:	f4                   	hlt    
  40048a:	90                   	nop
  40048b:	90                   	nop

000000000040048c <call_gmon_start>:
  40048c:	48 83 ec 08          	sub    $0x8,%rsp
  400490:	48 8b 05 39 06 20 00 	mov    0x200639(%rip),%rax        # 600ad0 <_DYNAMIC+0x190>
  400497:	48 85 c0             	test   %rax,%rax
  40049a:	74 02                	je     40049e <call_gmon_start+0x12>
  40049c:	ff d0                	callq  *%rax
  40049e:	48 83 c4 08          	add    $0x8,%rsp
  4004a2:	c3                   	retq   
  4004a3:	90                   	nop
  4004a4:	90                   	nop
  4004a5:	90                   	nop
  4004a6:	90                   	nop
  4004a7:	90                   	nop
  4004a8:	90                   	nop
  4004a9:	90                   	nop
  4004aa:	90                   	nop
  4004ab:	90                   	nop
  4004ac:	90                   	nop
  4004ad:	90                   	nop
  4004ae:	90                   	nop
  4004af:	90                   	nop

00000000004004b0 <deregister_tm_clones>:
  4004b0:	b8 27 0b 60 00       	mov    $0x600b27,%eax
  4004b5:	55                   	push   %rbp
  4004b6:	48 2d 20 0b 60 00    	sub    $0x600b20,%rax
  4004bc:	48 83 f8 0e          	cmp    $0xe,%rax
  4004c0:	48 89 e5             	mov    %rsp,%rbp
  4004c3:	77 02                	ja     4004c7 <deregister_tm_clones+0x17>
  4004c5:	5d                   	pop    %rbp
  4004c6:	c3                   	retq   
  4004c7:	b8 00 00 00 00       	mov    $0x0,%eax
  4004cc:	48 85 c0             	test   %rax,%rax
  4004cf:	74 f4                	je     4004c5 <deregister_tm_clones+0x15>
  4004d1:	5d                   	pop    %rbp
  4004d2:	bf 20 0b 60 00       	mov    $0x600b20,%edi
  4004d7:	ff e0                	jmpq   *%rax
  4004d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

00000000004004e0 <register_tm_clones>:
  4004e0:	b8 20 0b 60 00       	mov    $0x600b20,%eax
  4004e5:	55                   	push   %rbp
  4004e6:	48 2d 20 0b 60 00    	sub    $0x600b20,%rax
  4004ec:	48 c1 f8 03          	sar    $0x3,%rax
  4004f0:	48 89 e5             	mov    %rsp,%rbp
  4004f3:	48 89 c2             	mov    %rax,%rdx
  4004f6:	48 c1 ea 3f          	shr    $0x3f,%rdx
  4004fa:	48 01 d0             	add    %rdx,%rax
  4004fd:	48 d1 f8             	sar    %rax
  400500:	75 02                	jne    400504 <register_tm_clones+0x24>
  400502:	5d                   	pop    %rbp
  400503:	c3                   	retq   
  400504:	ba 00 00 00 00       	mov    $0x0,%edx
  400509:	48 85 d2             	test   %rdx,%rdx
  40050c:	74 f4                	je     400502 <register_tm_clones+0x22>
  40050e:	5d                   	pop    %rbp
  40050f:	48 89 c6             	mov    %rax,%rsi
  400512:	bf 20 0b 60 00       	mov    $0x600b20,%edi
  400517:	ff e2                	jmpq   *%rdx
  400519:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000400520 <__do_global_dtors_aux>:
  400520:	80 3d f9 05 20 00 00 	cmpb   $0x0,0x2005f9(%rip)        # 600b20 <__bss_start>
  400527:	75 5f                	jne    400588 <__do_global_dtors_aux+0x68>
  400529:	55                   	push   %rbp
  40052a:	48 89 e5             	mov    %rsp,%rbp
  40052d:	53                   	push   %rbx
  40052e:	bb 30 09 60 00       	mov    $0x600930,%ebx
  400533:	48 81 eb 28 09 60 00 	sub    $0x600928,%rbx
  40053a:	48 83 ec 08          	sub    $0x8,%rsp
  40053e:	48 8b 05 e3 05 20 00 	mov    0x2005e3(%rip),%rax        # 600b28 <dtor_idx.6302>
  400545:	48 c1 fb 03          	sar    $0x3,%rbx
  400549:	48 83 eb 01          	sub    $0x1,%rbx
  40054d:	48 39 d8             	cmp    %rbx,%rax
  400550:	73 24                	jae    400576 <__do_global_dtors_aux+0x56>
  400552:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  400558:	48 83 c0 01          	add    $0x1,%rax
  40055c:	48 89 05 c5 05 20 00 	mov    %rax,0x2005c5(%rip)        # 600b28 <dtor_idx.6302>
  400563:	ff 14 c5 28 09 60 00 	callq  *0x600928(,%rax,8)
  40056a:	48 8b 05 b7 05 20 00 	mov    0x2005b7(%rip),%rax        # 600b28 <dtor_idx.6302>
  400571:	48 39 d8             	cmp    %rbx,%rax
  400574:	72 e2                	jb     400558 <__do_global_dtors_aux+0x38>
  400576:	e8 35 ff ff ff       	callq  4004b0 <deregister_tm_clones>
  40057b:	c6 05 9e 05 20 00 01 	movb   $0x1,0x20059e(%rip)        # 600b20 <__bss_start>
  400582:	48 83 c4 08          	add    $0x8,%rsp
  400586:	5b                   	pop    %rbx
  400587:	5d                   	pop    %rbp
  400588:	c3                   	retq   
  400589:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000400590 <frame_dummy>:
  400590:	48 83 3d a0 03 20 00 	cmpq   $0x0,0x2003a0(%rip)        # 600938 <__JCR_END__>
  400597:	00 
  400598:	74 1e                	je     4005b8 <frame_dummy+0x28>
  40059a:	b8 00 00 00 00       	mov    $0x0,%eax
  40059f:	48 85 c0             	test   %rax,%rax
  4005a2:	74 14                	je     4005b8 <frame_dummy+0x28>
  4005a4:	55                   	push   %rbp
  4005a5:	bf 38 09 60 00       	mov    $0x600938,%edi
  4005aa:	48 89 e5             	mov    %rsp,%rbp
  4005ad:	ff d0                	callq  *%rax
  4005af:	5d                   	pop    %rbp
  4005b0:	e9 2b ff ff ff       	jmpq   4004e0 <register_tm_clones>
  4005b5:	0f 1f 00             	nopl   (%rax)
  4005b8:	e9 23 ff ff ff       	jmpq   4004e0 <register_tm_clones>
  4005bd:	90                   	nop
  4005be:	90                   	nop
  4005bf:	90                   	nop

00000000004005c0 <switch_eg>:
  4005c0:	48 89 d1             	mov    %rdx,%rcx
  4005c3:	48 83 ff 06          	cmp    $0x6,%rdi
  4005c7:	77 2b                	ja     4005f4 <switch_eg+0x34>
  4005c9:	ff 24 fd d0 07 40 00 	jmpq   *0x4007d0(,%rdi,8)
  4005d0:	48 89 f0             	mov    %rsi,%rax
  4005d3:	48 0f af c2          	imul   %rdx,%rax
  4005d7:	c3                   	retq   
  4005d8:	48 89 f0             	mov    %rsi,%rax
  4005db:	48 99                	cqto   
  4005dd:	48 f7 f9             	idiv   %rcx
  4005e0:	eb 05                	jmp    4005e7 <switch_eg+0x27>
  4005e2:	b8 01 00 00 00       	mov    $0x1,%eax
  4005e7:	48 01 c8             	add    %rcx,%rax
  4005ea:	c3                   	retq   
  4005eb:	b8 01 00 00 00       	mov    $0x1,%eax
  4005f0:	48 29 d0             	sub    %rdx,%rax
  4005f3:	c3                   	retq   
  4005f4:	b8 02 00 00 00       	mov    $0x2,%eax
  4005f9:	c3                   	retq   

00000000004005fa <sparse_switch_eg>:
  4005fa:	48 89 d1             	mov    %rdx,%rcx
  4005fd:	48 81 ff 2c 01 00 00 	cmp    $0x12c,%rdi
  400604:	74 40                	je     400646 <sparse_switch_eg+0x4c>
  400606:	48 81 ff 2c 01 00 00 	cmp    $0x12c,%rdi
  40060d:	7f 11                	jg     400620 <sparse_switch_eg+0x26>
  40060f:	48 83 ff 64          	cmp    $0x64,%rdi
  400613:	74 1f                	je     400634 <sparse_switch_eg+0x3a>
  400615:	48 81 ff c8 00 00 00 	cmp    $0xc8,%rdi
  40061c:	74 1e                	je     40063c <sparse_switch_eg+0x42>
  40061e:	eb 38                	jmp    400658 <sparse_switch_eg+0x5e>
  400620:	48 81 ff f4 01 00 00 	cmp    $0x1f4,%rdi
  400627:	74 26                	je     40064f <sparse_switch_eg+0x55>
  400629:	48 81 ff 58 02 00 00 	cmp    $0x258,%rdi
  400630:	74 1d                	je     40064f <sparse_switch_eg+0x55>
  400632:	eb 24                	jmp    400658 <sparse_switch_eg+0x5e>
  400634:	48 89 f0             	mov    %rsi,%rax
  400637:	48 0f af c2          	imul   %rdx,%rax
  40063b:	c3                   	retq   
  40063c:	48 89 f0             	mov    %rsi,%rax
  40063f:	48 99                	cqto   
  400641:	48 f7 f9             	idiv   %rcx
  400644:	eb 05                	jmp    40064b <sparse_switch_eg+0x51>
  400646:	b8 01 00 00 00       	mov    $0x1,%eax
  40064b:	48 01 c8             	add    %rcx,%rax
  40064e:	c3                   	retq   
  40064f:	b8 01 00 00 00       	mov    $0x1,%eax
  400654:	48 29 c8             	sub    %rcx,%rax
  400657:	c3                   	retq   
  400658:	b8 02 00 00 00       	mov    $0x2,%eax
  40065d:	c3                   	retq   

000000000040065e <main>:
  40065e:	41 54                	push   %r12
  400660:	55                   	push   %rbp
  400661:	53                   	push   %rbx
  400662:	48 89 f3             	mov    %rsi,%rbx
  400665:	48 8b 7e 08          	mov    0x8(%rsi),%rdi
  400669:	ba 0a 00 00 00       	mov    $0xa,%edx
  40066e:	be 00 00 00 00       	mov    $0x0,%esi
  400673:	e8 d0 fd ff ff       	callq  400448 <strtol@plt>
  400678:	48 63 e8             	movslq %eax,%rbp
  40067b:	48 8b 7b 10          	mov    0x10(%rbx),%rdi
  40067f:	ba 0a 00 00 00       	mov    $0xa,%edx
  400684:	be 00 00 00 00       	mov    $0x0,%esi
  400689:	e8 ba fd ff ff       	callq  400448 <strtol@plt>
  40068e:	4c 63 e0             	movslq %eax,%r12
  400691:	48 8b 7b 18          	mov    0x18(%rbx),%rdi
  400695:	ba 0a 00 00 00       	mov    $0xa,%edx
  40069a:	be 00 00 00 00       	mov    $0x0,%esi
  40069f:	e8 a4 fd ff ff       	callq  400448 <strtol@plt>
  4006a4:	48 63 d8             	movslq %eax,%rbx
  4006a7:	48 89 da             	mov    %rbx,%rdx
  4006aa:	4c 89 e6             	mov    %r12,%rsi
  4006ad:	48 89 ef             	mov    %rbp,%rdi
  4006b0:	e8 0b ff ff ff       	callq  4005c0 <switch_eg>
  4006b5:	49 89 c0             	mov    %rax,%r8
  4006b8:	48 89 d9             	mov    %rbx,%rcx
  4006bb:	4c 89 e2             	mov    %r12,%rdx
  4006be:	48 89 ee             	mov    %rbp,%rsi
  4006c1:	bf 08 08 40 00       	mov    $0x400808,%edi
  4006c6:	b8 00 00 00 00       	mov    $0x0,%eax
  4006cb:	e8 48 fd ff ff       	callq  400418 <printf@plt>
  4006d0:	bf 00 00 00 00       	mov    $0x0,%edi
  4006d5:	e8 4e fd ff ff       	callq  400428 <exit@plt>
  4006da:	90                   	nop
  4006db:	90                   	nop
  4006dc:	90                   	nop
  4006dd:	90                   	nop
  4006de:	90                   	nop
  4006df:	90                   	nop

00000000004006e0 <__libc_csu_fini>:
  4006e0:	f3 c3                	repz retq 
  4006e2:	66 66 66 66 66 2e 0f 	data32 data32 data32 data32 nopw %cs:0x0(%rax,%rax,1)
  4006e9:	1f 84 00 00 00 00 00 

00000000004006f0 <__libc_csu_init>:
  4006f0:	48 89 6c 24 d8       	mov    %rbp,-0x28(%rsp)
  4006f5:	4c 89 64 24 e0       	mov    %r12,-0x20(%rsp)
  4006fa:	48 8d 2d 13 02 20 00 	lea    0x200213(%rip),%rbp        # 600914 <__init_array_end>
  400701:	4c 8d 25 0c 02 20 00 	lea    0x20020c(%rip),%r12        # 600914 <__init_array_end>
  400708:	4c 89 6c 24 e8       	mov    %r13,-0x18(%rsp)
  40070d:	4c 89 74 24 f0       	mov    %r14,-0x10(%rsp)
  400712:	4c 89 7c 24 f8       	mov    %r15,-0x8(%rsp)
  400717:	48 89 5c 24 d0       	mov    %rbx,-0x30(%rsp)
  40071c:	48 83 ec 38          	sub    $0x38,%rsp
  400720:	4c 29 e5             	sub    %r12,%rbp
  400723:	41 89 fd             	mov    %edi,%r13d
  400726:	49 89 f6             	mov    %rsi,%r14
  400729:	48 c1 fd 03          	sar    $0x3,%rbp
  40072d:	49 89 d7             	mov    %rdx,%r15
  400730:	e8 bb fc ff ff       	callq  4003f0 <_init>
  400735:	48 85 ed             	test   %rbp,%rbp
  400738:	74 1c                	je     400756 <__libc_csu_init+0x66>
  40073a:	31 db                	xor    %ebx,%ebx
  40073c:	0f 1f 40 00          	nopl   0x0(%rax)
  400740:	4c 89 fa             	mov    %r15,%rdx
  400743:	4c 89 f6             	mov    %r14,%rsi
  400746:	44 89 ef             	mov    %r13d,%edi
  400749:	41 ff 14 dc          	callq  *(%r12,%rbx,8)
  40074d:	48 83 c3 01          	add    $0x1,%rbx
  400751:	48 39 eb             	cmp    %rbp,%rbx
  400754:	72 ea                	jb     400740 <__libc_csu_init+0x50>
  400756:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
  40075b:	48 8b 6c 24 10       	mov    0x10(%rsp),%rbp
  400760:	4c 8b 64 24 18       	mov    0x18(%rsp),%r12
  400765:	4c 8b 6c 24 20       	mov    0x20(%rsp),%r13
  40076a:	4c 8b 74 24 28       	mov    0x28(%rsp),%r14
  40076f:	4c 8b 7c 24 30       	mov    0x30(%rsp),%r15
  400774:	48 83 c4 38          	add    $0x38,%rsp
  400778:	c3                   	retq   
  400779:	90                   	nop
  40077a:	90                   	nop
  40077b:	90                   	nop
  40077c:	90                   	nop
  40077d:	90                   	nop
  40077e:	90                   	nop
  40077f:	90                   	nop

0000000000400780 <__do_global_ctors_aux>:
  400780:	55                   	push   %rbp
  400781:	48 89 e5             	mov    %rsp,%rbp
  400784:	53                   	push   %rbx
  400785:	bb 18 09 60 00       	mov    $0x600918,%ebx
  40078a:	48 83 ec 08          	sub    $0x8,%rsp
  40078e:	48 8b 05 83 01 20 00 	mov    0x200183(%rip),%rax        # 600918 <__CTOR_LIST__>
  400795:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
  400799:	74 14                	je     4007af <__do_global_ctors_aux+0x2f>
  40079b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  4007a0:	48 83 eb 08          	sub    $0x8,%rbx
  4007a4:	ff d0                	callq  *%rax
  4007a6:	48 8b 03             	mov    (%rbx),%rax
  4007a9:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
  4007ad:	75 f1                	jne    4007a0 <__do_global_ctors_aux+0x20>
  4007af:	48 83 c4 08          	add    $0x8,%rsp
  4007b3:	5b                   	pop    %rbx
  4007b4:	5d                   	pop    %rbp
  4007b5:	c3                   	retq   
  4007b6:	90                   	nop
  4007b7:	90                   	nop

Disassembly of section .fini:

00000000004007b8 <_fini>:
  4007b8:	48 83 ec 08          	sub    $0x8,%rsp
  4007bc:	e8 5f fd ff ff       	callq  400520 <__do_global_dtors_aux>
  4007c1:	48 83 c4 08          	add    $0x8,%rsp
  4007c5:	c3                   	retq   
