
switch:     file format elf64-x86-64


Disassembly of section .init:

0000000000400410 <_init>:
  400410:	48 83 ec 08          	sub    $0x8,%rsp
  400414:	e8 93 00 00 00       	callq  4004ac <call_gmon_start>
  400419:	e8 92 01 00 00       	callq  4005b0 <frame_dummy>
  40041e:	e8 7d 03 00 00       	callq  4007a0 <__do_global_ctors_aux>
  400423:	48 83 c4 08          	add    $0x8,%rsp
  400427:	c3                   	retq   

Disassembly of section .plt:

0000000000400428 <printf@plt-0x10>:
  400428:	ff 35 d2 06 20 00    	pushq  0x2006d2(%rip)        # 600b00 <_GLOBAL_OFFSET_TABLE_+0x8>
  40042e:	ff 25 d4 06 20 00    	jmpq   *0x2006d4(%rip)        # 600b08 <_GLOBAL_OFFSET_TABLE_+0x10>
  400434:	0f 1f 40 00          	nopl   0x0(%rax)

0000000000400438 <printf@plt>:
  400438:	ff 25 d2 06 20 00    	jmpq   *0x2006d2(%rip)        # 600b10 <_GLOBAL_OFFSET_TABLE_+0x18>
  40043e:	68 00 00 00 00       	pushq  $0x0
  400443:	e9 e0 ff ff ff       	jmpq   400428 <_init+0x18>

0000000000400448 <exit@plt>:
  400448:	ff 25 ca 06 20 00    	jmpq   *0x2006ca(%rip)        # 600b18 <_GLOBAL_OFFSET_TABLE_+0x20>
  40044e:	68 01 00 00 00       	pushq  $0x1
  400453:	e9 d0 ff ff ff       	jmpq   400428 <_init+0x18>

0000000000400458 <__libc_start_main@plt>:
  400458:	ff 25 c2 06 20 00    	jmpq   *0x2006c2(%rip)        # 600b20 <_GLOBAL_OFFSET_TABLE_+0x28>
  40045e:	68 02 00 00 00       	pushq  $0x2
  400463:	e9 c0 ff ff ff       	jmpq   400428 <_init+0x18>

0000000000400468 <strtol@plt>:
  400468:	ff 25 ba 06 20 00    	jmpq   *0x2006ba(%rip)        # 600b28 <_GLOBAL_OFFSET_TABLE_+0x30>
  40046e:	68 03 00 00 00       	pushq  $0x3
  400473:	e9 b0 ff ff ff       	jmpq   400428 <_init+0x18>

Disassembly of section .text:

0000000000400480 <_start>:
  400480:	31 ed                	xor    %ebp,%ebp
  400482:	49 89 d1             	mov    %rdx,%r9
  400485:	5e                   	pop    %rsi
  400486:	48 89 e2             	mov    %rsp,%rdx
  400489:	48 83 e4 f0          	and    $0xfffffffffffffff0,%rsp
  40048d:	50                   	push   %rax
  40048e:	54                   	push   %rsp
  40048f:	49 c7 c0 00 07 40 00 	mov    $0x400700,%r8
  400496:	48 c7 c1 10 07 40 00 	mov    $0x400710,%rcx
  40049d:	48 c7 c7 7e 06 40 00 	mov    $0x40067e,%rdi
  4004a4:	e8 af ff ff ff       	callq  400458 <__libc_start_main@plt>
  4004a9:	f4                   	hlt    
  4004aa:	90                   	nop
  4004ab:	90                   	nop

00000000004004ac <call_gmon_start>:
  4004ac:	48 83 ec 08          	sub    $0x8,%rsp
  4004b0:	48 8b 05 39 06 20 00 	mov    0x200639(%rip),%rax        # 600af0 <_DYNAMIC+0x190>
  4004b7:	48 85 c0             	test   %rax,%rax
  4004ba:	74 02                	je     4004be <call_gmon_start+0x12>
  4004bc:	ff d0                	callq  *%rax
  4004be:	48 83 c4 08          	add    $0x8,%rsp
  4004c2:	c3                   	retq   
  4004c3:	90                   	nop
  4004c4:	90                   	nop
  4004c5:	90                   	nop
  4004c6:	90                   	nop
  4004c7:	90                   	nop
  4004c8:	90                   	nop
  4004c9:	90                   	nop
  4004ca:	90                   	nop
  4004cb:	90                   	nop
  4004cc:	90                   	nop
  4004cd:	90                   	nop
  4004ce:	90                   	nop
  4004cf:	90                   	nop

