File: /~heha/hs/switch_mode.zip/Linux/switch_mode.lst

switch_mode:     file format elf64-x86-64


Disassembly of section .init:

0000000000400420 <_init>:
  400420:	48 83 ec 08          	sub    $0x8,%rsp
  400424:	48 8b 05 cd 0b 20 00 	mov    0x200bcd(%rip),%rax        # 600ff8 <__gmon_start__>
  40042b:	48 85 c0             	test   %rax,%rax
  40042e:	74 05                	je     400435 <_init+0x15>
  400430:	e8 4b 00 00 00       	callq  400480 <__gmon_start__@plt>
  400435:	48 83 c4 08          	add    $0x8,%rsp
  400439:	c3                   	retq   

Disassembly of section .plt:

0000000000400440 <.plt>:
  400440:	ff 35 c2 0b 20 00    	pushq  0x200bc2(%rip)        # 601008 <_GLOBAL_OFFSET_TABLE_+0x8>
  400446:	ff 25 c4 0b 20 00    	jmpq   *0x200bc4(%rip)        # 601010 <_GLOBAL_OFFSET_TABLE_+0x10>
  40044c:	0f 1f 40 00          	nopl   0x0(%rax)

0000000000400450 <printf@plt>:
  400450:	ff 25 c2 0b 20 00    	jmpq   *0x200bc2(%rip)        # 601018 <printf@GLIBC_2.2.5>
  400456:	68 00 00 00 00       	pushq  $0x0
  40045b:	e9 e0 ff ff ff       	jmpq   400440 <.plt>

0000000000400460 <__libc_start_main@plt>:
  400460:	ff 25 ba 0b 20 00    	jmpq   *0x200bba(%rip)        # 601020 <__libc_start_main@GLIBC_2.2.5>
  400466:	68 01 00 00 00       	pushq  $0x1
  40046b:	e9 d0 ff ff ff       	jmpq   400440 <.plt>

0000000000400470 <strtoull@plt>:
  400470:	ff 25 b2 0b 20 00    	jmpq   *0x200bb2(%rip)        # 601028 <strtoull@GLIBC_2.2.5>
  400476:	68 02 00 00 00       	pushq  $0x2
  40047b:	e9 c0 ff ff ff       	jmpq   400440 <.plt>

0000000000400480 <__gmon_start__@plt>:
  400480:	ff 25 aa 0b 20 00    	jmpq   *0x200baa(%rip)        # 601030 <__gmon_start__>
  400486:	68 03 00 00 00       	pushq  $0x3
  40048b:	e9 b0 ff ff ff       	jmpq   400440 <.plt>

Disassembly of section .text:

0000000000400490 <_start>:
  400490:	31 ed                	xor    %ebp,%ebp
  400492:	49 89 d1             	mov    %rdx,%r9
  400495:	5e                   	pop    %rsi
  400496:	48 89 e2             	mov    %rsp,%rdx
  400499:	48 83 e4 f0          	and    $0xfffffffffffffff0,%rsp
  40049d:	50                   	push   %rax
  40049e:	54                   	push   %rsp
  40049f:	49 c7 c0 c0 06 40 00 	mov    $0x4006c0,%r8
  4004a6:	48 c7 c1 50 06 40 00 	mov    $0x400650,%rcx
  4004ad:	48 c7 c7 7d 05 40 00 	mov    $0x40057d,%rdi
  4004b4:	e8 a7 ff ff ff       	callq  400460 <__libc_start_main@plt>
  4004b9:	f4                   	hlt    
  4004ba:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)

00000000004004c0 <deregister_tm_clones>:
  4004c0:	b8 57 11 60 00       	mov    $0x601157,%eax
  4004c5:	55                   	push   %rbp
  4004c6:	48 2d 50 11 60 00    	sub    $0x601150,%rax
  4004cc:	48 83 f8 0e          	cmp    $0xe,%rax
  4004d0:	48 89 e5             	mov    %rsp,%rbp
  4004d3:	77 02                	ja     4004d7 <deregister_tm_clones+0x17>
  4004d5:	5d                   	pop    %rbp
  4004d6:	c3                   	retq   
  4004d7:	b8 00 00 00 00       	mov    $0x0,%eax
  4004dc:	48 85 c0             	test   %rax,%rax
  4004df:	74 f4                	je     4004d5 <deregister_tm_clones+0x15>
  4004e1:	5d                   	pop    %rbp
  4004e2:	bf 50 11 60 00       	mov    $0x601150,%edi
  4004e7:	ff e0                	jmpq   *%rax
  4004e9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

