
control:     file format elf64-x86-64


Disassembly of section .init:

00000000004003d0 <_init>:
  4003d0:	48 83 ec 08          	sub    $0x8,%rsp
  4003d4:	e8 83 00 00 00       	callq  40045c <call_gmon_start>
  4003d9:	e8 82 01 00 00       	callq  400560 <frame_dummy>
  4003de:	e8 0d 03 00 00       	callq  4006f0 <__do_global_ctors_aux>
  4003e3:	48 83 c4 08          	add    $0x8,%rsp
  4003e7:	c3                   	retq   

Disassembly of section .plt:

00000000004003e8 <printf@plt-0x10>:
  4003e8:	ff 35 8a 06 20 00    	pushq  0x20068a(%rip)        # 600a78 <_GLOBAL_OFFSET_TABLE_+0x8>
  4003ee:	ff 25 8c 06 20 00    	jmpq   *0x20068c(%rip)        # 600a80 <_GLOBAL_OFFSET_TABLE_+0x10>
  4003f4:	0f 1f 40 00          	nopl   0x0(%rax)

00000000004003f8 <printf@plt>:
  4003f8:	ff 25 8a 06 20 00    	jmpq   *0x20068a(%rip)        # 600a88 <_GLOBAL_OFFSET_TABLE_+0x18>
  4003fe:	68 00 00 00 00       	pushq  $0x0
  400403:	e9 e0 ff ff ff       	jmpq   4003e8 <_init+0x18>

0000000000400408 <__libc_start_main@plt>:
  400408:	ff 25 82 06 20 00    	jmpq   *0x200682(%rip)        # 600a90 <_GLOBAL_OFFSET_TABLE_+0x20>
  40040e:	68 01 00 00 00       	pushq  $0x1
  400413:	e9 d0 ff ff ff       	jmpq   4003e8 <_init+0x18>

0000000000400418 <strtol@plt>:
  400418:	ff 25 7a 06 20 00    	jmpq   *0x20067a(%rip)        # 600a98 <_GLOBAL_OFFSET_TABLE_+0x28>
  40041e:	68 02 00 00 00       	pushq  $0x2
  400423:	e9 c0 ff ff ff       	jmpq   4003e8 <_init+0x18>

Disassembly of section .text:

0000000000400430 <_start>:
  400430:	31 ed                	xor    %ebp,%ebp
  400432:	49 89 d1             	mov    %rdx,%r9
  400435:	5e                   	pop    %rsi
  400436:	48 89 e2             	mov    %rsp,%rdx
  400439:	48 83 e4 f0          	and    $0xfffffffffffffff0,%rsp
  40043d:	50                   	push   %rax
  40043e:	54                   	push   %rsp
  40043f:	49 c7 c0 50 06 40 00 	mov    $0x400650,%r8
  400446:	48 c7 c1 60 06 40 00 	mov    $0x400660,%rcx
  40044d:	48 c7 c7 e0 05 40 00 	mov    $0x4005e0,%rdi
  400454:	e8 af ff ff ff       	callq  400408 <__libc_start_main@plt>
  400459:	f4                   	hlt    
  40045a:	90                   	nop
  40045b:	90                   	nop

000000000040045c <call_gmon_start>:
  40045c:	48 83 ec 08          	sub    $0x8,%rsp
  400460:	48 8b 05 01 06 20 00 	mov    0x200601(%rip),%rax        # 600a68 <_DYNAMIC+0x190>
  400467:	48 85 c0             	test   %rax,%rax
  40046a:	74 02                	je     40046e <call_gmon_start+0x12>
  40046c:	ff d0                	callq  *%rax
  40046e:	48 83 c4 08          	add    $0x8,%rsp
  400472:	c3                   	retq   
  400473:	90                   	nop
  400474:	90                   	nop
  400475:	90                   	nop
  400476:	90                   	nop
  400477:	90                   	nop
  400478:	90                   	nop
  400479:	90                   	nop
  40047a:	90                   	nop
  40047b:	90                   	nop
  40047c:	90                   	nop
  40047d:	90                   	nop
  40047e:	90                   	nop
  40047f:	90                   	nop

0000000000400480 <deregister_tm_clones>:
  400480:	b8 b7 0a 60 00       	mov    $0x600ab7,%eax
  400485:	55                   	push   %rbp
  400486:	48 2d b0 0a 60 00    	sub    $0x600ab0,%rax
  40048c:	48 83 f8 0e          	cmp    $0xe,%rax
  400490:	48 89 e5             	mov    %rsp,%rbp
  400493:	77 02                	ja     400497 <deregister_tm_clones+0x17>
  400495:	5d                   	pop    %rbp
  400496:	c3                   	retq   
  400497:	b8 00 00 00 00       	mov    $0x0,%eax
  40049c:	48 85 c0             	test   %rax,%rax
  40049f:	74 f4                	je     400495 <deregister_tm_clones+0x15>
  4004a1:	5d                   	pop    %rbp
  4004a2:	bf b0 0a 60 00       	mov    $0x600ab0,%edi
  4004a7:	ff e0                	jmpq   *%rax
  4004a9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

