140e055ad:	45 33 c0             	xor    %r8d,%r8d
140e055b0:	66 44 3b f0          	cmp    %ax,%r14w
140e055b4:	74 05                	je     0x140e055bb
140e055b6:	41 8a c0             	mov    %r8b,%al
140e055b9:	eb 05                	jmp    0x140e055c0
140e055bb:	4c 89 03             	mov    %r8,(%rbx)
140e055be:	b0 01                	mov    $0x1,%al
140e055c0:	88 43 08             	mov    %al,0x8(%rbx)
140e055c3:	c6 45 80 01          	movb   $0x1,-0x80(%rbp)
140e055c7:	49 8b d5             	mov    %r13,%rdx
140e055ca:	48 8b cb             	mov    %rbx,%rcx
140e055cd:	e8 d6 1a 01 00       	call   0x140e170a8
140e055d2:	45 33 c0             	xor    %r8d,%r8d
140e055d5:	84 c0                	test   %al,%al
140e055d7:	0f 84 41 ff ff ff    	je     0x140e0551e
140e055dd:	44 8b 75 87          	mov    -0x79(%rbp),%r14d
140e055e1:	33 ff                	xor    %edi,%edi
140e055e3:	be ff ff 00 00       	mov    $0xffff,%esi
140e055e8:	4c 89 65 87          	mov    %r12,-0x79(%rbp)
140e055ec:	49 8b d5             	mov    %r13,%rdx
140e055ef:	48 8b cb             	mov    %rbx,%rcx
140e055f2:	e8 b1 1a 01 00       	call   0x140e170a8
140e055f7:	84 c0                	test   %al,%al
140e055f9:	0f 85 5c 01 00 00    	jne    0x140e0575b
140e055ff:	8a 4b 08             	mov    0x8(%rbx),%cl
140e05602:	84 c9                	test   %cl,%cl
140e05604:	75 42                	jne    0x140e05648
140e05606:	48 8b 0b             	mov    (%rbx),%rcx
140e05609:	48 85 c9             	test   %rcx,%rcx
140e0560c:	74 31                	je     0x140e0563f
140e0560e:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e05612:	48 8b 10             	mov    (%rax),%rdx
140e05615:	48 85 d2             	test   %rdx,%rdx
140e05618:	74 0d                	je     0x140e05627
140e0561a:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e0561e:	39 38                	cmp    %edi,(%rax)
140e05620:	7e 05                	jle    0x140e05627
140e05622:	0f b7 02             	movzwl (%rdx),%eax
140e05625:	eb 0d                	jmp    0x140e05634
140e05627:	48 8b 01             	mov    (%rcx),%rax
140e0562a:	48 8b 40 30          	mov    0x30(%rax),%rax
140e0562e:	ff 15 ec e3 17 00    	call   *0x17e3ec(%rip)        # 0x140f83a20
140e05634:	66 3b f0             	cmp    %ax,%si
140e05637:	74 06                	je     0x140e0563f
140e05639:	66 89 43 0a          	mov    %ax,0xa(%rbx)
140e0563d:	eb 03                	jmp    0x140e05642
140e0563f:	48 89 3b             	mov    %rdi,(%rbx)
140e05642:	c6 43 08 01          	movb   $0x1,0x8(%rbx)
140e05646:	b1 01                	mov    $0x1,%cl
140e05648:	0f b7 43 0a          	movzwl 0xa(%rbx),%eax
140e0564c:	66 3b 45 05          	cmp    0x5(%rbp),%ax
140e05650:	75 60                	jne    0x140e056b2
140e05652:	41 c6 04 24 2b       	movb   $0x2b,(%r12)
140e05657:	49 8d 44 24 01       	lea    0x1(%r12),%rax
140e0565c:	48 89 45 87          	mov    %rax,-0x79(%rbp)
140e05660:	48 8b 0b             	mov    (%rbx),%rcx
140e05663:	48 85 c9             	test   %rcx,%rcx
140e05666:	74 3d                	je     0x140e056a5
140e05668:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e0566c:	48 39 38             	cmp    %rdi,(%rax)
140e0566f:	74 1d                	je     0x140e0568e
140e05671:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e05675:	39 38                	cmp    %edi,(%rax)
140e05677:	7e 15                	jle    0x140e0568e
140e05679:	ff 08                	decl   (%rax)
140e0567b:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e0567f:	48 8b 11             	mov    (%rcx),%rdx
140e05682:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e05686:	48 89 01             	mov    %rax,(%rcx)
140e05689:	0f b7 02             	movzwl (%rdx),%eax
140e0568c:	eb 0d                	jmp    0x140e0569b
140e0568e:	48 8b 01             	mov    (%rcx),%rax
140e05691:	48 8b 40 38          	mov    0x38(%rax),%rax
140e05695:	ff 15 85 e3 17 00    	call   *0x17e385(%rip)        # 0x140f83a20
140e0569b:	66 3b f0             	cmp    %ax,%si
140e0569e:	74 05                	je     0x140e056a5
140e056a0:	40 8a c7             	mov    %dil,%al
140e056a3:	eb 05                	jmp    0x140e056aa
140e056a5:	48 89 3b             	mov    %rdi,(%rbx)
140e056a8:	b0 01                	mov    $0x1,%al
140e056aa:	88 43 08             	mov    %al,0x8(%rbx)
140e056ad:	e9 a9 00 00 00       	jmp    0x140e0575b
140e056b2:	84 c9                	test   %cl,%cl
140e056b4:	75 44                	jne    0x140e056fa
140e056b6:	48 8b 0b             	mov    (%rbx),%rcx
140e056b9:	48 85 c9             	test   %rcx,%rcx
140e056bc:	74 31                	je     0x140e056ef
140e056be:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e056c2:	48 8b 10             	mov    (%rax),%rdx
140e056c5:	48 85 d2             	test   %rdx,%rdx
140e056c8:	74 0d                	je     0x140e056d7
140e056ca:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e056ce:	39 38                	cmp    %edi,(%rax)
140e056d0:	7e 05                	jle    0x140e056d7
140e056d2:	0f b7 02             	movzwl (%rdx),%eax
140e056d5:	eb 0d                	jmp    0x140e056e4
140e056d7:	48 8b 01             	mov    (%rcx),%rax
140e056da:	48 8b 40 30          	mov    0x30(%rax),%rax
140e056de:	ff 15 3c e3 17 00    	call   *0x17e33c(%rip)        # 0x140f83a20
140e056e4:	66 3b f0             	cmp    %ax,%si
140e056e7:	74 06                	je     0x140e056ef
140e056e9:	66 89 43 0a          	mov    %ax,0xa(%rbx)
140e056ed:	eb 07                	jmp    0x140e056f6
140e056ef:	48 89 3b             	mov    %rdi,(%rbx)
140e056f2:	0f b7 43 0a          	movzwl 0xa(%rbx),%eax
140e056f6:	c6 43 08 01          	movb   $0x1,0x8(%rbx)
140e056fa:	66 3b 45 03          	cmp    0x3(%rbp),%ax
140e056fe:	75 5b                	jne    0x140e0575b
140e05700:	41 c6 04 24 2d       	movb   $0x2d,(%r12)
140e05705:	49 8d 44 24 01       	lea    0x1(%r12),%rax
140e0570a:	48 89 45 87          	mov    %rax,-0x79(%rbp)
140e0570e:	48 8b 0b             	mov    (%rbx),%rcx
140e05711:	48 85 c9             	test   %rcx,%rcx
140e05714:	74 3e                	je     0x140e05754
140e05716:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e0571a:	48 39 38             	cmp    %rdi,(%rax)
140e0571d:	74 1d                	je     0x140e0573c
140e0571f:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e05723:	39 38                	cmp    %edi,(%rax)
140e05725:	7e 15                	jle    0x140e0573c
140e05727:	ff 08                	decl   (%rax)
140e05729:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e0572d:	48 8b 11             	mov    (%rcx),%rdx
140e05730:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e05734:	48 89 01             	mov    %rax,(%rcx)
140e05737:	0f b7 02             	movzwl (%rdx),%eax
140e0573a:	eb 0d                	jmp    0x140e05749
140e0573c:	48 8b 01             	mov    (%rcx),%rax
140e0573f:	48 8b 40 38          	mov    0x38(%rax),%rax
140e05743:	ff 15 d7 e2 17 00    	call   *0x17e2d7(%rip)        # 0x140f83a20
140e05749:	66 3b f0             	cmp    %ax,%si
140e0574c:	74 06                	je     0x140e05754
140e0574e:	40 88 7b 08          	mov    %dil,0x8(%rbx)
140e05752:	eb 07                	jmp    0x140e0575b
140e05754:	48 89 3b             	mov    %rdi,(%rbx)
140e05757:	c6 43 08 01          	movb   $0x1,0x8(%rbx)
140e0575b:	66 45 85 ff          	test   %r15w,%r15w
140e0575f:	0f 84 b6 00 00 00    	je     0x140e0581b
140e05765:	e9 9e 00 00 00       	jmp    0x140e05808
140e0576a:	40 38 7b 08          	cmp    %dil,0x8(%rbx)
140e0576e:	75 40                	jne    0x140e057b0
140e05770:	48 8b 0b             	mov    (%rbx),%rcx
140e05773:	48 85 c9             	test   %rcx,%rcx
140e05776:	74 31                	je     0x140e057a9
140e05778:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e0577c:	48 8b 10             	mov    (%rax),%rdx
140e0577f:	48 85 d2             	test   %rdx,%rdx
140e05782:	74 0d                	je     0x140e05791
140e05784:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e05788:	39 38                	cmp    %edi,(%rax)
140e0578a:	7e 05                	jle    0x140e05791
140e0578c:	0f b7 02             	movzwl (%rdx),%eax
140e0578f:	eb 0d                	jmp    0x140e0579e
140e05791:	48 8b 01             	mov    (%rcx),%rax
140e05794:	48 8b 40 30          	mov    0x30(%rax),%rax
140e05798:	ff 15 82 e2 17 00    	call   *0x17e282(%rip)        # 0x140f83a20
140e0579e:	66 3b f0             	cmp    %ax,%si
140e057a1:	74 06                	je     0x140e057a9
140e057a3:	66 89 43 0a          	mov    %ax,0xa(%rbx)
140e057a7:	eb 03                	jmp    0x140e057ac
140e057a9:	48 89 3b             	mov    %rdi,(%rbx)
140e057ac:	c6 43 08 01          	movb   $0x1,0x8(%rbx)
140e057b0:	66 44 39 7b 0a       	cmp    %r15w,0xa(%rbx)
140e057b5:	75 64                	jne    0x140e0581b
140e057b7:	48 8b 0b             	mov    (%rbx),%rcx
140e057ba:	48 85 c9             	test   %rcx,%rcx
140e057bd:	74 3d                	je     0x140e057fc
140e057bf:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e057c3:	48 39 38             	cmp    %rdi,(%rax)
140e057c6:	74 1d                	je     0x140e057e5
140e057c8:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e057cc:	39 38                	cmp    %edi,(%rax)
140e057ce:	7e 15                	jle    0x140e057e5
140e057d0:	ff 08                	decl   (%rax)
140e057d2:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e057d6:	48 8b 11             	mov    (%rcx),%rdx
140e057d9:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e057dd:	48 89 01             	mov    %rax,(%rcx)
140e057e0:	0f b7 02             	movzwl (%rdx),%eax
140e057e3:	eb 0d                	jmp    0x140e057f2
140e057e5:	48 8b 01             	mov    (%rcx),%rax
140e057e8:	48 8b 40 38          	mov    0x38(%rax),%rax
140e057ec:	ff 15 2e e2 17 00    	call   *0x17e22e(%rip)        # 0x140f83a20
140e057f2:	66 3b f0             	cmp    %ax,%si
140e057f5:	74 05                	je     0x140e057fc
140e057f7:	40 8a c7             	mov    %dil,%al
140e057fa:	eb 05                	jmp    0x140e05801
140e057fc:	48 89 3b             	mov    %rdi,(%rbx)
140e057ff:	b0 01                	mov    $0x1,%al
140e05801:	88 43 08             	mov    %al,0x8(%rbx)
140e05804:	c6 45 80 01          	movb   $0x1,-0x80(%rbp)
140e05808:	49 8b d5             	mov    %r13,%rdx
140e0580b:	48 8b cb             	mov    %rbx,%rcx
140e0580e:	e8 95 18 01 00       	call   0x140e170a8
140e05813:	84 c0                	test   %al,%al
140e05815:	0f 84 4f ff ff ff    	je     0x140e0576a
140e0581b:	41 81 e6 00 0e 00 00 	and    $0xe00,%r14d
140e05822:	b8 08 00 00 00       	mov    $0x8,%eax
140e05827:	44 8d 78 02          	lea    0x2(%rax),%r15d
140e0582b:	41 81 fe 00 04 00 00 	cmp    $0x400,%r14d
140e05832:	75 05                	jne    0x140e05839
140e05834:	40 8a f0             	mov    %al,%sil
140e05837:	eb 17                	jmp    0x140e05850
140e05839:	41 81 fe 00 08 00 00 	cmp    $0x800,%r14d
140e05840:	75 05                	jne    0x140e05847
140e05842:	40 b6 10             	mov    $0x10,%sil
140e05845:	eb 09                	jmp    0x140e05850
140e05847:	41 f7 de             	neg    %r14d
140e0584a:	40 1a f6             	sbb    %sil,%sil
140e0584d:	41 22 f7             	and    %r15b,%sil
140e05850:	40 88 74 24 30       	mov    %sil,0x30(%rsp)
140e05855:	44 8a ef             	mov    %dil,%r13b
140e05858:	40 88 7d 81          	mov    %dil,-0x7f(%rbp)
140e0585c:	48 8b 7d 8f          	mov    -0x71(%rbp),%rdi
140e05860:	48 8b d7             	mov    %rdi,%rdx
140e05863:	48 8b cb             	mov    %rbx,%rcx
140e05866:	e8 3d 18 01 00       	call   0x140e170a8
140e0586b:	45 33 f6             	xor    %r14d,%r14d
140e0586e:	84 c0                	test   %al,%al
140e05870:	0f 85 eb 01 00 00    	jne    0x140e05a61
140e05876:	44 38 73 08          	cmp    %r14b,0x8(%rbx)
140e0587a:	75 46                	jne    0x140e058c2
140e0587c:	48 8b 0b             	mov    (%rbx),%rcx
140e0587f:	48 85 c9             	test   %rcx,%rcx
140e05882:	74 37                	je     0x140e058bb
140e05884:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e05888:	48 8b 10             	mov    (%rax),%rdx
140e0588b:	48 85 d2             	test   %rdx,%rdx
140e0588e:	74 0e                	je     0x140e0589e
140e05890:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e05894:	44 39 30             	cmp    %r14d,(%rax)
140e05897:	7e 05                	jle    0x140e0589e
140e05899:	0f b7 02             	movzwl (%rdx),%eax
140e0589c:	eb 0d                	jmp    0x140e058ab
140e0589e:	48 8b 01             	mov    (%rcx),%rax
140e058a1:	48 8b 40 30          	mov    0x30(%rax),%rax
140e058a5:	ff 15 75 e1 17 00    	call   *0x17e175(%rip)        # 0x140f83a20
140e058ab:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e058b0:	66 3b c8             	cmp    %ax,%cx
140e058b3:	74 06                	je     0x140e058bb
140e058b5:	66 89 43 0a          	mov    %ax,0xa(%rbx)
140e058b9:	eb 03                	jmp    0x140e058be
140e058bb:	4c 89 33             	mov    %r14,(%rbx)
140e058be:	c6 43 08 01          	movb   $0x1,0x8(%rbx)
140e058c2:	0f b7 45 d7          	movzwl -0x29(%rbp),%eax
140e058c6:	66 39 43 0a          	cmp    %ax,0xa(%rbx)
140e058ca:	0f 85 91 01 00 00    	jne    0x140e05a61
140e058d0:	41 b5 01             	mov    $0x1,%r13b
140e058d3:	48 8b 0b             	mov    (%rbx),%rcx
140e058d6:	48 85 c9             	test   %rcx,%rcx
140e058d9:	74 43                	je     0x140e0591e
140e058db:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e058df:	4c 39 30             	cmp    %r14,(%rax)
140e058e2:	74 1e                	je     0x140e05902
140e058e4:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e058e8:	44 39 30             	cmp    %r14d,(%rax)
140e058eb:	7e 15                	jle    0x140e05902
140e058ed:	ff 08                	decl   (%rax)
140e058ef:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e058f3:	48 8b 11             	mov    (%rcx),%rdx
140e058f6:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e058fa:	48 89 01             	mov    %rax,(%rcx)
140e058fd:	0f b7 02             	movzwl (%rdx),%eax
140e05900:	eb 0d                	jmp    0x140e0590f
140e05902:	48 8b 01             	mov    (%rcx),%rax
140e05905:	48 8b 40 38          	mov    0x38(%rax),%rax
140e05909:	ff 15 11 e1 17 00    	call   *0x17e111(%rip)        # 0x140f83a20
140e0590f:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e05914:	66 3b c8             	cmp    %ax,%cx
140e05917:	74 05                	je     0x140e0591e
140e05919:	41 8a c6             	mov    %r14b,%al
140e0591c:	eb 06                	jmp    0x140e05924
140e0591e:	4c 89 33             	mov    %r14,(%rbx)
140e05921:	41 8a c5             	mov    %r13b,%al
140e05924:	88 43 08             	mov    %al,0x8(%rbx)
140e05927:	48 8b d7             	mov    %rdi,%rdx
140e0592a:	48 8b cb             	mov    %rbx,%rcx
140e0592d:	e8 76 17 01 00       	call   0x140e170a8
140e05932:	84 c0                	test   %al,%al
140e05934:	0f 85 14 01 00 00    	jne    0x140e05a4e
140e0593a:	8a 4b 08             	mov    0x8(%rbx),%cl
140e0593d:	84 c9                	test   %cl,%cl
140e0593f:	75 49                	jne    0x140e0598a
140e05941:	48 8b 0b             	mov    (%rbx),%rcx
140e05944:	48 85 c9             	test   %rcx,%rcx
140e05947:	74 37                	je     0x140e05980
140e05949:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e0594d:	48 8b 10             	mov    (%rax),%rdx
140e05950:	48 85 d2             	test   %rdx,%rdx
140e05953:	74 0e                	je     0x140e05963
140e05955:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e05959:	44 39 30             	cmp    %r14d,(%rax)
140e0595c:	7e 05                	jle    0x140e05963
140e0595e:	0f b7 02             	movzwl (%rdx),%eax
140e05961:	eb 0d                	jmp    0x140e05970
140e05963:	48 8b 01             	mov    (%rcx),%rax
140e05966:	48 8b 40 30          	mov    0x30(%rax),%rax
140e0596a:	ff 15 b0 e0 17 00    	call   *0x17e0b0(%rip)        # 0x140f83a20
140e05970:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e05975:	66 3b c8             	cmp    %ax,%cx
140e05978:	74 06                	je     0x140e05980
140e0597a:	66 89 43 0a          	mov    %ax,0xa(%rbx)
140e0597e:	eb 03                	jmp    0x140e05983
140e05980:	4c 89 33             	mov    %r14,(%rbx)
140e05983:	44 88 6b 08          	mov    %r13b,0x8(%rbx)
140e05987:	41 8a cd             	mov    %r13b,%cl
140e0598a:	0f b7 43 0a          	movzwl 0xa(%rbx),%eax
140e0598e:	66 3b 45 09          	cmp    0x9(%rbp),%ax
140e05992:	74 54                	je     0x140e059e8
140e05994:	84 c9                	test   %cl,%cl
140e05996:	75 4a                	jne    0x140e059e2
140e05998:	48 8b 0b             	mov    (%rbx),%rcx
140e0599b:	48 85 c9             	test   %rcx,%rcx
140e0599e:	74 37                	je     0x140e059d7
140e059a0:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e059a4:	48 8b 10             	mov    (%rax),%rdx
140e059a7:	48 85 d2             	test   %rdx,%rdx
140e059aa:	74 0e                	je     0x140e059ba
140e059ac:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e059b0:	44 39 30             	cmp    %r14d,(%rax)
140e059b3:	7e 05                	jle    0x140e059ba
140e059b5:	0f b7 02             	movzwl (%rdx),%eax
140e059b8:	eb 0d                	jmp    0x140e059c7
140e059ba:	48 8b 01             	mov    (%rcx),%rax
140e059bd:	48 8b 40 30          	mov    0x30(%rax),%rax
140e059c1:	ff 15 59 e0 17 00    	call   *0x17e059(%rip)        # 0x140f83a20
140e059c7:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e059cc:	66 3b c8             	cmp    %ax,%cx
140e059cf:	74 06                	je     0x140e059d7
140e059d1:	66 89 43 0a          	mov    %ax,0xa(%rbx)
140e059d5:	eb 07                	jmp    0x140e059de
140e059d7:	4c 89 33             	mov    %r14,(%rbx)
140e059da:	0f b7 43 0a          	movzwl 0xa(%rbx),%eax
140e059de:	44 88 6b 08          	mov    %r13b,0x8(%rbx)
140e059e2:	66 3b 45 07          	cmp    0x7(%rbp),%ax
140e059e6:	75 66                	jne    0x140e05a4e
140e059e8:	40 f6 c6 ef          	test   $0xef,%sil
140e059ec:	75 78                	jne    0x140e05a66
140e059ee:	40 b6 10             	mov    $0x10,%sil
140e059f1:	40 88 74 24 30       	mov    %sil,0x30(%rsp)
140e059f6:	45 8a ee             	mov    %r14b,%r13b
140e059f9:	48 8b 0b             	mov    (%rbx),%rcx
140e059fc:	48 85 c9             	test   %rcx,%rcx
140e059ff:	74 43                	je     0x140e05a44
140e05a01:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e05a05:	4c 39 30             	cmp    %r14,(%rax)
140e05a08:	74 1e                	je     0x140e05a28
140e05a0a:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e05a0e:	44 39 30             	cmp    %r14d,(%rax)
140e05a11:	7e 15                	jle    0x140e05a28