00000000004004d0 <deregister_tm_clones>:
  4004d0:	b8 47 0b 60 00       	mov    $0x600b47,%eax
  4004d5:	55                   	push   %rbp
  4004d6:	48 2d 40 0b 60 00    	sub    $0x600b40,%rax
  4004dc:	48 83 f8 0e          	cmp    $0xe,%rax
  4004e0:	48 89 e5             	mov    %rsp,%rbp
  4004e3:	77 02                	ja     4004e7 <deregister_tm_clones+0x17>
  4004e5:	5d                   	pop    %rbp
  4004e6:	c3                   	retq   
  4004e7:	b8 00 00 00 00       	mov    $0x0,%eax
  4004ec:	48 85 c0             	test   %rax,%rax
  4004ef:	74 f4                	je     4004e5 <deregister_tm_clones+0x15>
  4004f1:	5d                   	pop    %rbp
  4004f2:	bf 40 0b 60 00       	mov    $0x600b40,%edi
  4004f7:	ff e0                	jmpq   *%rax
  4004f9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000400500 <register_tm_clones>:
  400500:	b8 40 0b 60 00       	mov    $0x600b40,%eax
  400505:	55                   	push   %rbp
  400506:	48 2d 40 0b 60 00    	sub    $0x600b40,%rax
  40050c:	48 c1 f8 03          	sar    $0x3,%rax
  400510:	48 89 e5             	mov    %rsp,%rbp
  400513:	48 89 c2             	mov    %rax,%rdx
  400516:	48 c1 ea 3f          	shr    $0x3f,%rdx
  40051a:	48 01 d0             	add    %rdx,%rax
  40051d:	48 d1 f8             	sar    %rax
  400520:	75 02                	jne    400524 <register_tm_clones+0x24>
  400522:	5d                   	pop    %rbp
  400523:	c3                   	retq   
  400524:	ba 00 00 00 00       	mov    $0x0,%edx
  400529:	48 85 d2             	test   %rdx,%rdx
  40052c:	74 f4                	je     400522 <register_tm_clones+0x22>
  40052e:	5d                   	pop    %rbp
  40052f:	48 89 c6             	mov    %rax,%rsi
  400532:	bf 40 0b 60 00       	mov    $0x600b40,%edi
  400537:	ff e2                	jmpq   *%rdx
  400539:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000400540 <__do_global_dtors_aux>:
  400540:	80 3d f9 05 20 00 00 	cmpb   $0x0,0x2005f9(%rip)        # 600b40 <__bss_start>
  400547:	75 5f                	jne    4005a8 <__do_global_dtors_aux+0x68>
  400549:	55                   	push   %rbp
  40054a:	48 89 e5             	mov    %rsp,%rbp
  40054d:	53                   	push   %rbx
  40054e:	bb 50 09 60 00       	mov    $0x600950,%ebx
  400553:	48 81 eb 48 09 60 00 	sub    $0x600948,%rbx
  40055a:	48 83 ec 08          	sub    $0x8,%rsp
  40055e:	48 8b 05 e3 05 20 00 	mov    0x2005e3(%rip),%rax        # 600b48 <dtor_idx.6302>
  400565:	48 c1 fb 03          	sar    $0x3,%rbx
  400569:	48 83 eb 01          	sub    $0x1,%rbx
  40056d:	48 39 d8             	cmp    %rbx,%rax
  400570:	73 24                	jae    400596 <__do_global_dtors_aux+0x56>
  400572:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  400578:	48 83 c0 01          	add    $0x1,%rax
  40057c:	48 89 05 c5 05 20 00 	mov    %rax,0x2005c5(%rip)        # 600b48 <dtor_idx.6302>
  400583:	ff 14 c5 48 09 60 00 	callq  *0x600948(,%rax,8)
  40058a:	48 8b 05 b7 05 20 00 	mov    0x2005b7(%rip),%rax        # 600b48 <dtor_idx.6302>
  400591:	48 39 d8             	cmp    %rbx,%rax
  400594:	72 e2                	jb     400578 <__do_global_dtors_aux+0x38>
  400596:	e8 35 ff ff ff       	callq  4004d0 <deregister_tm_clones>
  40059b:	c6 05 9e 05 20 00 01 	movb   $0x1,0x20059e(%rip)        # 600b40 <__bss_start>
  4005a2:	48 83 c4 08          	add    $0x8,%rsp
  4005a6:	5b                   	pop    %rbx
  4005a7:	5d                   	pop    %rbp
  4005a8:	c3                   	retq   
  4005a9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