00000000004004b0 <register_tm_clones>:
  4004b0:	b8 b0 0a 60 00       	mov    $0x600ab0,%eax
  4004b5:	55                   	push   %rbp
  4004b6:	48 2d b0 0a 60 00    	sub    $0x600ab0,%rax
  4004bc:	48 c1 f8 03          	sar    $0x3,%rax
  4004c0:	48 89 e5             	mov    %rsp,%rbp
  4004c3:	48 89 c2             	mov    %rax,%rdx
  4004c6:	48 c1 ea 3f          	shr    $0x3f,%rdx
  4004ca:	48 01 d0             	add    %rdx,%rax
  4004cd:	48 d1 f8             	sar    %rax
  4004d0:	75 02                	jne    4004d4 <register_tm_clones+0x24>
  4004d2:	5d                   	pop    %rbp
  4004d3:	c3                   	retq   
  4004d4:	ba 00 00 00 00       	mov    $0x0,%edx
  4004d9:	48 85 d2             	test   %rdx,%rdx
  4004dc:	74 f4                	je     4004d2 <register_tm_clones+0x22>
  4004de:	5d                   	pop    %rbp
  4004df:	48 89 c6             	mov    %rax,%rsi
  4004e2:	bf b0 0a 60 00       	mov    $0x600ab0,%edi
  4004e7:	ff e2                	jmpq   *%rdx
  4004e9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

00000000004004f0 <__do_global_dtors_aux>:
  4004f0:	80 3d b9 05 20 00 00 	cmpb   $0x0,0x2005b9(%rip)        # 600ab0 <__bss_start>
  4004f7:	75 5f                	jne    400558 <__do_global_dtors_aux+0x68>
  4004f9:	55                   	push   %rbp
  4004fa:	48 89 e5             	mov    %rsp,%rbp
  4004fd:	53                   	push   %rbx
  4004fe:	bb c8 08 60 00       	mov    $0x6008c8,%ebx
  400503:	48 81 eb c0 08 60 00 	sub    $0x6008c0,%rbx
  40050a:	48 83 ec 08          	sub    $0x8,%rsp
  40050e:	48 8b 05 a3 05 20 00 	mov    0x2005a3(%rip),%rax        # 600ab8 <dtor_idx.6302>
  400515:	48 c1 fb 03          	sar    $0x3,%rbx
  400519:	48 83 eb 01          	sub    $0x1,%rbx
  40051d:	48 39 d8             	cmp    %rbx,%rax
  400520:	73 24                	jae    400546 <__do_global_dtors_aux+0x56>
  400522:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  400528:	48 83 c0 01          	add    $0x1,%rax
  40052c:	48 89 05 85 05 20 00 	mov    %rax,0x200585(%rip)        # 600ab8 <dtor_idx.6302>
  400533:	ff 14 c5 c0 08 60 00 	callq  *0x6008c0(,%rax,8)
  40053a:	48 8b 05 77 05 20 00 	mov    0x200577(%rip),%rax        # 600ab8 <dtor_idx.6302>
  400541:	48 39 d8             	cmp    %rbx,%rax
  400544:	72 e2                	jb     400528 <__do_global_dtors_aux+0x38>
  400546:	e8 35 ff ff ff       	callq  400480 <deregister_tm_clones>
  40054b:	c6 05 5e 05 20 00 01 	movb   $0x1,0x20055e(%rip)        # 600ab0 <__bss_start>
  400552:	48 83 c4 08          	add    $0x8,%rsp
  400556:	5b                   	pop    %rbx
  400557:	5d                   	pop    %rbp
  400558:	c3                   	retq   
  400559:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000400560 <frame_dummy>:
  400560:	48 83 3d 68 03 20 00 	cmpq   $0x0,0x200368(%rip)        # 6008d0 <__JCR_END__>
  400567:	00 
  400568:	74 1e                	je     400588 <frame_dummy+0x28>
  40056a:	b8 00 00 00 00       	mov    $0x0,%eax
  40056f:	48 85 c0             	test   %rax,%rax
  400572:	74 14                	je     400588 <frame_dummy+0x28>
  400574:	55                   	push   %rbp
  400575:	bf d0 08 60 00       	mov    $0x6008d0,%edi
  40057a:	48 89 e5             	mov    %rsp,%rbp
  40057d:	ff d0                	callq  *%rax
  40057f:	5d                   	pop    %rbp
  400580:	e9 2b ff ff ff       	jmpq   4004b0 <register_tm_clones>
  400585:	0f 1f 00             	nopl   (%rax)
  400588:	e9 23 ff ff ff       	jmpq   4004b0 <register_tm_clones>
  40058d:	90                   	nop
  40058e:	90                   	nop
  40058f:	90                   	nop

