140196628:	76 11                	jbe    0x14019663b
14019662a:	4c 8d 25 4f ec 1a 00 	lea    0x1aec4f(%rip),%r12        # 0x140345280
140196631:	c7 44 24 20 03 00 00 	movl   $0x3,0x20(%rsp)
140196638:	00
140196639:	eb 70                	jmp    0x1401966ab
14019663b:	4c 3b 65 20          	cmp    0x20(%rbp),%r12
14019663f:	72 16                	jb     0x140196657
140196641:	8b c3                	mov    %ebx,%eax
140196643:	48 c1 e8 03          	shr    $0x3,%rax
140196647:	4c 2b e0             	sub    %rax,%r12
14019664a:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
140196651:	00
140196652:	83 e3 07             	and    $0x7,%ebx
140196655:	eb 50                	jmp    0x1401966a7
140196657:	4c 3b e2             	cmp    %rdx,%r12
14019665a:	75 19                	jne    0x140196675
14019665c:	41 8b d2             	mov    %r10d,%edx
14019665f:	83 fb 40             	cmp    $0x40,%ebx
140196662:	73 07                	jae    0x14019666b
140196664:	44 89 7c 24 20       	mov    %r15d,0x20(%rsp)
140196669:	eb 43                	jmp    0x1401966ae
14019666b:	c7 44 24 20 02 00 00 	movl   $0x2,0x20(%rsp)
140196672:	00
140196673:	eb 39                	jmp    0x1401966ae
140196675:	8b d3                	mov    %ebx,%edx
140196677:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
14019667e:	00
14019667f:	c1 ea 03             	shr    $0x3,%edx
140196682:	49 8b cc             	mov    %r12,%rcx
140196685:	8b c2                	mov    %edx,%eax
140196687:	48 2b c8             	sub    %rax,%rcx
14019668a:	48 8b 45 18          	mov    0x18(%rbp),%rax
14019668e:	48 3b c8             	cmp    %rax,%rcx
140196691:	73 0a                	jae    0x14019669d
140196693:	49 8b d4             	mov    %r12,%rdx
140196696:	44 89 7c 24 20       	mov    %r15d,0x20(%rsp)
14019669b:	2b d0                	sub    %eax,%edx
14019669d:	8b c2                	mov    %edx,%eax
14019669f:	4c 2b e0             	sub    %rax,%r12
1401966a2:	6b c2 f8             	imul   $0xfffffff8,%edx,%eax
1401966a5:	03 d8                	add    %eax,%ebx
1401966a7:	4d 8b 04 24          	mov    (%r12),%r8
1401966ab:	41 8b d2             	mov    %r10d,%edx
1401966ae:	33 c9                	xor    %ecx,%ecx
1401966b0:	f7 da                	neg    %edx
1401966b2:	4d 3b cd             	cmp    %r13,%r9
1401966b5:	0f 96 c1             	setbe  %cl
1401966b8:	33 c0                	xor    %eax,%eax
1401966ba:	39 44 24 20          	cmp    %eax,0x20(%rsp)
1401966be:	0f 94 c0             	sete   %al
1401966c1:	85 c8                	test   %ecx,%eax
1401966c3:	74 3a                	je     0x1401966ff
1401966c5:	8b cb                	mov    %ebx,%ecx
1401966c7:	49 8b d0             	mov    %r8,%rdx
1401966ca:	83 e1 3f             	and    $0x3f,%ecx
1401966cd:	48 d3 e2             	shl    %cl,%rdx
1401966d0:	41 8b ca             	mov    %r10d,%ecx
1401966d3:	f7 d9                	neg    %ecx
1401966d5:	83 e1 3f             	and    $0x3f,%ecx
1401966d8:	48 d3 ea             	shr    %cl,%rdx
1401966db:	41 0f b7 44 93 04    	movzwl 0x4(%r11,%rdx,4),%eax
1401966e1:	66 41 89 01          	mov    %ax,(%r9)
1401966e5:	41 0f b6 44 93 06    	movzbl 0x6(%r11,%rdx,4),%eax
1401966eb:	03 d8                	add    %eax,%ebx
1401966ed:	41 0f b6 44 93 07    	movzbl 0x7(%r11,%rdx,4),%eax
1401966f3:	48 8b 55 18          	mov    0x18(%rbp),%rdx
1401966f7:	4c 03 c8             	add    %rax,%r9
1401966fa:	e9 26 ff ff ff       	jmp    0x140196625
1401966ff:	4c 8b 7d 88          	mov    -0x78(%rbp),%r15
140196703:	4d 3b cd             	cmp    %r13,%r9
140196706:	4c 8b 6c 24 38       	mov    0x38(%rsp),%r13
14019670b:	4c 89 44 24 50       	mov    %r8,0x50(%rsp)
140196710:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
140196715:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
14019671a:	77 53                	ja     0x14019676f
14019671c:	4c 8b 64 24 60       	mov    0x60(%rsp),%r12
140196721:	83 e2 3f             	and    $0x3f,%edx
140196724:	89 54 24 70          	mov    %edx,0x70(%rsp)
140196728:	44 8b 6c 24 70       	mov    0x70(%rsp),%r13d
14019672d:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
140196732:	8b cb                	mov    %ebx,%ecx
140196734:	48 8b c2             	mov    %rdx,%rax
140196737:	83 e1 3f             	and    $0x3f,%ecx
14019673a:	48 d3 e0             	shl    %cl,%rax
14019673d:	41 8b cd             	mov    %r13d,%ecx
140196740:	48 d3 e8             	shr    %cl,%rax
140196743:	49 8d 0c 83          	lea    (%r11,%rax,4),%rcx
140196747:	41 0f b7 44 83 04    	movzwl 0x4(%r11,%rax,4),%eax
14019674d:	66 41 89 01          	mov    %ax,(%r9)
140196751:	0f b6 41 06          	movzbl 0x6(%rcx),%eax
140196755:	03 d8                	add    %eax,%ebx
140196757:	0f b6 41 07          	movzbl 0x7(%rcx),%eax
14019675b:	4c 03 c8             	add    %rax,%r9
14019675e:	4d 3b cc             	cmp    %r12,%r9
140196761:	76 cf                	jbe    0x140196732
140196763:	4c 8b 64 24 40       	mov    0x40(%rsp),%r12
140196768:	4c 8b 6c 24 38       	mov    0x38(%rsp),%r13
14019676d:	eb 05                	jmp    0x140196774
14019676f:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
140196774:	4c 3b 4d a0          	cmp    -0x60(%rbp),%r9
140196778:	73 46                	jae    0x1401967c0
14019677a:	8b cb                	mov    %ebx,%ecx
14019677c:	83 e1 3f             	and    $0x3f,%ecx
14019677f:	48 d3 e2             	shl    %cl,%rdx
140196782:	41 8b ca             	mov    %r10d,%ecx
140196785:	f7 d9                	neg    %ecx
140196787:	83 e1 3f             	and    $0x3f,%ecx
14019678a:	48 d3 ea             	shr    %cl,%rdx
14019678d:	41 0f b6 44 93 04    	movzbl 0x4(%r11,%rdx,4),%eax
140196793:	41 88 01             	mov    %al,(%r9)
140196796:	41 80 7c 93 07 01    	cmpb   $0x1,0x7(%r11,%rdx,4)
14019679c:	75 0a                	jne    0x1401967a8
14019679e:	41 0f b6 44 93 06    	movzbl 0x6(%r11,%rdx,4),%eax
1401967a4:	03 d8                	add    %eax,%ebx
1401967a6:	eb 18                	jmp    0x1401967c0
1401967a8:	83 fb 40             	cmp    $0x40,%ebx
1401967ab:	73 13                	jae    0x1401967c0
1401967ad:	41 0f b6 44 93 06    	movzbl 0x6(%r11,%rdx,4),%eax
1401967b3:	03 d8                	add    %eax,%ebx
1401967b5:	b8 40 00 00 00       	mov    $0x40,%eax
1401967ba:	83 fb 40             	cmp    $0x40,%ebx
1401967bd:	0f 47 d8             	cmova  %eax,%ebx
1401967c0:	48 8b 45 90          	mov    -0x70(%rbp),%rax
1401967c4:	4c 8b 4d 80          	mov    -0x80(%rbp),%r9
1401967c8:	48 8b 55 40          	mov    0x40(%rbp),%rdx
1401967cc:	49 2b c1             	sub    %r9,%rax
1401967cf:	48 83 f8 08          	cmp    $0x8,%rax
1401967d3:	0f 82 64 03 00 00    	jb     0x140196b3d
1401967d9:	41 83 fa 0b          	cmp    $0xb,%r10d
1401967dd:	0f 87 cd 01 00 00    	ja     0x1401969b0
1401967e3:	83 fe 40             	cmp    $0x40,%esi
1401967e6:	76 19                	jbe    0x140196801
1401967e8:	4c 8b 44 24 58       	mov    0x58(%rsp),%r8
1401967ed:	4c 8d 3d 8c ea 1a 00 	lea    0x1aea8c(%rip),%r15        # 0x140345280
1401967f4:	c7 44 24 20 03 00 00 	movl   $0x3,0x20(%rsp)
1401967fb:	00
1401967fc:	e9 73 00 00 00       	jmp    0x140196874
140196801:	4c 3b 7d 48          	cmp    0x48(%rbp),%r15
140196805:	72 16                	jb     0x14019681d
140196807:	8b c6                	mov    %esi,%eax
140196809:	48 c1 e8 03          	shr    $0x3,%rax
14019680d:	4c 2b f8             	sub    %rax,%r15
140196810:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
140196817:	00
140196818:	83 e6 07             	and    $0x7,%esi
14019681b:	eb 4f                	jmp    0x14019686c
14019681d:	4c 3b fa             	cmp    %rdx,%r15
140196820:	75 13                	jne    0x140196835
140196822:	4c 8b 44 24 58       	mov    0x58(%rsp),%r8
140196827:	83 fe 40             	cmp    $0x40,%esi
14019682a:	1b c0                	sbb    %eax,%eax
14019682c:	83 c0 02             	add    $0x2,%eax
14019682f:	89 44 24 20          	mov    %eax,0x20(%rsp)
140196833:	eb 3f                	jmp    0x140196874
140196835:	44 8b c6             	mov    %esi,%r8d
140196838:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
14019683f:	00
140196840:	41 c1 e8 03          	shr    $0x3,%r8d
140196844:	49 8b cf             	mov    %r15,%rcx
140196847:	41 8b c0             	mov    %r8d,%eax
14019684a:	48 2b c8             	sub    %rax,%rcx
14019684d:	48 3b ca             	cmp    %rdx,%rcx
140196850:	73 0e                	jae    0x140196860
140196852:	4d 8b c7             	mov    %r15,%r8
140196855:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%rsp)
14019685c:	00
14019685d:	44 2b c2             	sub    %edx,%r8d
140196860:	41 8b c0             	mov    %r8d,%eax
140196863:	4c 2b f8             	sub    %rax,%r15
140196866:	41 6b c0 f8          	imul   $0xfffffff8,%r8d,%eax
14019686a:	03 f0                	add    %eax,%esi
14019686c:	4d 8b 07             	mov    (%r15),%r8
14019686f:	4c 89 44 24 58       	mov    %r8,0x58(%rsp)
140196874:	48 8b 45 90          	mov    -0x70(%rbp),%rax
140196878:	33 c9                	xor    %ecx,%ecx
14019687a:	4c 8b 6c 24 38       	mov    0x38(%rsp),%r13
14019687f:	48 83 c0 f7          	add    $0xfffffffffffffff7,%rax
140196883:	4c 3b c8             	cmp    %rax,%r9
140196886:	0f 92 c1             	setb   %cl
140196889:	33 c0                	xor    %eax,%eax
14019688b:	39 44 24 20          	cmp    %eax,0x20(%rsp)
14019688f:	0f 94 c0             	sete   %al
140196892:	85 c8                	test   %ecx,%eax
140196894:	0f 84 0b 03 00 00    	je     0x140196ba5
14019689a:	49 8b c0             	mov    %r8,%rax
14019689d:	8b ce                	mov    %esi,%ecx
14019689f:	83 e1 3f             	and    $0x3f,%ecx
1401968a2:	41 f7 da             	neg    %r10d
1401968a5:	48 d3 e0             	shl    %cl,%rax
1401968a8:	41 83 e2 3f          	and    $0x3f,%r10d
1401968ac:	41 8b ca             	mov    %r10d,%ecx
1401968af:	48 d3 e8             	shr    %cl,%rax
1401968b2:	49 8d 0c 83          	lea    (%r11,%rax,4),%rcx
1401968b6:	41 0f b7 44 83 04    	movzwl 0x4(%r11,%rax,4),%eax
1401968bc:	66 41 89 01          	mov    %ax,(%r9)
1401968c0:	0f b6 51 06          	movzbl 0x6(%rcx),%edx
1401968c4:	0f b6 41 07          	movzbl 0x7(%rcx),%eax
1401968c8:	03 d6                	add    %esi,%edx
1401968ca:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
1401968cf:	4c 03 c8             	add    %rax,%r9
1401968d2:	49 8b c0             	mov    %r8,%rax
1401968d5:	8b ca                	mov    %edx,%ecx
1401968d7:	83 e1 3f             	and    $0x3f,%ecx
1401968da:	48 d3 e0             	shl    %cl,%rax
1401968dd:	41 8b ca             	mov    %r10d,%ecx
1401968e0:	48 d3 e8             	shr    %cl,%rax
1401968e3:	49 8d 0c 83          	lea    (%r11,%rax,4),%rcx
1401968e7:	41 0f b7 44 83 04    	movzwl 0x4(%r11,%rax,4),%eax
1401968ed:	66 41 89 01          	mov    %ax,(%r9)
1401968f1:	44 0f b6 41 06       	movzbl 0x6(%rcx),%r8d
1401968f6:	0f b6 41 07          	movzbl 0x7(%rcx),%eax
1401968fa:	44 03 c2             	add    %edx,%r8d
1401968fd:	4c 03 c8             	add    %rax,%r9
140196900:	41 8b c8             	mov    %r8d,%ecx
140196903:	83 e1 3f             	and    $0x3f,%ecx
140196906:	4c 89 4d 80          	mov    %r9,-0x80(%rbp)
14019690a:	48 8b c6             	mov    %rsi,%rax
14019690d:	48 d3 e0             	shl    %cl,%rax
140196910:	41 8b ca             	mov    %r10d,%ecx
140196913:	48 d3 e8             	shr    %cl,%rax
140196916:	49 8d 0c 83          	lea    (%r11,%rax,4),%rcx
14019691a:	41 0f b7 44 83 04    	movzwl 0x4(%r11,%rax,4),%eax
140196920:	66 41 89 01          	mov    %ax,(%r9)
140196924:	44 0f b6 49 06       	movzbl 0x6(%rcx),%r9d
140196929:	0f b6 41 07          	movzbl 0x7(%rcx),%eax
14019692d:	45 03 c8             	add    %r8d,%r9d
140196930:	4c 8b 45 80          	mov    -0x80(%rbp),%r8
140196934:	41 8b c9             	mov    %r9d,%ecx
140196937:	4c 03 c0             	add    %rax,%r8
14019693a:	83 e1 3f             	and    $0x3f,%ecx
14019693d:	48 8b c6             	mov    %rsi,%rax
140196940:	4c 89 45 80          	mov    %r8,-0x80(%rbp)
140196944:	48 d3 e0             	shl    %cl,%rax
140196947:	41 8b ca             	mov    %r10d,%ecx
14019694a:	48 d3 e8             	shr    %cl,%rax
14019694d:	49 8d 14 83          	lea    (%r11,%rax,4),%rdx
140196951:	41 0f b7 44 83 04    	movzwl 0x4(%r11,%rax,4),%eax
140196957:	66 41 89 00          	mov    %ax,(%r8)
14019695b:	0f b6 42 07          	movzbl 0x7(%rdx),%eax
14019695f:	44 0f b6 42 06       	movzbl 0x6(%rdx),%r8d
140196964:	48 8b 55 40          	mov    0x40(%rbp),%rdx
140196968:	45 03 c1             	add    %r9d,%r8d
14019696b:	4c 8b 4d 80          	mov    -0x80(%rbp),%r9
14019696f:	41 8b c8             	mov    %r8d,%ecx
140196972:	4c 03 c8             	add    %rax,%r9
140196975:	83 e1 3f             	and    $0x3f,%ecx
140196978:	48 8b c6             	mov    %rsi,%rax
14019697b:	48 d3 e0             	shl    %cl,%rax
14019697e:	41 8b ca             	mov    %r10d,%ecx
140196981:	44 8b 95 a8 00 00 00 	mov    0xa8(%rbp),%r10d
140196988:	48 d3 e8             	shr    %cl,%rax
14019698b:	49 8d 0c 83          	lea    (%r11,%rax,4),%rcx
14019698f:	41 0f b7 44 83 04    	movzwl 0x4(%r11,%rax,4),%eax
140196995:	66 41 89 01          	mov    %ax,(%r9)
140196999:	0f b6 71 06          	movzbl 0x6(%rcx),%esi
14019699d:	0f b6 41 07          	movzbl 0x7(%rcx),%eax
1401969a1:	41 03 f0             	add    %r8d,%esi
1401969a4:	4c 03 c8             	add    %rax,%r9
1401969a7:	e9 37 fe ff ff       	jmp    0x1401967e3
1401969ac:	0f 1f 40 00          	nopl   0x0(%rax)
1401969b0:	83 fe 40             	cmp    $0x40,%esi
1401969b3:	76 16                	jbe    0x1401969cb
1401969b5:	4c 8b 44 24 58       	mov    0x58(%rsp),%r8
1401969ba:	4c 8d 3d bf e8 1a 00 	lea    0x1ae8bf(%rip),%r15        # 0x140345280
1401969c1:	c7 44 24 20 03 00 00 	movl   $0x3,0x20(%rsp)
1401969c8:	00
1401969c9:	eb 73                	jmp    0x140196a3e
1401969cb:	4c 3b 7d 48          	cmp    0x48(%rbp),%r15
1401969cf:	72 16                	jb     0x1401969e7
1401969d1:	8b c6                	mov    %esi,%eax
1401969d3:	48 c1 e8 03          	shr    $0x3,%rax
1401969d7:	4c 2b f8             	sub    %rax,%r15
1401969da:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
1401969e1:	00
1401969e2:	83 e6 07             	and    $0x7,%esi
1401969e5:	eb 4f                	jmp    0x140196a36
1401969e7:	4c 3b fa             	cmp    %rdx,%r15
1401969ea:	75 13                	jne    0x1401969ff
1401969ec:	4c 8b 44 24 58       	mov    0x58(%rsp),%r8
1401969f1:	83 fe 40             	cmp    $0x40,%esi
1401969f4:	1b c0                	sbb    %eax,%eax
1401969f6:	83 c0 02             	add    $0x2,%eax
1401969f9:	89 44 24 20          	mov    %eax,0x20(%rsp)
1401969fd:	eb 3f                	jmp    0x140196a3e
1401969ff:	44 8b c6             	mov    %esi,%r8d
140196a02:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
140196a09:	00
140196a0a:	41 c1 e8 03          	shr    $0x3,%r8d
140196a0e:	49 8b cf             	mov    %r15,%rcx
140196a11:	41 8b c0             	mov    %r8d,%eax
140196a14:	48 2b c8             	sub    %rax,%rcx
140196a17:	48 3b ca             	cmp    %rdx,%rcx
140196a1a:	73 0e                	jae    0x140196a2a
140196a1c:	4d 8b c7             	mov    %r15,%r8
140196a1f:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%rsp)
140196a26:	00
140196a27:	44 2b c2             	sub    %edx,%r8d
140196a2a:	41 8b c0             	mov    %r8d,%eax
140196a2d:	4c 2b f8             	sub    %rax,%r15
140196a30:	41 6b c0 f8          	imul   $0xfffffff8,%r8d,%eax
140196a34:	03 f0                	add    %eax,%esi
140196a36:	4d 8b 07             	mov    (%r15),%r8
140196a39:	4c 89 44 24 58       	mov    %r8,0x58(%rsp)
140196a3e:	48 8b 45 90          	mov    -0x70(%rbp),%rax
140196a42:	33 c9                	xor    %ecx,%ecx
140196a44:	4c 8b 64 24 40       	mov    0x40(%rsp),%r12
140196a49:	48 83 c0 f9          	add    $0xfffffffffffffff9,%rax
140196a4d:	4c 3b c8             	cmp    %rax,%r9
140196a50:	0f 92 c1             	setb   %cl
140196a53:	33 c0                	xor    %eax,%eax
140196a55:	39 44 24 20          	cmp    %eax,0x20(%rsp)
140196a59:	0f 94 c0             	sete   %al
140196a5c:	85 c8                	test   %ecx,%eax
140196a5e:	0f 84 41 01 00 00    	je     0x140196ba5
140196a64:	49 8b c0             	mov    %r8,%rax
140196a67:	8b ce                	mov    %esi,%ecx
140196a69:	83 e1 3f             	and    $0x3f,%ecx
140196a6c:	41 f7 da             	neg    %r10d
140196a6f:	48 d3 e0             	shl    %cl,%rax
140196a72:	41 83 e2 3f          	and    $0x3f,%r10d
140196a76:	41 8b ca             	mov    %r10d,%ecx
140196a79:	48 d3 e8             	shr    %cl,%rax
140196a7c:	49 8d 0c 83          	lea    (%r11,%rax,4),%rcx
140196a80:	41 0f b7 44 83 04    	movzwl 0x4(%r11,%rax,4),%eax
140196a86:	66 41 89 01          	mov    %ax,(%r9)
140196a8a:	0f b6 51 06          	movzbl 0x6(%rcx),%edx
140196a8e:	0f b6 41 07          	movzbl 0x7(%rcx),%eax
140196a92:	03 d6                	add    %esi,%edx
140196a94:	4c 03 c8             	add    %rax,%r9
140196a97:	8b ca                	mov    %edx,%ecx
140196a99:	83 e1 3f             	and    $0x3f,%ecx
140196a9c:	49 8b c0             	mov    %r8,%rax
140196a9f:	48 d3 e0             	shl    %cl,%rax
140196aa2:	41 8b ca             	mov    %r10d,%ecx
140196aa5:	48 d3 e8             	shr    %cl,%rax
140196aa8:	49 8d 0c 83          	lea    (%r11,%rax,4),%rcx
140196aac:	41 0f b7 44 83 04    	movzwl 0x4(%r11,%rax,4),%eax
140196ab2:	66 41 89 01          	mov    %ax,(%r9)
140196ab6:	44 0f b6 41 06       	movzbl 0x6(%rcx),%r8d
140196abb:	0f b6 41 07          	movzbl 0x7(%rcx),%eax
140196abf:	44 03 c2             	add    %edx,%r8d
140196ac2:	4c 03 c8             	add    %rax,%r9
140196ac5:	41 8b c8             	mov    %r8d,%ecx
140196ac8:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
140196acd:	83 e1 3f             	and    $0x3f,%ecx
140196ad0:	48 d3 e0             	shl    %cl,%rax
140196ad3:	41 8b ca             	mov    %r10d,%ecx
140196ad6:	48 d3 e8             	shr    %cl,%rax
140196ad9:	49 8d 14 83          	lea    (%r11,%rax,4),%rdx
140196add:	4c 89 4d 80          	mov    %r9,-0x80(%rbp)