00000000004005b0 <frame_dummy>:
  4005b0:	48 83 3d a0 03 20 00 	cmpq   $0x0,0x2003a0(%rip)        # 600958 <__JCR_END__>
  4005b7:	00 
  4005b8:	74 1e                	je     4005d8 <frame_dummy+0x28>
  4005ba:	b8 00 00 00 00       	mov    $0x0,%eax
  4005bf:	48 85 c0             	test   %rax,%rax
  4005c2:	74 14                	je     4005d8 <frame_dummy+0x28>
  4005c4:	55                   	push   %rbp
  4005c5:	bf 58 09 60 00       	mov    $0x600958,%edi
  4005ca:	48 89 e5             	mov    %rsp,%rbp
  4005cd:	ff d0                	callq  *%rax
  4005cf:	5d                   	pop    %rbp
  4005d0:	e9 2b ff ff ff       	jmpq   400500 <register_tm_clones>
  4005d5:	0f 1f 00             	nopl   (%rax)
  4005d8:	e9 23 ff ff ff       	jmpq   400500 <register_tm_clones>
  4005dd:	90                   	nop
  4005de:	90                   	nop
  4005df:	90                   	nop

00000000004005e0 <switch_eg>:
  4005e0:	48 89 d1             	mov    %rdx,%rcx
  4005e3:	48 83 ff 06          	cmp    $0x6,%rdi
  4005e7:	77 2b                	ja     400614 <switch_eg+0x34>
  4005e9:	ff 24 fd f0 07 40 00 	jmpq   *0x4007f0(,%rdi,8)
  4005f0:	48 89 f0             	mov    %rsi,%rax
  4005f3:	48 0f af c2          	imul   %rdx,%rax
  4005f7:	c3                   	retq   
  4005f8:	48 89 f0             	mov    %rsi,%rax
  4005fb:	48 99                	cqto   
  4005fd:	48 f7 f9             	idiv   %rcx
  400600:	eb 05                	jmp    400607 <switch_eg+0x27>
  400602:	b8 01 00 00 00       	mov    $0x1,%eax
  400607:	48 01 c8             	add    %rcx,%rax
  40060a:	c3                   	retq   
  40060b:	b8 01 00 00 00       	mov    $0x1,%eax
  400610:	48 29 d0             	sub    %rdx,%rax
  400613:	c3                   	retq   
  400614:	b8 02 00 00 00       	mov    $0x2,%eax
  400619:	c3                   	retq   

000000000040061a <sparse_switch_eg>:
  40061a:	48 89 d1             	mov    %rdx,%rcx
  40061d:	48 81 ff 2c 01 00 00 	cmp    $0x12c,%rdi
  400624:	74 40                	je     400666 <sparse_switch_eg+0x4c>
  400626:	48 81 ff 2c 01 00 00 	cmp    $0x12c,%rdi
  40062d:	7f 11                	jg     400640 <sparse_switch_eg+0x26>
  40062f:	48 83 ff 64          	cmp    $0x64,%rdi
  400633:	74 1f                	je     400654 <sparse_switch_eg+0x3a>
  400635:	48 81 ff c8 00 00 00 	cmp    $0xc8,%rdi
  40063c:	74 1e                	je     40065c <sparse_switch_eg+0x42>
  40063e:	eb 38                	jmp    400678 <sparse_switch_eg+0x5e>
  400640:	48 81 ff f4 01 00 00 	cmp    $0x1f4,%rdi
  400647:	74 26                	je     40066f <sparse_switch_eg+0x55>
  400649:	48 81 ff 58 02 00 00 	cmp    $0x258,%rdi
  400650:	74 1d                	je     40066f <sparse_switch_eg+0x55>
  400652:	eb 24                	jmp    400678 <sparse_switch_eg+0x5e>
  400654:	48 89 f0             	mov    %rsi,%rax
  400657:	48 0f af c2          	imul   %rdx,%rax
  40065b:	c3                   	retq   
  40065c:	48 89 f0             	mov    %rsi,%rax
  40065f:	48 99                	cqto   
  400661:	48 f7 f9             	idiv   %rcx
  400664:	eb 05                	jmp    40066b <sparse_switch_eg+0x51>
  400666:	b8 01 00 00 00       	mov    $0x1,%eax
  40066b:	48 01 c8             	add    %rcx,%rax
  40066e:	c3                   	retq   
  40066f:	b8 01 00 00 00       	mov    $0x1,%eax
  400674:	48 29 c8             	sub    %rcx,%rax
  400677:	c3                   	retq   
  400678:	b8 02 00 00 00       	mov    $0x2,%eax
  40067d:	c3                   	retq   

