14000a56b:	00
14000a56c:	74 7e                	je     0x14000a5ec
14000a56e:	e8 7d f1 ff ff       	call   0x1400096f0
14000a573:	84 c0                	test   %al,%al
14000a575:	74 75                	je     0x14000a5ec
14000a577:	48 85 f6             	test   %rsi,%rsi
14000a57a:	75 05                	jne    0x14000a581
14000a57c:	83 fd 01             	cmp    $0x1,%ebp
14000a57f:	74 16                	je     0x14000a597
14000a581:	48 8b 8f 80 00 00 00 	mov    0x80(%rdi),%rcx
14000a588:	44 8b c5             	mov    %ebp,%r8d
14000a58b:	48 8b d6             	mov    %rsi,%rdx
14000a58e:	e8 a5 8b 00 00       	call   0x140013138
14000a593:	85 c0                	test   %eax,%eax
14000a595:	75 55                	jne    0x14000a5ec
14000a597:	48 8b 8f 80 00 00 00 	mov    0x80(%rdi),%rcx
14000a59e:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
14000a5a3:	e8 70 84 00 00       	call   0x140012a18
14000a5a8:	85 c0                	test   %eax,%eax
14000a5aa:	75 40                	jne    0x14000a5ec
14000a5ac:	48 8b 47 18          	mov    0x18(%rdi),%rax
14000a5b0:	4c 39 30             	cmp    %r14,(%rax)
14000a5b3:	75 24                	jne    0x14000a5d9
14000a5b5:	48 8b 8f 88 00 00 00 	mov    0x88(%rdi),%rcx
14000a5bc:	48 8b 97 90 00 00 00 	mov    0x90(%rdi),%rdx
14000a5c3:	48 89 08             	mov    %rcx,(%rax)
14000a5c6:	48 2b d1             	sub    %rcx,%rdx
14000a5c9:	48 8b 47 38          	mov    0x38(%rdi),%rax
14000a5cd:	48 d1 fa             	sar    $1,%rdx
14000a5d0:	48 89 08             	mov    %rcx,(%rax)
14000a5d3:	48 8b 47 50          	mov    0x50(%rdi),%rax
14000a5d7:	89 10                	mov    %edx,(%rax)
14000a5d9:	48 8b 47 74          	mov    0x74(%rdi),%rax
14000a5dd:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
14000a5e2:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
14000a5e7:	48 89 0b             	mov    %rcx,(%rbx)
14000a5ea:	eb 0b                	jmp    0x14000a5f7
14000a5ec:	48 83 0b ff          	orq    $0xffffffffffffffff,(%rbx)
14000a5f0:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
14000a5f5:	33 c0                	xor    %eax,%eax
14000a5f7:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
14000a5fc:	48 89 43 10          	mov    %rax,0x10(%rbx)
14000a600:	48 8b c3             	mov    %rbx,%rax
14000a603:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14000a608:	48 83 c4 20          	add    $0x20,%rsp
14000a60c:	41 5e                	pop    %r14
14000a60e:	5f                   	pop    %rdi
14000a60f:	5e                   	pop    %rsi
14000a610:	c3                   	ret
14000a611:	cc                   	int3
14000a612:	cc                   	int3
14000a613:	cc                   	int3
14000a614:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14000a619:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14000a61e:	57                   	push   %rdi
14000a61f:	48 83 ec 20          	sub    $0x20,%rsp
14000a623:	49 8b 40 08          	mov    0x8(%r8),%rax
14000a627:	49 8b f0             	mov    %r8,%rsi
14000a62a:	49 03 00             	add    (%r8),%rax
14000a62d:	48 8b da             	mov    %rdx,%rbx
14000a630:	48 83 b9 80 00 00 00 	cmpq   $0x0,0x80(%rcx)
14000a637:	00
14000a638:	48 8b f9             	mov    %rcx,%rdi
14000a63b:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14000a640:	74 6e                	je     0x14000a6b0
14000a642:	e8 a9 f0 ff ff       	call   0x1400096f0
14000a647:	84 c0                	test   %al,%al
14000a649:	74 65                	je     0x14000a6b0
14000a64b:	48 8b 8f 80 00 00 00 	mov    0x80(%rdi),%rcx
14000a652:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
14000a657:	e8 9c 88 00 00       	call   0x140012ef8
14000a65c:	85 c0                	test   %eax,%eax
14000a65e:	75 50                	jne    0x14000a6b0
14000a660:	4c 8b 47 18          	mov    0x18(%rdi),%r8
14000a664:	48 8d 47 70          	lea    0x70(%rdi),%rax
14000a668:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
14000a66c:	48 89 4f 74          	mov    %rcx,0x74(%rdi)
14000a670:	49 39 00             	cmp    %rax,(%r8)
14000a673:	75 28                	jne    0x14000a69d
14000a675:	48 8b 8f 88 00 00 00 	mov    0x88(%rdi),%rcx
14000a67c:	48 8b 97 90 00 00 00 	mov    0x90(%rdi),%rdx
14000a683:	49 89 08             	mov    %rcx,(%r8)
14000a686:	48 2b d1             	sub    %rcx,%rdx
14000a689:	48 8b 47 38          	mov    0x38(%rdi),%rax
14000a68d:	48 d1 fa             	sar    $1,%rdx
14000a690:	48 89 08             	mov    %rcx,(%rax)
14000a693:	48 8b 47 50          	mov    0x50(%rdi),%rax
14000a697:	89 10                	mov    %edx,(%rax)
14000a699:	48 8b 4f 74          	mov    0x74(%rdi),%rcx
14000a69d:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
14000a6a2:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
14000a6a7:	48 89 03             	mov    %rax,(%rbx)
14000a6aa:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
14000a6ae:	eb 0f                	jmp    0x14000a6bf
14000a6b0:	48 83 0b ff          	orq    $0xffffffffffffffff,(%rbx)
14000a6b4:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
14000a6b9:	33 c0                	xor    %eax,%eax
14000a6bb:	48 89 43 10          	mov    %rax,0x10(%rbx)
14000a6bf:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14000a6c4:	48 8b c3             	mov    %rbx,%rax
14000a6c7:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14000a6cc:	48 83 c4 20          	add    $0x20,%rsp
14000a6d0:	5f                   	pop    %rdi
14000a6d1:	c3                   	ret
14000a6d2:	cc                   	int3
14000a6d3:	cc                   	int3
14000a6d4:	40 53                	rex push %rbx
14000a6d6:	48 83 ec 20          	sub    $0x20,%rsp
14000a6da:	48 8b d9             	mov    %rcx,%rbx
14000a6dd:	4d 8b c8             	mov    %r8,%r9
14000a6e0:	48 8b 89 80 00 00 00 	mov    0x80(%rcx),%rcx
14000a6e7:	48 85 c9             	test   %rcx,%rcx
14000a6ea:	0f 84 a7 00 00 00    	je     0x14000a797
14000a6f0:	48 85 d2             	test   %rdx,%rdx
14000a6f3:	75 0b                	jne    0x14000a700
14000a6f5:	4d 85 c0             	test   %r8,%r8
14000a6f8:	75 06                	jne    0x14000a700
14000a6fa:	45 8d 41 04          	lea    0x4(%r9),%r8d
14000a6fe:	eb 03                	jmp    0x14000a703
14000a700:	45 33 c0             	xor    %r8d,%r8d
14000a703:	4d 03 c9             	add    %r9,%r9
14000a706:	e8 55 64 00 00       	call   0x140010b60
14000a70b:	85 c0                	test   %eax,%eax
14000a70d:	0f 85 84 00 00 00    	jne    0x14000a797
14000a713:	48 8b 93 80 00 00 00 	mov    0x80(%rbx),%rdx
14000a71a:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
14000a71e:	88 43 72             	mov    %al,0x72(%rbx)
14000a721:	48 8d 43 08          	lea    0x8(%rbx),%rax
14000a725:	48 89 43 18          	mov    %rax,0x18(%rbx)
14000a729:	48 8d 43 28          	lea    0x28(%rbx),%rax
14000a72d:	48 89 43 38          	mov    %rax,0x38(%rbx)
14000a731:	48 8d 43 30          	lea    0x30(%rbx),%rax
14000a735:	48 89 43 40          	mov    %rax,0x40(%rbx)
14000a739:	48 8d 43 48          	lea    0x48(%rbx),%rax
14000a73d:	48 89 43 50          	mov    %rax,0x50(%rbx)
14000a741:	48 8d 43 4c          	lea    0x4c(%rbx),%rax
14000a745:	48 89 43 58          	mov    %rax,0x58(%rbx)
14000a749:	c6 43 7c 01          	movb   $0x1,0x7c(%rbx)
14000a74d:	48 89 4b 20          	mov    %rcx,0x20(%rbx)
14000a751:	48 83 21 00          	andq   $0x0,(%rcx)
14000a755:	48 8b 43 40          	mov    0x40(%rbx),%rax
14000a759:	48 83 20 00          	andq   $0x0,(%rax)
14000a75d:	48 8b 43 58          	mov    0x58(%rbx),%rax
14000a761:	83 20 00             	andl   $0x0,(%rax)
14000a764:	48 8b 43 18          	mov    0x18(%rbx),%rax
14000a768:	48 83 20 00          	andq   $0x0,(%rax)
14000a76c:	48 8b 43 38          	mov    0x38(%rbx),%rax
14000a770:	48 83 20 00          	andq   $0x0,(%rax)
14000a774:	48 8b 43 50          	mov    0x50(%rbx),%rax
14000a778:	83 20 00             	andl   $0x0,(%rax)
14000a77b:	48 89 93 80 00 00 00 	mov    %rdx,0x80(%rbx)
14000a782:	48 8b 05 0f b1 03 00 	mov    0x3b10f(%rip),%rax        # 0x140045898
14000a789:	48 83 63 68 00       	andq   $0x0,0x68(%rbx)
14000a78e:	48 89 43 74          	mov    %rax,0x74(%rbx)
14000a792:	48 8b c3             	mov    %rbx,%rax
14000a795:	eb 02                	jmp    0x14000a799
14000a797:	33 c0                	xor    %eax,%eax
14000a799:	48 83 c4 20          	add    $0x20,%rsp
14000a79d:	5b                   	pop    %rbx
14000a79e:	c3                   	ret
14000a79f:	cc                   	int3
14000a7a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14000a7a5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14000a7aa:	57                   	push   %rdi
14000a7ab:	48 83 ec 20          	sub    $0x20,%rsp
14000a7af:	33 db                	xor    %ebx,%ebx
14000a7b1:	48 8b f9             	mov    %rcx,%rdi
14000a7b4:	48 39 99 80 00 00 00 	cmp    %rbx,0x80(%rcx)
14000a7bb:	74 2c                	je     0x14000a7e9
14000a7bd:	48 8b 01             	mov    (%rcx),%rax
14000a7c0:	be ff ff 00 00       	mov    $0xffff,%esi
14000a7c5:	8b d6                	mov    %esi,%edx
14000a7c7:	48 8b 40 18          	mov    0x18(%rax),%rax
14000a7cb:	ff 15 47 1b 02 00    	call   *0x21b47(%rip)        # 0x14002c318
14000a7d1:	66 3b f0             	cmp    %ax,%si
14000a7d4:	74 13                	je     0x14000a7e9
14000a7d6:	48 8b 8f 80 00 00 00 	mov    0x80(%rdi),%rcx
14000a7dd:	e8 7a 80 00 00       	call   0x14001285c
14000a7e2:	85 c0                	test   %eax,%eax
14000a7e4:	79 03                	jns    0x14000a7e9
14000a7e6:	83 cb ff             	or     $0xffffffff,%ebx
14000a7e9:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14000a7ee:	8b c3                	mov    %ebx,%eax
14000a7f0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14000a7f5:	48 83 c4 20          	add    $0x20,%rsp
14000a7f9:	5f                   	pop    %rdi
14000a7fa:	c3                   	ret
14000a7fb:	cc                   	int3
14000a7fc:	48 8b c4             	mov    %rsp,%rax
14000a7ff:	55                   	push   %rbp
14000a800:	48 8d 68 a1          	lea    -0x5f(%rax),%rbp
14000a804:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
14000a80b:	48 c7 45 1f fe ff ff 	movq   $0xfffffffffffffffe,0x1f(%rbp)
14000a812:	ff
14000a813:	48 89 58 10          	mov    %rbx,0x10(%rax)
14000a817:	48 89 78 18          	mov    %rdi,0x18(%rax)
14000a81b:	48 8b 05 5e 98 03 00 	mov    0x3985e(%rip),%rax        # 0x140044080
14000a822:	48 33 c4             	xor    %rsp,%rax
14000a825:	48 89 45 47          	mov    %rax,0x47(%rbp)
14000a829:	48 8b d9             	mov    %rcx,%rbx
14000a82c:	48 8b 41 38          	mov    0x38(%rcx),%rax
14000a830:	48 8b 10             	mov    (%rax),%rdx
14000a833:	48 85 d2             	test   %rdx,%rdx
14000a836:	74 30                	je     0x14000a868
14000a838:	4c 8b 41 50          	mov    0x50(%rcx),%r8
14000a83c:	4d 63 08             	movslq (%r8),%r9
14000a83f:	49 8b c1             	mov    %r9,%rax
14000a842:	4a 8d 0c 4a          	lea    (%rdx,%r9,2),%rcx
14000a846:	48 3b d1             	cmp    %rcx,%rdx
14000a849:	73 1d                	jae    0x14000a868
14000a84b:	41 8d 41 ff          	lea    -0x1(%r9),%eax
14000a84f:	41 89 00             	mov    %eax,(%r8)
14000a852:	48 8b 53 38          	mov    0x38(%rbx),%rdx
14000a856:	48 8b 02             	mov    (%rdx),%rax
14000a859:	48 8d 48 02          	lea    0x2(%rax),%rcx
14000a85d:	48 89 0a             	mov    %rcx,(%rdx)
14000a860:	0f b7 00             	movzwl (%rax),%eax
14000a863:	e9 ca 01 00 00       	jmp    0x14000aa32
14000a868:	48 83 bb 80 00 00 00 	cmpq   $0x0,0x80(%rbx)
14000a86f:	00
14000a870:	75 0a                	jne    0x14000a87c
14000a872:	b8 ff ff 00 00       	mov    $0xffff,%eax
14000a877:	e9 b6 01 00 00       	jmp    0x14000aa32
14000a87c:	4c 8b 43 18          	mov    0x18(%rbx),%r8
14000a880:	48 8d 43 70          	lea    0x70(%rbx),%rax
14000a884:	49 39 00             	cmp    %rax,(%r8)
14000a887:	75 24                	jne    0x14000a8ad
14000a889:	48 8b 93 90 00 00 00 	mov    0x90(%rbx),%rdx
14000a890:	48 8b 8b 88 00 00 00 	mov    0x88(%rbx),%rcx
14000a897:	49 89 08             	mov    %rcx,(%r8)
14000a89a:	48 8b 43 38          	mov    0x38(%rbx),%rax
14000a89e:	48 89 08             	mov    %rcx,(%rax)
14000a8a1:	48 2b d1             	sub    %rcx,%rdx
14000a8a4:	48 d1 fa             	sar    $1,%rdx
14000a8a7:	48 8b 43 50          	mov    0x50(%rbx),%rax
14000a8ab:	89 10                	mov    %edx,(%rax)
14000a8ad:	48 83 7b 68 00       	cmpq   $0x0,0x68(%rbx)
14000a8b2:	75 22                	jne    0x14000a8d6
14000a8b4:	48 8b 8b 80 00 00 00 	mov    0x80(%rbx),%rcx
14000a8bb:	e8 78 8e 00 00       	call   0x140013738
14000a8c0:	bb ff ff 00 00       	mov    $0xffff,%ebx
14000a8c5:	66 3b c3             	cmp    %bx,%ax
14000a8c8:	0f 84 61 01 00 00    	je     0x14000aa2f
14000a8ce:	0f b7 d8             	movzwl %ax,%ebx
14000a8d1:	e9 59 01 00 00       	jmp    0x14000aa2f
14000a8d6:	48 83 65 37 00       	andq   $0x0,0x37(%rbp)
14000a8db:	48 c7 45 3f 0f 00 00 	movq   $0xf,0x3f(%rbp)
14000a8e2:	00
14000a8e3:	c6 45 27 00          	movb   $0x0,0x27(%rbp)
14000a8e7:	e9 ec 00 00 00       	jmp    0x14000a9d8
14000a8ec:	48 8b 4d 37          	mov    0x37(%rbp),%rcx
14000a8f0:	48 3b 4d 3f          	cmp    0x3f(%rbp),%rcx
14000a8f4:	73 20                	jae    0x14000a916
14000a8f6:	48 8d 41 01          	lea    0x1(%rcx),%rax
14000a8fa:	48 89 45 37          	mov    %rax,0x37(%rbp)
14000a8fe:	48 8d 45 27          	lea    0x27(%rbp),%rax
14000a902:	48 83 7d 3f 10       	cmpq   $0x10,0x3f(%rbp)
14000a907:	48 0f 43 45 27       	cmovae 0x27(%rbp),%rax
14000a90c:	88 14 08             	mov    %dl,(%rax,%rcx,1)
14000a90f:	c6 44 08 01 00       	movb   $0x0,0x1(%rax,%rcx,1)
14000a914:	eb 13                	jmp    0x14000a929
14000a916:	44 8a ca             	mov    %dl,%r9b
14000a919:	45 33 c0             	xor    %r8d,%r8d
14000a91c:	41 8d 50 01          	lea    0x1(%r8),%edx
14000a920:	48 8d 4d 27          	lea    0x27(%rbp),%rcx
14000a924:	e8 1f c6 ff ff       	call   0x140006f48
14000a929:	48 8b 4b 68          	mov    0x68(%rbx),%rcx
14000a92d:	4c 8d 4d 27          	lea    0x27(%rbp),%r9
14000a931:	48 83 7d 3f 10       	cmpq   $0x10,0x3f(%rbp)
14000a936:	4c 0f 43 4d 27       	cmovae 0x27(%rbp),%r9
14000a93b:	4c 8d 45 27          	lea    0x27(%rbp),%r8
14000a93f:	4c 0f 43 45 27       	cmovae 0x27(%rbp),%r8
14000a944:	48 8b 01             	mov    (%rcx),%rax
14000a947:	4c 03 4d 37          	add    0x37(%rbp),%r9
14000a94b:	48 8d 55 17          	lea    0x17(%rbp),%rdx
14000a94f:	48 89 54 24 38       	mov    %rdx,0x38(%rsp)
14000a954:	48 8d 55 09          	lea    0x9(%rbp),%rdx
14000a958:	48 89 54 24 30       	mov    %rdx,0x30(%rsp)
14000a95d:	48 8d 55 07          	lea    0x7(%rbp),%rdx
14000a961:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
14000a966:	48 8d 55 0f          	lea    0xf(%rbp),%rdx
14000a96a:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
14000a96f:	48 8d 53 74          	lea    0x74(%rbx),%rdx
14000a973:	48 8b 40 30          	mov    0x30(%rax),%rax
14000a977:	ff 15 9b 19 02 00    	call   *0x2199b(%rip)        # 0x14002c318
14000a97d:	85 c0                	test   %eax,%eax
14000a97f:	78 6e                	js     0x14000a9ef
14000a981:	83 f8 01             	cmp    $0x1,%eax
14000a984:	0f 8f 0d 01 00 00    	jg     0x14000aa97
14000a98a:	48 8d 45 07          	lea    0x7(%rbp),%rax
14000a98e:	48 39 45 17          	cmp    %rax,0x17(%rbp)
14000a992:	48 8d 45 27          	lea    0x27(%rbp),%rax
14000a996:	0f 85 b7 00 00 00    	jne    0x14000aa53
14000a99c:	48 83 7d 3f 10       	cmpq   $0x10,0x3f(%rbp)
14000a9a1:	48 0f 43 45 27       	cmovae 0x27(%rbp),%rax
14000a9a6:	48 8b 55 0f          	mov    0xf(%rbp),%rdx
14000a9aa:	48 2b d0             	sub    %rax,%rdx
14000a9ad:	4c 8b 45 37          	mov    0x37(%rbp),%r8
14000a9b1:	4c 3b c2             	cmp    %rdx,%r8
14000a9b4:	49 0f 42 d0          	cmovb  %r8,%rdx
14000a9b8:	48 8d 4d 27          	lea    0x27(%rbp),%rcx
14000a9bc:	48 83 7d 3f 10       	cmpq   $0x10,0x3f(%rbp)
14000a9c1:	48 0f 43 4d 27       	cmovae 0x27(%rbp),%rcx
14000a9c6:	4c 2b c2             	sub    %rdx,%r8
14000a9c9:	4c 89 45 37          	mov    %r8,0x37(%rbp)
14000a9cd:	49 ff c0             	inc    %r8
14000a9d0:	48 03 d1             	add    %rcx,%rdx
14000a9d3:	e8 38 35 00 00       	call   0x14000df10
14000a9d8:	48 8b 8b 80 00 00 00 	mov    0x80(%rbx),%rcx
14000a9df:	e8 2c 7f 00 00       	call   0x140012910
14000a9e4:	83 f8 ff             	cmp    $0xffffffff,%eax
14000a9e7:	8b d0                	mov    %eax,%edx
14000a9e9:	0f 85 fd fe ff ff    	jne    0x14000a8ec
14000a9ef:	bb ff ff 00 00       	mov    $0xffff,%ebx
14000a9f4:	48 8b 55 3f          	mov    0x3f(%rbp),%rdx
14000a9f8:	48 83 fa 10          	cmp    $0x10,%rdx
14000a9fc:	72 31                	jb     0x14000aa2f
14000a9fe:	48 ff c2             	inc    %rdx
14000aa01:	48 8b 4d 27          	mov    0x27(%rbp),%rcx
14000aa05:	48 8b c1             	mov    %rcx,%rax
14000aa08:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14000aa0f:	72 19                	jb     0x14000aa2a
14000aa11:	48 83 c2 27          	add    $0x27,%rdx
14000aa15:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
14000aa19:	48 2b c1             	sub    %rcx,%rax
14000aa1c:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
14000aa20:	48 83 f8 1f          	cmp    $0x1f,%rax
14000aa24:	0f 87 8c 00 00 00    	ja     0x14000aab6
14000aa2a:	e8 55 1e 00 00       	call   0x14000c884
14000aa2f:	0f b7 c3             	movzwl %bx,%eax
14000aa32:	48 8b 4d 47          	mov    0x47(%rbp),%rcx
14000aa36:	48 33 cc             	xor    %rsp,%rcx
14000aa39:	e8 32 1b 00 00       	call   0x14000c570
14000aa3e:	4c 8d 9c 24 a0 00 00 	lea    0xa0(%rsp),%r11
14000aa45:	00
14000aa46:	49 8b 5b 18          	mov    0x18(%r11),%rbx
14000aa4a:	49 8b 7b 20          	mov    0x20(%r11),%rdi
14000aa4e:	49 8b e3             	mov    %r11,%rsp
14000aa51:	5d                   	pop    %rbp
14000aa52:	c3                   	ret
14000aa53:	48 83 7d 3f 10       	cmpq   $0x10,0x3f(%rbp)
14000aa58:	48 0f 43 45 27       	cmovae 0x27(%rbp),%rax
14000aa5d:	48 8b 7d 37          	mov    0x37(%rbp),%rdi
14000aa61:	48 8b 4d 0f          	mov    0xf(%rbp),%rcx
14000aa65:	48 2b f9             	sub    %rcx,%rdi
14000aa68:	48 03 f8             	add    %rax,%rdi
14000aa6b:	48 85 ff             	test   %rdi,%rdi
14000aa6e:	7e 1e                	jle    0x14000aa8e
14000aa70:	48 ff cf             	dec    %rdi
14000aa73:	0f be 0c 0f          	movsbl (%rdi,%rcx,1),%ecx