140095599:	0f 84 3c 01 00 00    	je     0x1400956db
14009559f:	83 ea 01             	sub    $0x1,%edx
1400955a2:	0f 84 0f 01 00 00    	je     0x1400956b7
1400955a8:	83 ea 01             	sub    $0x1,%edx
1400955ab:	0f 84 e1 00 00 00    	je     0x140095692
1400955b1:	83 ea 02             	sub    $0x2,%edx
1400955b4:	74 7d                	je     0x140095633
1400955b6:	83 ea 01             	sub    $0x1,%edx
1400955b9:	0f 84 12 03 00 00    	je     0x1400958d1
1400955bf:	83 ea 02             	sub    $0x2,%edx
1400955c2:	74 42                	je     0x140095606
1400955c4:	83 fa 03             	cmp    $0x3,%edx
1400955c7:	0f 85 aa 03 00 00    	jne    0x140095977
1400955cd:	41 8b 48 10          	mov    0x10(%r8),%ecx
1400955d1:	83 f9 0b             	cmp    $0xb,%ecx
1400955d4:	0f 87 8d 03 00 00    	ja     0x140095967
1400955da:	8a 45 60             	mov    0x60(%rbp),%al
1400955dd:	f6 d8                	neg    %al
1400955df:	66 1b d2             	sbb    %dx,%dx
1400955e2:	66 f7 d2             	not    %dx
1400955e5:	66 83 e2 30          	and    $0x30,%dx
1400955e9:	ff c1                	inc    %ecx
1400955eb:	66 89 54 24 20       	mov    %dx,0x20(%rsp)
1400955f0:	ba 02 00 00 00       	mov    $0x2,%edx
1400955f5:	4c 8b 4d 50          	mov    0x50(%rbp),%r9
1400955f9:	4c 8b c7             	mov    %rdi,%r8
1400955fc:	e8 f7 fc ff ff       	call   0x1400952f8
140095601:	e9 02 0e 00 00       	jmp    0x140096408
140095606:	41 8b 48 1c          	mov    0x1c(%r8),%ecx
14009560a:	81 f9 6d 01 00 00    	cmp    $0x16d,%ecx
140095610:	0f 87 51 03 00 00    	ja     0x140095967
140095616:	8a 45 60             	mov    0x60(%rbp),%al
140095619:	f6 d8                	neg    %al
14009561b:	66 1b d2             	sbb    %dx,%dx
14009561e:	66 f7 d2             	not    %dx
140095621:	66 83 e2 30          	and    $0x30,%dx
140095625:	66 89 54 24 20       	mov    %dx,0x20(%rsp)
14009562a:	ff c1                	inc    %ecx
14009562c:	ba 03 00 00 00       	mov    $0x3,%edx
140095631:	eb c2                	jmp    0x1400955f5
140095633:	45 8b 70 14          	mov    0x14(%r8),%r14d
140095637:	41 8d 86 6c 07 00 00 	lea    0x76c(%r14),%eax
14009563e:	3d 0f 27 00 00       	cmp    $0x270f,%eax
140095643:	0f 87 1e 03 00 00    	ja     0x140095967
140095649:	45 8b 40 1c          	mov    0x1c(%r8),%r8d
14009564d:	41 8b ce             	mov    %r14d,%ecx
140095650:	8b 56 18             	mov    0x18(%rsi),%edx
140095653:	e8 f0 fd ff ff       	call   0x140095448
140095658:	85 c0                	test   %eax,%eax
14009565a:	75 05                	jne    0x140095661
14009565c:	41 ff ce             	dec    %r14d
14009565f:	eb 05                	jmp    0x140095666
140095661:	7f 03                	jg     0x140095666
140095663:	41 ff c6             	inc    %r14d
140095666:	41 8d 8e 6c 07 00 00 	lea    0x76c(%r14),%ecx
14009566d:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
140095672:	f7 e9                	imul   %ecx
140095674:	be 30 00 00 00       	mov    $0x30,%esi
140095679:	c1 fa 05             	sar    $0x5,%edx
14009567c:	8b c2                	mov    %edx,%eax
14009567e:	66 89 74 24 20       	mov    %si,0x20(%rsp)
140095683:	c1 e8 1f             	shr    $0x1f,%eax
140095686:	03 d0                	add    %eax,%edx
140095688:	6b c2 64             	imul   $0x64,%edx,%eax
14009568b:	2b c8                	sub    %eax,%ecx
14009568d:	e9 5e ff ff ff       	jmp    0x1400955f0
140095692:	41 8b 48 0c          	mov    0xc(%r8),%ecx
140095696:	8d 41 ff             	lea    -0x1(%rcx),%eax
140095699:	83 f8 1e             	cmp    $0x1e,%eax
14009569c:	0f 87 c5 02 00 00    	ja     0x140095967
1400956a2:	8a 45 60             	mov    0x60(%rbp),%al
1400956a5:	34 01                	xor    $0x1,%al
1400956a7:	c0 e0 05             	shl    $0x5,%al
1400956aa:	0f b6 c0             	movzbl %al,%eax
1400956ad:	66 89 44 24 20       	mov    %ax,0x20(%rsp)
1400956b2:	e9 39 ff ff ff       	jmp    0x1400955f0
1400956b7:	41 8b 48 0c          	mov    0xc(%r8),%ecx
1400956bb:	8d 41 ff             	lea    -0x1(%rcx),%eax
1400956be:	83 f8 1e             	cmp    $0x1e,%eax
1400956c1:	0f 87 a0 02 00 00    	ja     0x140095967
1400956c7:	8a 45 60             	mov    0x60(%rbp),%al
1400956ca:	f6 d8                	neg    %al
1400956cc:	66 1b d2             	sbb    %dx,%dx
1400956cf:	66 f7 d2             	not    %dx
1400956d2:	66 83 e2 30          	and    $0x30,%dx
1400956d6:	e9 10 ff ff ff       	jmp    0x1400955eb
1400956db:	4c 8b 6d 58          	mov    0x58(%rbp),%r13
1400956df:	48 8d 05 3a 49 04 00 	lea    0x4493a(%rip),%rax        # 0x1400da020
1400956e6:	33 db                	xor    %ebx,%ebx
1400956e8:	4c 3b e8             	cmp    %rax,%r13
1400956eb:	0f 85 75 01 00 00    	jne    0x140095866
1400956f1:	38 5d 60             	cmp    %bl,0x60(%rbp)
1400956f4:	0f 85 6c 01 00 00    	jne    0x140095866
1400956fa:	4c 8b 7d 50          	mov    0x50(%rbp),%r15
1400956fe:	8d 53 61             	lea    0x61(%rbx),%edx
140095701:	88 5c 24 30          	mov    %bl,0x30(%rsp)
140095705:	4c 8b cf             	mov    %rdi,%r9
140095708:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
14009570d:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
140095712:	e8 25 fe ff ff       	call   0x14009553c
140095717:	84 c0                	test   %al,%al
140095719:	75 10                	jne    0x14009572b
14009571b:	e8 a4 8a fe ff       	call   0x14007e1c4
140095720:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140095726:	e9 4c 02 00 00       	jmp    0x140095977
14009572b:	4c 8d 25 5e 60 04 00 	lea    0x4605e(%rip),%r12        # 0x1400db790
140095732:	49 8b cc             	mov    %r12,%rcx
140095735:	49 39 1f             	cmp    %rbx,(%r15)
140095738:	74 1c                	je     0x140095756
14009573a:	0f b7 11             	movzwl (%rcx),%edx
14009573d:	66 85 d2             	test   %dx,%dx
140095740:	74 14                	je     0x140095756
140095742:	48 8b 07             	mov    (%rdi),%rax
140095745:	48 83 c1 02          	add    $0x2,%rcx
140095749:	66 89 10             	mov    %dx,(%rax)
14009574c:	48 83 07 02          	addq   $0x2,(%rdi)
140095750:	49 83 2f 01          	subq   $0x1,(%r15)
140095754:	75 e4                	jne    0x14009573a
140095756:	88 5c 24 30          	mov    %bl,0x30(%rsp)
14009575a:	ba 62 00 00 00       	mov    $0x62,%edx
14009575f:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
140095764:	4c 8b cf             	mov    %rdi,%r9
140095767:	4c 8b c6             	mov    %rsi,%r8
14009576a:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14009576f:	49 8b ce             	mov    %r14,%rcx
140095772:	e8 c5 fd ff ff       	call   0x14009553c
140095777:	84 c0                	test   %al,%al
140095779:	74 a0                	je     0x14009571b
14009577b:	49 8b cc             	mov    %r12,%rcx
14009577e:	49 39 1f             	cmp    %rbx,(%r15)
140095781:	74 1c                	je     0x14009579f
140095783:	0f b7 11             	movzwl (%rcx),%edx
140095786:	66 85 d2             	test   %dx,%dx
140095789:	74 14                	je     0x14009579f
14009578b:	48 8b 07             	mov    (%rdi),%rax
14009578e:	48 83 c1 02          	add    $0x2,%rcx
140095792:	66 89 10             	mov    %dx,(%rax)
140095795:	48 83 07 02          	addq   $0x2,(%rdi)
140095799:	49 83 2f 01          	subq   $0x1,(%r15)
14009579d:	75 e4                	jne    0x140095783
14009579f:	88 5c 24 30          	mov    %bl,0x30(%rsp)
1400957a3:	ba 65 00 00 00       	mov    $0x65,%edx
1400957a8:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
1400957ad:	4c 8b cf             	mov    %rdi,%r9
1400957b0:	4c 8b c6             	mov    %rsi,%r8
1400957b3:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
1400957b8:	49 8b ce             	mov    %r14,%rcx
1400957bb:	e8 7c fd ff ff       	call   0x14009553c
1400957c0:	84 c0                	test   %al,%al
1400957c2:	0f 84 53 ff ff ff    	je     0x14009571b
1400957c8:	49 8b cc             	mov    %r12,%rcx
1400957cb:	49 39 1f             	cmp    %rbx,(%r15)
1400957ce:	74 1c                	je     0x1400957ec
1400957d0:	0f b7 11             	movzwl (%rcx),%edx
1400957d3:	66 85 d2             	test   %dx,%dx
1400957d6:	74 14                	je     0x1400957ec
1400957d8:	48 8b 07             	mov    (%rdi),%rax
1400957db:	48 83 c1 02          	add    $0x2,%rcx
1400957df:	66 89 10             	mov    %dx,(%rax)
1400957e2:	48 83 07 02          	addq   $0x2,(%rdi)
1400957e6:	49 83 2f 01          	subq   $0x1,(%r15)
1400957ea:	75 e4                	jne    0x1400957d0
1400957ec:	88 5c 24 30          	mov    %bl,0x30(%rsp)
1400957f0:	ba 54 00 00 00       	mov    $0x54,%edx
1400957f5:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
1400957fa:	4c 8b cf             	mov    %rdi,%r9
1400957fd:	4c 8b c6             	mov    %rsi,%r8
140095800:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
140095805:	49 8b ce             	mov    %r14,%rcx
140095808:	e8 2f fd ff ff       	call   0x14009553c
14009580d:	84 c0                	test   %al,%al
14009580f:	0f 84 06 ff ff ff    	je     0x14009571b
140095815:	49 39 1f             	cmp    %rbx,(%r15)
140095818:	74 1e                	je     0x140095838
14009581a:	41 0f b7 0c 24       	movzwl (%r12),%ecx
14009581f:	66 85 c9             	test   %cx,%cx
140095822:	74 14                	je     0x140095838
140095824:	48 8b 07             	mov    (%rdi),%rax
140095827:	49 83 c4 02          	add    $0x2,%r12
14009582b:	66 89 08             	mov    %cx,(%rax)
14009582e:	48 83 07 02          	addq   $0x2,(%rdi)
140095832:	49 83 2f 01          	subq   $0x1,(%r15)
140095836:	75 e2                	jne    0x14009581a
140095838:	88 5c 24 30          	mov    %bl,0x30(%rsp)
14009583c:	ba 59 00 00 00       	mov    $0x59,%edx
140095841:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
140095846:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14009584b:	4c 8b cf             	mov    %rdi,%r9
14009584e:	4c 8b c6             	mov    %rsi,%r8
140095851:	49 8b ce             	mov    %r14,%rcx
140095854:	e8 e3 fc ff ff       	call   0x14009553c
140095859:	84 c0                	test   %al,%al
14009585b:	0f 85 a7 0b 00 00    	jne    0x140096408
140095861:	e9 b5 fe ff ff       	jmp    0x14009571b
140095866:	4c 8b 7d 50          	mov    0x50(%rbp),%r15
14009586a:	4c 8b cf             	mov    %rdi,%r9
14009586d:	0f b6 55 60          	movzbl 0x60(%rbp),%edx
140095871:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
140095876:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14009587b:	e8 a8 0b 00 00       	call   0x140096428
140095880:	84 c0                	test   %al,%al
140095882:	0f 84 93 fe ff ff    	je     0x14009571b
140095888:	4c 8d 25 01 5f 04 00 	lea    0x45f01(%rip),%r12        # 0x1400db790
14009588f:	49 39 1f             	cmp    %rbx,(%r15)
140095892:	74 1e                	je     0x1400958b2
140095894:	41 0f b7 0c 24       	movzwl (%r12),%ecx
140095899:	66 85 c9             	test   %cx,%cx
14009589c:	74 14                	je     0x1400958b2
14009589e:	48 8b 07             	mov    (%rdi),%rax
1400958a1:	49 83 c4 02          	add    $0x2,%r12
1400958a5:	66 89 08             	mov    %cx,(%rax)
1400958a8:	48 83 07 02          	addq   $0x2,(%rdi)
1400958ac:	49 83 2f 01          	subq   $0x1,(%r15)
1400958b0:	75 e2                	jne    0x140095894
1400958b2:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
1400958b7:	4c 8b c6             	mov    %rsi,%r8
1400958ba:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
1400958bf:	49 8b ce             	mov    %r14,%rcx
1400958c2:	ba 02 00 00 00       	mov    $0x2,%edx
1400958c7:	4c 8b cf             	mov    %rdi,%r9
1400958ca:	e8 59 0b 00 00       	call   0x140096428
1400958cf:	eb 88                	jmp    0x140095859
1400958d1:	41 83 78 10 0b       	cmpl   $0xb,0x10(%r8)
1400958d6:	0f 87 8b 00 00 00    	ja     0x140095967
1400958dc:	49 63 48 10          	movslq 0x10(%r8),%rcx
1400958e0:	33 db                	xor    %ebx,%ebx
1400958e2:	48 8b 45 58          	mov    0x58(%rbp),%rax
1400958e6:	48 8b 94 c8 d0 01 00 	mov    0x1d0(%rax,%rcx,8),%rdx
1400958ed:	00
1400958ee:	48 8b 4d 50          	mov    0x50(%rbp),%rcx
1400958f2:	48 39 19             	cmp    %rbx,(%rcx)
1400958f5:	0f 84 0d 0b 00 00    	je     0x140096408
1400958fb:	44 0f b7 02          	movzwl (%rdx),%r8d
1400958ff:	66 45 85 c0          	test   %r8w,%r8w
140095903:	0f 84 ff 0a 00 00    	je     0x140096408
140095909:	48 8b 07             	mov    (%rdi),%rax
14009590c:	48 83 c2 02          	add    $0x2,%rdx
140095910:	66 44 89 00          	mov    %r8w,(%rax)
140095914:	48 83 07 02          	addq   $0x2,(%rdi)
140095918:	48 83 29 01          	subq   $0x1,(%rcx)
14009591c:	eb d7                	jmp    0x1400958f5
14009591e:	41 83 78 18 06       	cmpl   $0x6,0x18(%r8)
140095923:	77 42                	ja     0x140095967
140095925:	49 63 48 18          	movslq 0x18(%r8),%rcx
140095929:	33 db                	xor    %ebx,%ebx
14009592b:	48 8b 45 58          	mov    0x58(%rbp),%rax
14009592f:	48 8b 94 c8 60 01 00 	mov    0x160(%rax,%rcx,8),%rdx
140095936:	00
140095937:	48 8b 4d 50          	mov    0x50(%rbp),%rcx
14009593b:	48 39 19             	cmp    %rbx,(%rcx)
14009593e:	0f 84 c4 0a 00 00    	je     0x140096408
140095944:	44 0f b7 02          	movzwl (%rdx),%r8d
140095948:	66 45 85 c0          	test   %r8w,%r8w
14009594c:	0f 84 b6 0a 00 00    	je     0x140096408
140095952:	48 8b 07             	mov    (%rdi),%rax
140095955:	48 83 c2 02          	add    $0x2,%rdx
140095959:	66 44 89 00          	mov    %r8w,(%rax)
14009595d:	48 83 07 02          	addq   $0x2,(%rdi)
140095961:	48 83 29 01          	subq   $0x1,(%rcx)
140095965:	eb d7                	jmp    0x14009593e
140095967:	e8 58 88 fe ff       	call   0x14007e1c4
14009596c:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140095972:	e8 6d 8e ff ff       	call   0x14008e7e4
140095977:	32 c0                	xor    %al,%al
140095979:	e9 8c 0a 00 00       	jmp    0x14009640a
14009597e:	48 8b 4d 50          	mov    0x50(%rbp),%rcx
140095982:	48 8d 15 0b 5e 04 00 	lea    0x45e0b(%rip),%rdx        # 0x1400db794
140095989:	33 db                	xor    %ebx,%ebx
14009598b:	48 39 19             	cmp    %rbx,(%rcx)
14009598e:	0f 84 74 0a 00 00    	je     0x140096408
140095994:	44 0f b7 02          	movzwl (%rdx),%r8d
140095998:	66 45 85 c0          	test   %r8w,%r8w
14009599c:	0f 84 66 0a 00 00    	je     0x140096408
1400959a2:	48 8b 07             	mov    (%rdi),%rax
1400959a5:	48 83 c2 02          	add    $0x2,%rdx
1400959a9:	66 44 89 00          	mov    %r8w,(%rax)
1400959ad:	48 83 07 02          	addq   $0x2,(%rdi)
1400959b1:	48 83 29 01          	subq   $0x1,(%rcx)
1400959b5:	eb d7                	jmp    0x14009598e
1400959b7:	83 ea 70             	sub    $0x70,%edx
1400959ba:	0f 84 5c 03 00 00    	je     0x140095d1c
1400959c0:	83 ea 02             	sub    $0x2,%edx
1400959c3:	0f 84 0c 02 00 00    	je     0x140095bd5
1400959c9:	83 ea 02             	sub    $0x2,%edx
1400959cc:	0f 84 ca 01 00 00    	je     0x140095b9c
1400959d2:	83 ea 01             	sub    $0x1,%edx
1400959d5:	0f 84 88 01 00 00    	je     0x140095b63
1400959db:	83 ea 02             	sub    $0x2,%edx
1400959de:	0f 84 7f 01 00 00    	je     0x140095b63
1400959e4:	83 ea 01             	sub    $0x1,%edx
1400959e7:	0f 84 5b 01 00 00    	je     0x140095b48
1400959ed:	83 ea 01             	sub    $0x1,%edx
1400959f0:	0f 84 09 01 00 00    	je     0x140095aff
1400959f6:	83 fa 01             	cmp    $0x1,%edx
1400959f9:	0f 85 78 ff ff ff    	jne    0x140095977
1400959ff:	e8 14 ec ff ff       	call   0x140094618
140095a04:	33 db                	xor    %ebx,%ebx
140095a06:	48 8d 4d 38          	lea    0x38(%rbp),%rcx
140095a0a:	89 5d 38             	mov    %ebx,0x38(%rbp)
140095a0d:	e8 8a c1 fd ff       	call   0x140071b9c
140095a12:	85 c0                	test   %eax,%eax
140095a14:	0f 85 4d ff ff ff    	jne    0x140095967
140095a1a:	39 5e 20             	cmp    %ebx,0x20(%rsi)
140095a1d:	74 22                	je     0x140095a41
140095a1f:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140095a23:	89 5d f0             	mov    %ebx,-0x10(%rbp)
140095a26:	e8 41 c1 fd ff       	call   0x140071b6c
140095a2b:	85 c0                	test   %eax,%eax
140095a2d:	0f 85 34 ff ff ff    	jne    0x140095967
140095a33:	44 8b 45 38          	mov    0x38(%rbp),%r8d
140095a37:	44 03 45 f0          	add    -0x10(%rbp),%r8d
140095a3b:	44 89 45 38          	mov    %r8d,0x38(%rbp)
140095a3f:	eb 04                	jmp    0x140095a45
140095a41:	44 8b 45 38          	mov    0x38(%rbp),%r8d
140095a45:	41 b9 89 88 88 88    	mov    $0x88888889,%r9d
140095a4b:	4c 8d 25 ee 2b 04 00 	lea    0x42bee(%rip),%r12        # 0x1400d8640
140095a52:	41 8b c0             	mov    %r8d,%eax
140095a55:	99                   	cltd
140095a56:	8b c8                	mov    %eax,%ecx
140095a58:	41 8b c1             	mov    %r9d,%eax
140095a5b:	33 ca                	xor    %edx,%ecx
140095a5d:	2b ca                	sub    %edx,%ecx
140095a5f:	f7 e9                	imul   %ecx
140095a61:	44 8d 34 11          	lea    (%rcx,%rdx,1),%r14d
140095a65:	41 c1 fe 05          	sar    $0x5,%r14d
140095a69:	41 8b c6             	mov    %r14d,%eax
140095a6c:	c1 e8 1f             	shr    $0x1f,%eax
140095a6f:	44 03 f0             	add    %eax,%r14d
140095a72:	41 8b c1             	mov    %r9d,%eax
140095a75:	41 f7 ee             	imul   %r14d
140095a78:	41 8b c1             	mov    %r9d,%eax
140095a7b:	4c 8b 4d 50          	mov    0x50(%rbp),%r9
140095a7f:	45 8d 14 16          	lea    (%r14,%rdx,1),%r10d
140095a83:	41 f7 ee             	imul   %r14d
140095a86:	41 c1 fa 05          	sar    $0x5,%r10d
140095a8a:	41 03 d6             	add    %r14d,%edx
140095a8d:	41 8b ca             	mov    %r10d,%ecx
140095a90:	c1 fa 05             	sar    $0x5,%edx
140095a93:	8b c2                	mov    %edx,%eax
140095a95:	c1 e9 1f             	shr    $0x1f,%ecx
140095a98:	c1 e8 1f             	shr    $0x1f,%eax
140095a9b:	44 03 d1             	add    %ecx,%r10d
140095a9e:	03 d0                	add    %eax,%edx
140095aa0:	6b c2 3c             	imul   $0x3c,%edx,%eax
140095aa3:	44 2b f0             	sub    %eax,%r14d
140095aa6:	48 8d 05 f3 5c 04 00 	lea    0x45cf3(%rip),%rax        # 0x1400db7a0
140095aad:	45 85 c0             	test   %r8d,%r8d
140095ab0:	4c 0f 4e e0          	cmovle %rax,%r12
140095ab4:	49 39 19             	cmp    %rbx,(%r9)
140095ab7:	74 1e                	je     0x140095ad7