000000000040067e <main>:
  40067e:	41 54                	push   %r12
  400680:	55                   	push   %rbp
  400681:	53                   	push   %rbx
  400682:	48 89 f3             	mov    %rsi,%rbx
  400685:	48 8b 7e 08          	mov    0x8(%rsi),%rdi
  400689:	ba 0a 00 00 00       	mov    $0xa,%edx
  40068e:	be 00 00 00 00       	mov    $0x0,%esi
  400693:	e8 d0 fd ff ff       	callq  400468 <strtol@plt>
  400698:	48 63 e8             	movslq %eax,%rbp
  40069b:	48 8b 7b 10          	mov    0x10(%rbx),%rdi
  40069f:	ba 0a 00 00 00       	mov    $0xa,%edx
  4006a4:	be 00 00 00 00       	mov    $0x0,%esi
  4006a9:	e8 ba fd ff ff       	callq  400468 <strtol@plt>
  4006ae:	4c 63 e0             	movslq %eax,%r12
  4006b1:	48 8b 7b 18          	mov    0x18(%rbx),%rdi
  4006b5:	ba 0a 00 00 00       	mov    $0xa,%edx
  4006ba:	be 00 00 00 00       	mov    $0x0,%esi
  4006bf:	e8 a4 fd ff ff       	callq  400468 <strtol@plt>
  4006c4:	48 63 d8             	movslq %eax,%rbx
  4006c7:	48 89 da             	mov    %rbx,%rdx
  4006ca:	4c 89 e6             	mov    %r12,%rsi
  4006cd:	48 89 ef             	mov    %rbp,%rdi
  4006d0:	e8 0b ff ff ff       	callq  4005e0 <switch_eg>
  4006d5:	49 89 c0             	mov    %rax,%r8
  4006d8:	48 89 d9             	mov    %rbx,%rcx
  4006db:	4c 89 e2             	mov    %r12,%rdx
  4006de:	48 89 ee             	mov    %rbp,%rsi
  4006e1:	bf 28 08 40 00       	mov    $0x400828,%edi
  4006e6:	b8 00 00 00 00       	mov    $0x0,%eax
  4006eb:	e8 48 fd ff ff       	callq  400438 <printf@plt>
  4006f0:	bf 00 00 00 00       	mov    $0x0,%edi
  4006f5:	e8 4e fd ff ff       	callq  400448 <exit@plt>
  4006fa:	90                   	nop
  4006fb:	90                   	nop
  4006fc:	90                   	nop
  4006fd:	90                   	nop
  4006fe:	90                   	nop
  4006ff:	90                   	nop

0000000000400700 <__libc_csu_fini>:
  400700:	f3 c3                	repz retq 
  400702:	66 66 66 66 66 2e 0f 	data32 data32 data32 data32 nopw %cs:0x0(%rax,%rax,1)
  400709:	1f 84 00 00 00 00 00 