0000000000400590 <gt>:
  400590:	48 39 f7             	cmp    %rsi,%rdi
  400593:	0f 9f c0             	setg   %al
  400596:	0f b6 c0             	movzbl %al,%eax
  400599:	c3                   	retq   

000000000040059a <zero>:
  40059a:	48 85 ff             	test   %rdi,%rdi
  40059d:	0f 94 c0             	sete   %al
  4005a0:	0f b6 c0             	movzbl %al,%eax
  4005a3:	c3                   	retq   

00000000004005a4 <absdiff>:
  4005a4:	48 89 f8             	mov    %rdi,%rax
  4005a7:	48 29 f0             	sub    %rsi,%rax
  4005aa:	48 89 f2             	mov    %rsi,%rdx
  4005ad:	48 29 fa             	sub    %rdi,%rdx
  4005b0:	48 39 f7             	cmp    %rsi,%rdi
  4005b3:	48 0f 4e c2          	cmovle %rdx,%rax
  4005b7:	c3                   	retq   

00000000004005b8 <absdiff_j>:
  4005b8:	48 89 f8             	mov    %rdi,%rax
  4005bb:	48 29 f0             	sub    %rsi,%rax
  4005be:	48 89 f2             	mov    %rsi,%rdx
  4005c1:	48 29 fa             	sub    %rdi,%rdx
  4005c4:	48 39 f7             	cmp    %rsi,%rdi
  4005c7:	48 0f 4e c2          	cmovle %rdx,%rax
  4005cb:	c3                   	retq   

00000000004005cc <absdiff_cm>:
  4005cc:	48 89 f8             	mov    %rdi,%rax
  4005cf:	48 29 f0             	sub    %rsi,%rax
  4005d2:	48 89 f2             	mov    %rsi,%rdx
  4005d5:	48 29 fa             	sub    %rdi,%rdx
  4005d8:	48 39 f7             	cmp    %rsi,%rdi
  4005db:	48 0f 4e c2          	cmovle %rdx,%rax
  4005df:	c3                   	retq   

00000000004005e0 <main>:
  4005e0:	55                   	push   %rbp
  4005e1:	53                   	push   %rbx
  4005e2:	48 83 ec 08          	sub    $0x8,%rsp
  4005e6:	48 89 f5             	mov    %rsi,%rbp
  4005e9:	48 8b 7e 08          	mov    0x8(%rsi),%rdi
  4005ed:	ba 0a 00 00 00       	mov    $0xa,%edx
  4005f2:	be 00 00 00 00       	mov    $0x0,%esi
  4005f7:	e8 1c fe ff ff       	callq  400418 <strtol@plt>
  4005fc:	48 89 c3             	mov    %rax,%rbx
  4005ff:	48 8b 7d 10          	mov    0x10(%rbp),%rdi
  400603:	ba 0a 00 00 00       	mov    $0xa,%edx
  400608:	be 00 00 00 00       	mov    $0x0,%esi
  40060d:	e8 06 fe ff ff       	callq  400418 <strtol@plt>
  400612:	48 89 c5             	mov    %rax,%rbp
  400615:	48 63 f0             	movslq %eax,%rsi
  400618:	48 63 fb             	movslq %ebx,%rdi
  40061b:	e8 84 ff ff ff       	callq  4005a4 <absdiff>
  400620:	89 c1                	mov    %eax,%ecx
  400622:	89 ea                	mov    %ebp,%edx
  400624:	89 de                	mov    %ebx,%esi
  400626:	bf 40 07 40 00       	mov    $0x400740,%edi
  40062b:	b8 00 00 00 00       	mov    $0x0,%eax
  400630:	e8 c3 fd ff ff       	callq  4003f8 <printf@plt>
  400635:	b8 00 00 00 00       	mov    $0x0,%eax
  40063a:	48 83 c4 08          	add    $0x8,%rsp
  40063e:	5b                   	pop    %rbx
  40063f:	5d                   	pop    %rbp
  400640:	c3                   	retq   
  400641:	90                   	nop
  400642:	90                   	nop
  400643:	90                   	nop
  400644:	90                   	nop
  400645:	90                   	nop
  400646:	90                   	nop
  400647:	90                   	nop
  400648:	90                   	nop
  400649:	90                   	nop
  40064a:	90                   	nop
  40064b:	90                   	nop
  40064c:	90                   	nop
  40064d:	90                   	nop
  40064e:	90                   	nop
  40064f:	90                   	nop