00000000004004f0 <register_tm_clones>:
  4004f0:	b8 50 11 60 00       	mov    $0x601150,%eax
  4004f5:	55                   	push   %rbp
  4004f6:	48 2d 50 11 60 00    	sub    $0x601150,%rax
  4004fc:	48 c1 f8 03          	sar    $0x3,%rax
  400500:	48 89 e5             	mov    %rsp,%rbp
  400503:	48 89 c2             	mov    %rax,%rdx
  400506:	48 c1 ea 3f          	shr    $0x3f,%rdx
  40050a:	48 01 d0             	add    %rdx,%rax
  40050d:	48 d1 f8             	sar    %rax
  400510:	75 02                	jne    400514 <register_tm_clones+0x24>
  400512:	5d                   	pop    %rbp
  400513:	c3                   	retq   
  400514:	ba 00 00 00 00       	mov    $0x0,%edx
  400519:	48 85 d2             	test   %rdx,%rdx
  40051c:	74 f4                	je     400512 <register_tm_clones+0x22>
  40051e:	5d                   	pop    %rbp
  40051f:	48 89 c6             	mov    %rax,%rsi
  400522:	bf 50 11 60 00       	mov    $0x601150,%edi
  400527:	ff e2                	jmpq   *%rdx
  400529:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000400530 <__do_global_dtors_aux>:
  400530:	80 3d 19 0c 20 00 00 	cmpb   $0x0,0x200c19(%rip)        # 601150 <__TMC_END__>
  400537:	75 11                	jne    40054a <__do_global_dtors_aux+0x1a>
  400539:	55                   	push   %rbp
  40053a:	48 89 e5             	mov    %rsp,%rbp
  40053d:	e8 7e ff ff ff       	callq  4004c0 <deregister_tm_clones>
  400542:	5d                   	pop    %rbp
  400543:	c6 05 06 0c 20 00 01 	movb   $0x1,0x200c06(%rip)        # 601150 <__TMC_END__>
  40054a:	f3 c3                	repz retq 
  40054c:	0f 1f 40 00          	nopl   0x0(%rax)

0000000000400550 <frame_dummy>:
  400550:	48 83 3d c8 08 20 00 	cmpq   $0x0,0x2008c8(%rip)        # 600e20 <__JCR_END__>
  400557:	00 
  400558:	74 1e                	je     400578 <frame_dummy+0x28>
  40055a:	b8 00 00 00 00       	mov    $0x0,%eax
  40055f:	48 85 c0             	test   %rax,%rax
  400562:	74 14                	je     400578 <frame_dummy+0x28>
  400564:	55                   	push   %rbp
  400565:	bf 20 0e 60 00       	mov    $0x600e20,%edi
  40056a:	48 89 e5             	mov    %rsp,%rbp
  40056d:	ff d0                	callq  *%rax
  40056f:	5d                   	pop    %rbp
  400570:	e9 7b ff ff ff       	jmpq   4004f0 <register_tm_clones>
  400575:	0f 1f 00             	nopl   (%rax)
  400578:	e9 73 ff ff ff       	jmpq   4004f0 <register_tm_clones>

000000000040057d <main>:
  40057d:	55                   	push   %rbp
  40057e:	48 89 e5             	mov    %rsp,%rbp
  400581:	48 83 ec 20          	sub    $0x20,%rsp
  400585:	89 7d ec             	mov    %edi,-0x14(%rbp)
  400588:	48 89 75 e0          	mov    %rsi,-0x20(%rbp)
  40058c:	c7 45 fc 23 00 00 00 	movl   $0x23,-0x4(%rbp)
  400593:	83 7d ec 01          	cmpl   $0x1,-0x14(%rbp)
  400597:	7e 20                	jle    4005b9 <main+0x3c>
  400599:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
  40059d:	48 83 c0 08          	add    $0x8,%rax
  4005a1:	48 8b 00             	mov    (%rax),%rax
  4005a4:	ba 10 00 00 00       	mov    $0x10,%edx
  4005a9:	be 00 00 00 00       	mov    $0x0,%esi
  4005ae:	48 89 c7             	mov    %rax,%rdi
  4005b1:	e8 ba fe ff ff       	callq  400470 <strtoull@plt>
  4005b6:	89 45 fc             	mov    %eax,-0x4(%rbp)
  4005b9:	8b 45 fc             	mov    -0x4(%rbp),%eax
  4005bc:	89 c6                	mov    %eax,%esi
  4005be:	bf e0 06 40 00       	mov    $0x4006e0,%edi
  4005c3:	b8 00 00 00 00       	mov    $0x0,%eax
  4005c8:	e8 83 fe ff ff       	callq  400450 <printf@plt>
  4005cd:	8b 45 fc             	mov    -0x4(%rbp),%eax
  4005d0:	be 3b 06 40 00       	mov    $0x40063b,%esi
  4005d5:	89 c7                	mov    %eax,%edi
  4005d7:	e8 3a 00 00 00       	callq  400616 <switch_cs>
  4005dc:	88 45 fb             	mov    %al,-0x5(%rbp)
  4005df:	80 7d fb 00          	cmpb   $0x0,-0x5(%rbp)
  4005e3:	74 16                	je     4005fb <main+0x7e>
  4005e5:	8b 45 fc             	mov    -0x4(%rbp),%eax
  4005e8:	89 c6                	mov    %eax,%esi
  4005ea:	bf f3 06 40 00       	mov    $0x4006f3,%edi
  4005ef:	b8 00 00 00 00       	mov    $0x0,%eax
  4005f4:	e8 57 fe ff ff       	callq  400450 <printf@plt>
  4005f9:	eb 14                	jmp    40060f <main+0x92>
  4005fb:	8b 45 fc             	mov    -0x4(%rbp),%eax
  4005fe:	89 c6                	mov    %eax,%esi
  400600:	bf 09 07 40 00       	mov    $0x400709,%edi
  400605:	b8 00 00 00 00       	mov    $0x0,%eax
  40060a:	e8 41 fe ff ff       	callq  400450 <printf@plt>
  40060f:	b8 00 00 00 00       	mov    $0x0,%eax
  400614:	c9                   	leaveq 
  400615:	c3                   	retq   