0000000000400710 <__libc_csu_init>:
  400710:	48 89 6c 24 d8       	mov    %rbp,-0x28(%rsp)
  400715:	4c 89 64 24 e0       	mov    %r12,-0x20(%rsp)
  40071a:	48 8d 2d 13 02 20 00 	lea    0x200213(%rip),%rbp        # 600934 <__init_array_end>
  400721:	4c 8d 25 0c 02 20 00 	lea    0x20020c(%rip),%r12        # 600934 <__init_array_end>
  400728:	4c 89 6c 24 e8       	mov    %r13,-0x18(%rsp)
  40072d:	4c 89 74 24 f0       	mov    %r14,-0x10(%rsp)
  400732:	4c 89 7c 24 f8       	mov    %r15,-0x8(%rsp)
  400737:	48 89 5c 24 d0       	mov    %rbx,-0x30(%rsp)
  40073c:	48 83 ec 38          	sub    $0x38,%rsp
  400740:	4c 29 e5             	sub    %r12,%rbp
  400743:	41 89 fd             	mov    %edi,%r13d
  400746:	49 89 f6             	mov    %rsi,%r14
  400749:	48 c1 fd 03          	sar    $0x3,%rbp
  40074d:	49 89 d7             	mov    %rdx,%r15
  400750:	e8 bb fc ff ff       	callq  400410 <_init>
  400755:	48 85 ed             	test   %rbp,%rbp
  400758:	74 1c                	je     400776 <__libc_csu_init+0x66>
  40075a:	31 db                	xor    %ebx,%ebx
  40075c:	0f 1f 40 00          	nopl   0x0(%rax)
  400760:	4c 89 fa             	mov    %r15,%rdx
  400763:	4c 89 f6             	mov    %r14,%rsi
  400766:	44 89 ef             	mov    %r13d,%edi
  400769:	41 ff 14 dc          	callq  *(%r12,%rbx,8)
  40076d:	48 83 c3 01          	add    $0x1,%rbx
  400771:	48 39 eb             	cmp    %rbp,%rbx
  400774:	72 ea                	jb     400760 <__libc_csu_init+0x50>
  400776:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
  40077b:	48 8b 6c 24 10       	mov    0x10(%rsp),%rbp
  400780:	4c 8b 64 24 18       	mov    0x18(%rsp),%r12
  400785:	4c 8b 6c 24 20       	mov    0x20(%rsp),%r13
  40078a:	4c 8b 74 24 28       	mov    0x28(%rsp),%r14
  40078f:	4c 8b 7c 24 30       	mov    0x30(%rsp),%r15
  400794:	48 83 c4 38          	add    $0x38,%rsp
  400798:	c3                   	retq   
  400799:	90                   	nop
  40079a:	90                   	nop
  40079b:	90                   	nop
  40079c:	90                   	nop
  40079d:	90                   	nop
  40079e:	90                   	nop
  40079f:	90                   	nop

00000000004007a0 <__do_global_ctors_aux>:
  4007a0:	55                   	push   %rbp
  4007a1:	48 89 e5             	mov    %rsp,%rbp
  4007a4:	53                   	push   %rbx
  4007a5:	bb 38 09 60 00       	mov    $0x600938,%ebx
  4007aa:	48 83 ec 08          	sub    $0x8,%rsp
  4007ae:	48 8b 05 83 01 20 00 	mov    0x200183(%rip),%rax        # 600938 <__CTOR_LIST__>
  4007b5:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
  4007b9:	74 14                	je     4007cf <__do_global_ctors_aux+0x2f>
  4007bb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  4007c0:	48 83 eb 08          	sub    $0x8,%rbx
  4007c4:	ff d0                	callq  *%rax
  4007c6:	48 8b 03             	mov    (%rbx),%rax
  4007c9:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
  4007cd:	75 f1                	jne    4007c0 <__do_global_ctors_aux+0x20>
  4007cf:	48 83 c4 08          	add    $0x8,%rsp
  4007d3:	5b                   	pop    %rbx
  4007d4:	5d                   	pop    %rbp
  4007d5:	c3                   	retq   
  4007d6:	90                   	nop
  4007d7:	90                   	nop

Disassembly of section .fini:

00000000004007d8 <_fini>:
  4007d8:	48 83 ec 08          	sub    $0x8,%rsp
  4007dc:	e8 5f fd ff ff       	callq  400540 <__do_global_dtors_aux>
  4007e1:	48 83 c4 08          	add    $0x8,%rsp
  4007e5:	c3                   	retq   