0000000000400650 <__libc_csu_fini>:
  400650:	f3 c3                	repz retq 
  400652:	66 66 66 66 66 2e 0f 	data32 data32 data32 data32 nopw %cs:0x0(%rax,%rax,1)
  400659:	1f 84 00 00 00 00 00 

0000000000400660 <__libc_csu_init>:
  400660:	48 89 6c 24 d8       	mov    %rbp,-0x28(%rsp)
  400665:	4c 89 64 24 e0       	mov    %r12,-0x20(%rsp)
  40066a:	48 8d 2d 3b 02 20 00 	lea    0x20023b(%rip),%rbp        # 6008ac <__init_array_end>
  400671:	4c 8d 25 34 02 20 00 	lea    0x200234(%rip),%r12        # 6008ac <__init_array_end>
  400678:	4c 89 6c 24 e8       	mov    %r13,-0x18(%rsp)
  40067d:	4c 89 74 24 f0       	mov    %r14,-0x10(%rsp)
  400682:	4c 89 7c 24 f8       	mov    %r15,-0x8(%rsp)
  400687:	48 89 5c 24 d0       	mov    %rbx,-0x30(%rsp)
  40068c:	48 83 ec 38          	sub    $0x38,%rsp
  400690:	4c 29 e5             	sub    %r12,%rbp
  400693:	41 89 fd             	mov    %edi,%r13d
  400696:	49 89 f6             	mov    %rsi,%r14
  400699:	48 c1 fd 03          	sar    $0x3,%rbp
  40069d:	49 89 d7             	mov    %rdx,%r15
  4006a0:	e8 2b fd ff ff       	callq  4003d0 <_init>
  4006a5:	48 85 ed             	test   %rbp,%rbp
  4006a8:	74 1c                	je     4006c6 <__libc_csu_init+0x66>
  4006aa:	31 db                	xor    %ebx,%ebx
  4006ac:	0f 1f 40 00          	nopl   0x0(%rax)
  4006b0:	4c 89 fa             	mov    %r15,%rdx
  4006b3:	4c 89 f6             	mov    %r14,%rsi
  4006b6:	44 89 ef             	mov    %r13d,%edi
  4006b9:	41 ff 14 dc          	callq  *(%r12,%rbx,8)
  4006bd:	48 83 c3 01          	add    $0x1,%rbx
  4006c1:	48 39 eb             	cmp    %rbp,%rbx
  4006c4:	72 ea                	jb     4006b0 <__libc_csu_init+0x50>
  4006c6:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
  4006cb:	48 8b 6c 24 10       	mov    0x10(%rsp),%rbp
  4006d0:	4c 8b 64 24 18       	mov    0x18(%rsp),%r12
  4006d5:	4c 8b 6c 24 20       	mov    0x20(%rsp),%r13
  4006da:	4c 8b 74 24 28       	mov    0x28(%rsp),%r14
  4006df:	4c 8b 7c 24 30       	mov    0x30(%rsp),%r15
  4006e4:	48 83 c4 38          	add    $0x38,%rsp
  4006e8:	c3                   	retq   
  4006e9:	90                   	nop
  4006ea:	90                   	nop
  4006eb:	90                   	nop
  4006ec:	90                   	nop
  4006ed:	90                   	nop
  4006ee:	90                   	nop
  4006ef:	90                   	nop

00000000004006f0 <__do_global_ctors_aux>:
  4006f0:	55                   	push   %rbp
  4006f1:	48 89 e5             	mov    %rsp,%rbp
  4006f4:	53                   	push   %rbx
  4006f5:	bb b0 08 60 00       	mov    $0x6008b0,%ebx
  4006fa:	48 83 ec 08          	sub    $0x8,%rsp
  4006fe:	48 8b 05 ab 01 20 00 	mov    0x2001ab(%rip),%rax        # 6008b0 <__CTOR_LIST__>
  400705:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
  400709:	74 14                	je     40071f <__do_global_ctors_aux+0x2f>
  40070b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  400710:	48 83 eb 08          	sub    $0x8,%rbx
  400714:	ff d0                	callq  *%rax
  400716:	48 8b 03             	mov    (%rbx),%rax
  400719:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
  40071d:	75 f1                	jne    400710 <__do_global_ctors_aux+0x20>
  40071f:	48 83 c4 08          	add    $0x8,%rsp
  400723:	5b                   	pop    %rbx
  400724:	5d                   	pop    %rbp
  400725:	c3                   	retq   
  400726:	90                   	nop
  400727:	90                   	nop

Disassembly of section .fini:

0000000000400728 <_fini>:
  400728:	48 83 ec 08          	sub    $0x8,%rsp
  40072c:	e8 bf fd ff ff       	callq  4004f0 <__do_global_dtors_aux>
  400731:	48 83 c4 08          	add    $0x8,%rsp
  400735:	c3                   	retq   