0000000000400616 <switch_cs>:
  400616:	53                   	push   %rbx
  400617:	55                   	push   %rbp
  400618:	48 89 e5             	mov    %rsp,%rbp
  40061b:	48 83 ec 18          	sub    $0x18,%rsp
  40061f:	48 89 e3             	mov    %rsp,%rbx
  400622:	48 c7 03 38 06 40 00 	movq   $0x400638,(%rbx)
  400629:	89 7b 04             	mov    %edi,0x4(%rbx)
  40062c:	48 c7 c4 40 11 60 00 	mov    $0x601140,%rsp
  400633:	ff 1b                	lcall  *(%rbx)
  400635:	c9                   	leaveq 
  400636:	5b                   	pop    %rbx
  400637:	c3                   	retq   
  400638:	ff d6                	callq  *%rsi
  40063a:	cb                   	lret   

000000000040063b <check_mode>:
  40063b:	31 c0                	xor    %eax,%eax
  40063d:	48 85 c0             	test   %rax,%rax
  400640:	0f 94 c0             	sete   %al
  400643:	c3                   	retq   
  400644:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  40064b:	00 00 00 
  40064e:	66 90                	xchg   %ax,%ax

0000000000400650 <__libc_csu_init>:
  400650:	41 57                	push   %r15
  400652:	41 89 ff             	mov    %edi,%r15d
  400655:	41 56                	push   %r14
  400657:	49 89 f6             	mov    %rsi,%r14
  40065a:	41 55                	push   %r13
  40065c:	49 89 d5             	mov    %rdx,%r13
  40065f:	41 54                	push   %r12
  400661:	4c 8d 25 a8 07 20 00 	lea    0x2007a8(%rip),%r12        # 600e10 <__frame_dummy_init_array_entry>
  400668:	55                   	push   %rbp
  400669:	48 8d 2d a8 07 20 00 	lea    0x2007a8(%rip),%rbp        # 600e18 <__init_array_end>
  400670:	53                   	push   %rbx
  400671:	4c 29 e5             	sub    %r12,%rbp
  400674:	31 db                	xor    %ebx,%ebx
  400676:	48 c1 fd 03          	sar    $0x3,%rbp
  40067a:	48 83 ec 08          	sub    $0x8,%rsp
  40067e:	e8 9d fd ff ff       	callq  400420 <_init>
  400683:	48 85 ed             	test   %rbp,%rbp
  400686:	74 1e                	je     4006a6 <__libc_csu_init+0x56>
  400688:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
  40068f:	00 
  400690:	4c 89 ea             	mov    %r13,%rdx
  400693:	4c 89 f6             	mov    %r14,%rsi
  400696:	44 89 ff             	mov    %r15d,%edi
  400699:	41 ff 14 dc          	callq  *(%r12,%rbx,8)
  40069d:	48 83 c3 01          	add    $0x1,%rbx
  4006a1:	48 39 eb             	cmp    %rbp,%rbx
  4006a4:	75 ea                	jne    400690 <__libc_csu_init+0x40>
  4006a6:	48 83 c4 08          	add    $0x8,%rsp
  4006aa:	5b                   	pop    %rbx
  4006ab:	5d                   	pop    %rbp
  4006ac:	41 5c                	pop    %r12
  4006ae:	41 5d                	pop    %r13
  4006b0:	41 5e                	pop    %r14
  4006b2:	41 5f                	pop    %r15
  4006b4:	c3                   	retq   
  4006b5:	90                   	nop
  4006b6:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  4006bd:	00 00 00 

00000000004006c0 <__libc_csu_fini>:
  4006c0:	f3 c3                	repz retq 

Disassembly of section .fini:

00000000004006c4 <_fini>:
  4006c4:	48 83 ec 08          	sub    $0x8,%rsp
  4006c8:	48 83 c4 08          	add    $0x8,%rsp
  4006cc:	c3                   	retq   
Detected encoding: ASCII (7 bit)2