140003504:	41 54                	push   %r12
140003506:	41 55                	push   %r13
140003508:	41 56                	push   %r14
14000350a:	41 57                	push   %r15
14000350c:	48 83 ec 50          	sub    $0x50,%rsp
140003510:	4d 8b f9             	mov    %r9,%r15
140003513:	49 8b e8             	mov    %r8,%rbp
140003516:	4c 8b e2             	mov    %rdx,%r12
140003519:	48 8b d9             	mov    %rcx,%rbx
14000351c:	44 8b ac 24 a8 00 00 	mov    0xa8(%rsp),%r13d
140003523:	00
140003524:	44 89 68 b0          	mov    %r13d,-0x50(%rax)
140003528:	4c 8b b4 24 a0 00 00 	mov    0xa0(%rsp),%r14
14000352f:	00
140003530:	4c 89 70 a8          	mov    %r14,-0x58(%rax)
140003534:	e8 ef 03 00 00       	call   0x140003928
140003539:	84 c0                	test   %al,%al
14000353b:	74 07                	je     0x140003544
14000353d:	b0 01                	mov    $0x1,%al
14000353f:	e9 fe 00 00 00       	jmp    0x140003642
140003544:	49 8d 56 20          	lea    0x20(%r14),%rdx
140003548:	48 03 d5             	add    %rbp,%rdx
14000354b:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
14000354f:	48 83 39 00          	cmpq   $0x0,(%rcx)
140003553:	0f 85 a2 00 00 00    	jne    0x1400035fb
140003559:	0f 57 c0             	xorps  %xmm0,%xmm0
14000355c:	f3 0f 7f 44 24 30    	movdqu %xmm0,0x30(%rsp)
140003562:	0f 57 c9             	xorps  %xmm1,%xmm1
140003565:	f3 0f 7f 4c 24 40    	movdqu %xmm1,0x40(%rsp)
14000356b:	48 83 c2 0a          	add    $0xa,%rdx
14000356f:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140003574:	e8 cf f6 ff ff       	call   0x140002c48
140003579:	84 c0                	test   %al,%al
14000357b:	74 52                	je     0x1400035cf
14000357d:	4c 8b 4c 24 40       	mov    0x40(%rsp),%r9
140003582:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
140003587:	4c 2b ca             	sub    %rdx,%r9
14000358a:	45 33 c0             	xor    %r8d,%r8d
14000358d:	48 8b cb             	mov    %rbx,%rcx
140003590:	e8 2f fe ff ff       	call   0x1400033c4
140003595:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
14000359a:	33 ff                	xor    %edi,%edi
14000359c:	48 8b 73 30          	mov    0x30(%rbx),%rsi
1400035a0:	48 89 43 30          	mov    %rax,0x30(%rbx)
1400035a4:	48 85 f6             	test   %rsi,%rsi
1400035a7:	74 20                	je     0x1400035c9
1400035a9:	48 ff 15 f8 95 01 00 	rex.W call *0x195f8(%rip)        # 0x14001cba8
1400035b0:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400035b5:	48 8b c8             	mov    %rax,%rcx
1400035b8:	4c 8b c6             	mov    %rsi,%r8
1400035bb:	33 d2                	xor    %edx,%edx
1400035bd:	48 ff 15 ec 95 01 00 	rex.W call *0x195ec(%rip)        # 0x14001cbb0
1400035c4:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400035c9:	c6 43 3a 01          	movb   $0x1,0x3a(%rbx)
1400035cd:	eb 05                	jmp    0x1400035d4
1400035cf:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1400035d4:	48 85 ff             	test   %rdi,%rdi
1400035d7:	74 4e                	je     0x140003627
1400035d9:	48 ff 15 c8 95 01 00 	rex.W call *0x195c8(%rip)        # 0x14001cba8
1400035e0:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400035e5:	48 8b c8             	mov    %rax,%rcx
1400035e8:	4c 8b c7             	mov    %rdi,%r8
1400035eb:	33 d2                	xor    %edx,%edx
1400035ed:	48 ff 15 bc 95 01 00 	rex.W call *0x195bc(%rip)        # 0x14001cbb0
1400035f4:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400035f9:	eb 2c                	jmp    0x140003627
1400035fb:	80 7b 3a 00          	cmpb   $0x0,0x3a(%rbx)
1400035ff:	74 26                	je     0x140003627
140003601:	4c 8b 41 10          	mov    0x10(%rcx),%r8
140003605:	4c 2b 01             	sub    (%rcx),%r8
140003608:	48 8b 41 08          	mov    0x8(%rcx),%rax
14000360c:	48 2b 01             	sub    (%rcx),%rax
14000360f:	48 03 c2             	add    %rdx,%rax
140003612:	49 3b c0             	cmp    %r8,%rax
140003615:	72 10                	jb     0x140003627
140003617:	4b 8d 04 00          	lea    (%r8,%r8,1),%rax
14000361b:	48 3b d0             	cmp    %rax,%rdx
14000361e:	48 0f 42 d0          	cmovb  %rax,%rdx
140003622:	e8 21 f6 ff ff       	call   0x140002c48
140003627:	44 89 6c 24 28       	mov    %r13d,0x28(%rsp)
14000362c:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140003631:	4d 8b cf             	mov    %r15,%r9
140003634:	4c 8b c5             	mov    %rbp,%r8
140003637:	49 8b d4             	mov    %r12,%rdx
14000363a:	48 8b cb             	mov    %rbx,%rcx
14000363d:	e8 e6 02 00 00       	call   0x140003928
140003642:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
140003647:	49 8b 5b 30          	mov    0x30(%r11),%rbx
14000364b:	49 8b 6b 38          	mov    0x38(%r11),%rbp
14000364f:	49 8b 73 40          	mov    0x40(%r11),%rsi
140003653:	49 8b e3             	mov    %r11,%rsp
140003656:	41 5f                	pop    %r15
140003658:	41 5e                	pop    %r14
14000365a:	41 5d                	pop    %r13
14000365c:	41 5c                	pop    %r12
14000365e:	5f                   	pop    %rdi
14000365f:	c3                   	ret
140003660:	cc                   	int3
140003661:	cc                   	int3
140003662:	cc                   	int3
140003663:	cc                   	int3
140003664:	cc                   	int3
140003665:	cc                   	int3
140003666:	cc                   	int3
140003667:	cc                   	int3
140003668:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14000366d:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140003672:	55                   	push   %rbp
140003673:	56                   	push   %rsi
140003674:	57                   	push   %rdi
140003675:	41 54                	push   %r12
140003677:	41 55                	push   %r13
140003679:	41 56                	push   %r14
14000367b:	41 57                	push   %r15
14000367d:	48 8b ec             	mov    %rsp,%rbp
140003680:	48 83 ec 70          	sub    $0x70,%rsp
140003684:	0f b7 41 06          	movzwl 0x6(%rcx),%eax
140003688:	48 8d 7a 04          	lea    0x4(%rdx),%rdi
14000368c:	49 83 cc ff          	or     $0xffffffffffffffff,%r12
140003690:	66 89 45 b8          	mov    %ax,-0x48(%rbp)
140003694:	8a 41 08             	mov    0x8(%rcx),%al
140003697:	33 db                	xor    %ebx,%ebx
140003699:	0f 57 c0             	xorps  %xmm0,%xmm0
14000369c:	88 45 ba             	mov    %al,-0x46(%rbp)
14000369f:	4d 8b f0             	mov    %r8,%r14
1400036a2:	4c 8b ea             	mov    %rdx,%r13
1400036a5:	45 8d 5c 24 05       	lea    0x5(%r12),%r11d
1400036aa:	4c 8b f9             	mov    %rcx,%r15
1400036ad:	45 8d 54 24 03       	lea    0x3(%r12),%r10d
1400036b2:	89 5d bc             	mov    %ebx,-0x44(%rbp)
1400036b5:	66 89 5d c0          	mov    %bx,-0x40(%rbp)
1400036b9:	f3 0f 7f 45 c8       	movdqu %xmm0,-0x38(%rbp)
1400036be:	48 39 59 10          	cmp    %rbx,0x10(%rcx)
1400036c2:	0f 86 36 01 00 00    	jbe    0x1400037fe
1400036c8:	48 8b 41 20          	mov    0x20(%rcx),%rax
1400036cc:	33 d2                	xor    %edx,%edx
1400036ce:	49 2b c0             	sub    %r8,%rax
1400036d1:	48 f7 71 10          	divq   0x10(%rcx)
1400036d5:	8b 0f                	mov    (%rdi),%ecx
1400036d7:	48 3b c8             	cmp    %rax,%rcx
1400036da:	76 38                	jbe    0x140003714
1400036dc:	3b c8                	cmp    %eax,%ecx
1400036de:	74 34                	je     0x140003714
1400036e0:	89 07                	mov    %eax,(%rdi)
1400036e2:	41 8a 45 02          	mov    0x2(%r13),%al
1400036e6:	3c 01                	cmp    $0x1,%al
1400036e8:	75 13                	jne    0x1400036fd
1400036ea:	0f b7 07             	movzwl (%rdi),%eax
1400036ed:	4c 8d 45 40          	lea    0x40(%rbp),%r8
1400036f1:	66 89 45 40          	mov    %ax,0x40(%rbp)
1400036f5:	45 8b ca             	mov    %r10d,%r9d
1400036f8:	41 8b d2             	mov    %r10d,%edx
1400036fb:	eb 0e                	jmp    0x14000370b
1400036fd:	41 3a c2             	cmp    %r10b,%al
140003700:	75 12                	jne    0x140003714
140003702:	4d 8b cb             	mov    %r11,%r9
140003705:	4c 8b c7             	mov    %rdi,%r8
140003708:	49 8b d3             	mov    %r11,%rdx
14000370b:	49 8b 4d 10          	mov    0x10(%r13),%rcx
14000370f:	e8 24 59 00 00       	call   0x140009038
140003714:	8b 37                	mov    (%rdi),%esi
140003716:	0f 57 c0             	xorps  %xmm0,%xmm0
140003719:	49 8b 47 10          	mov    0x10(%r15),%rax
14000371d:	48 8b 7d 60          	mov    0x60(%rbp),%rdi
140003721:	48 0f af c6          	imul   %rsi,%rax
140003725:	f3 0f 7f 45 e8       	movdqu %xmm0,-0x18(%rbp)
14000372a:	89 5d dc             	mov    %ebx,-0x24(%rbp)
14000372d:	49 03 c6             	add    %r14,%rax
140003730:	66 89 5d e0          	mov    %bx,-0x20(%rbp)
140003734:	48 89 45 b0          	mov    %rax,-0x50(%rbp)
140003738:	41 0f b7 47 06       	movzwl 0x6(%r15),%eax
14000373d:	66 89 45 d8          	mov    %ax,-0x28(%rbp)
140003741:	41 8a 47 08          	mov    0x8(%r15),%al
140003745:	88 45 da             	mov    %al,-0x26(%rbp)
140003748:	eb 61                	jmp    0x1400037ab
14000374a:	49 8b 47 10          	mov    0x10(%r15),%rax
14000374e:	48 8d 55 40          	lea    0x40(%rbp),%rdx
140003752:	4d 8b 47 20          	mov    0x20(%r15),%r8
140003756:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
14000375a:	4c 8b ee             	mov    %rsi,%r13
14000375d:	49 d1 ed             	shr    $1,%r13
140003760:	49 0f af c5          	imul   %r13,%rax
140003764:	49 03 c6             	add    %r14,%rax
140003767:	48 89 45 40          	mov    %rax,0x40(%rbp)
14000376b:	e8 78 fa ff ff       	call   0x1400031e8
140003770:	0f b7 45 e0          	movzwl -0x20(%rbp),%eax
140003774:	48 3b f8             	cmp    %rax,%rdi
140003777:	75 14                	jne    0x14000378d
140003779:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
14000377d:	4c 8b c7             	mov    %rdi,%r8
140003780:	48 8b 4d 58          	mov    0x58(%rbp),%rcx
140003784:	e8 ce 6a 01 00       	call   0x14001a257
140003789:	8b c8                	mov    %eax,%ecx
14000378b:	eb 08                	jmp    0x140003795
14000378d:	0f b7 45 e0          	movzwl -0x20(%rbp),%eax
140003791:	8b cf                	mov    %edi,%ecx
140003793:	2b c8                	sub    %eax,%ecx
140003795:	85 c9                	test   %ecx,%ecx
140003797:	7e 0f                	jle    0x1400037a8
140003799:	4c 8b 75 40          	mov    0x40(%rbp),%r14
14000379d:	49 8b c4             	mov    %r12,%rax
1400037a0:	49 2b c5             	sub    %r13,%rax
1400037a3:	48 03 f0             	add    %rax,%rsi
1400037a6:	eb 03                	jmp    0x1400037ab
1400037a8:	49 8b f5             	mov    %r13,%rsi
1400037ab:	48 85 f6             	test   %rsi,%rsi
1400037ae:	75 9a                	jne    0x14000374a
1400037b0:	4c 3b 75 b0          	cmp    -0x50(%rbp),%r14
1400037b4:	0f 83 49 01 00 00    	jae    0x140003903
1400037ba:	4d 8b 47 20          	mov    0x20(%r15),%r8
1400037be:	48 8d 55 40          	lea    0x40(%rbp),%rdx
1400037c2:	48 8d 4d b8          	lea    -0x48(%rbp),%rcx
1400037c6:	4c 89 75 40          	mov    %r14,0x40(%rbp)
1400037ca:	e8 19 fa ff ff       	call   0x1400031e8
1400037cf:	0f b7 45 c0          	movzwl -0x40(%rbp),%eax
1400037d3:	48 3b f8             	cmp    %rax,%rdi
1400037d6:	75 18                	jne    0x1400037f0
1400037d8:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
1400037dc:	4c 8b c7             	mov    %rdi,%r8
1400037df:	48 8b 4d 58          	mov    0x58(%rbp),%rcx
1400037e3:	e8 6f 6a 01 00       	call   0x14001a257
1400037e8:	44 8b e0             	mov    %eax,%r12d
1400037eb:	e9 a4 00 00 00       	jmp    0x140003894
1400037f0:	0f b7 45 c0          	movzwl -0x40(%rbp),%eax
1400037f4:	2b f8                	sub    %eax,%edi
1400037f6:	44 8b e7             	mov    %edi,%r12d
1400037f9:	e9 96 00 00 00       	jmp    0x140003894
1400037fe:	8b f3                	mov    %ebx,%esi
140003800:	39 1f                	cmp    %ebx,(%rdi)
140003802:	0f 86 fb 00 00 00    	jbe    0x140003903
140003808:	4d 8b 47 20          	mov    0x20(%r15),%r8
14000380c:	48 8d 55 40          	lea    0x40(%rbp),%rdx
140003810:	48 8d 4d b8          	lea    -0x48(%rbp),%rcx
140003814:	4c 89 75 40          	mov    %r14,0x40(%rbp)
140003818:	e8 cb f9 ff ff       	call   0x1400031e8
14000381d:	84 c0                	test   %al,%al
14000381f:	74 3c                	je     0x14000385d
140003821:	0f b7 45 c0          	movzwl -0x40(%rbp),%eax
140003825:	48 8b 4d 60          	mov    0x60(%rbp),%rcx
140003829:	48 3b c8             	cmp    %rax,%rcx
14000382c:	75 15                	jne    0x140003843
14000382e:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
140003832:	4c 8b c1             	mov    %rcx,%r8
140003835:	48 8b 4d 58          	mov    0x58(%rbp),%rcx
140003839:	e8 19 6a 01 00       	call   0x14001a257
14000383e:	44 8b e0             	mov    %eax,%r12d
140003841:	eb 09                	jmp    0x14000384c
140003843:	0f b7 45 c0          	movzwl -0x40(%rbp),%eax
140003847:	2b c8                	sub    %eax,%ecx
140003849:	44 8b e1             	mov    %ecx,%r12d
14000384c:	45 85 e4             	test   %r12d,%r12d
14000384f:	7e 46                	jle    0x140003897
140003851:	4c 8b 75 40          	mov    0x40(%rbp),%r14
140003855:	ff c6                	inc    %esi
140003857:	3b 37                	cmp    (%rdi),%esi
140003859:	72 ad                	jb     0x140003808
14000385b:	eb 37                	jmp    0x140003894
14000385d:	39 37                	cmp    %esi,(%rdi)
14000385f:	74 33                	je     0x140003894
140003861:	41 8a 45 02          	mov    0x2(%r13),%al
140003865:	89 37                	mov    %esi,(%rdi)
140003867:	3c 01                	cmp    $0x1,%al
140003869:	75 10                	jne    0x14000387b
14000386b:	66 89 75 40          	mov    %si,0x40(%rbp)
14000386f:	4c 8d 45 40          	lea    0x40(%rbp),%r8
140003873:	41 b9 02 00 00 00    	mov    $0x2,%r9d
140003879:	eb 0d                	jmp    0x140003888
14000387b:	3c 02                	cmp    $0x2,%al
14000387d:	75 15                	jne    0x140003894
14000387f:	41 b9 04 00 00 00    	mov    $0x4,%r9d
140003885:	4c 8b c7             	mov    %rdi,%r8
140003888:	49 8b 4d 10          	mov    0x10(%r13),%rcx
14000388c:	49 8b d1             	mov    %r9,%rdx
14000388f:	e8 a4 57 00 00       	call   0x140009038
140003894:	45 85 e4             	test   %r12d,%r12d
140003897:	75 6a                	jne    0x140003903
140003899:	44 8a 45 ba          	mov    -0x46(%rbp),%r8b
14000389d:	45 84 c0             	test   %r8b,%r8b
1400038a0:	40 0f 95 c7          	setne  %dil
1400038a4:	45 84 c0             	test   %r8b,%r8b
1400038a7:	74 45                	je     0x1400038ee
1400038a9:	44 8b 4d 68          	mov    0x68(%rbp),%r9d
1400038ad:	44 03 4d bc          	add    -0x44(%rbp),%r9d
1400038b1:	44 39 4d bc          	cmp    %r9d,-0x44(%rbp)
1400038b5:	74 37                	je     0x1400038ee
1400038b7:	44 89 4d bc          	mov    %r9d,-0x44(%rbp)
1400038bb:	41 80 f8 01          	cmp    $0x1,%r8b
1400038bf:	75 11                	jne    0x1400038d2
1400038c1:	66 44 89 4d 40       	mov    %r9w,0x40(%rbp)
1400038c6:	4c 8d 45 40          	lea    0x40(%rbp),%r8
1400038ca:	41 b9 02 00 00 00    	mov    $0x2,%r9d
1400038d0:	eb 10                	jmp    0x1400038e2
1400038d2:	41 80 f8 02          	cmp    $0x2,%r8b
1400038d6:	75 16                	jne    0x1400038ee
1400038d8:	41 b9 04 00 00 00    	mov    $0x4,%r9d
1400038de:	4c 8d 45 bc          	lea    -0x44(%rbp),%r8
1400038e2:	48 8b 4d c8          	mov    -0x38(%rbp),%rcx
1400038e6:	49 8b d1             	mov    %r9,%rdx
1400038e9:	e8 4a 57 00 00       	call   0x140009038
1400038ee:	40 84 ff             	test   %dil,%dil
1400038f1:	75 06                	jne    0x1400038f9
1400038f3:	41 38 5f 38          	cmp    %bl,0x38(%r15)
1400038f7:	74 02                	je     0x1400038fb
1400038f9:	b3 01                	mov    $0x1,%bl
1400038fb:	41 88 5f 38          	mov    %bl,0x38(%r15)
1400038ff:	33 c0                	xor    %eax,%eax
140003901:	eb 03                	jmp    0x140003906
140003903:	49 8b c6             	mov    %r14,%rax
140003906:	48 8b 9c 24 b8 00 00 	mov    0xb8(%rsp),%rbx
14000390d:	00
14000390e:	48 83 c4 70          	add    $0x70,%rsp
140003912:	41 5f                	pop    %r15
140003914:	41 5e                	pop    %r14
140003916:	41 5d                	pop    %r13
140003918:	41 5c                	pop    %r12
14000391a:	5f                   	pop    %rdi
14000391b:	5e                   	pop    %rsi
14000391c:	5d                   	pop    %rbp
14000391d:	c3                   	ret
14000391e:	cc                   	int3
14000391f:	cc                   	int3
140003920:	cc                   	int3
140003921:	cc                   	int3
140003922:	cc                   	int3
140003923:	cc                   	int3
140003924:	cc                   	int3
140003925:	cc                   	int3
140003926:	cc                   	int3
140003927:	cc                   	int3
140003928:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
14000392d:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140003932:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140003937:	55                   	push   %rbp
140003938:	56                   	push   %rsi
140003939:	57                   	push   %rdi
14000393a:	41 54                	push   %r12
14000393c:	41 55                	push   %r13
14000393e:	41 56                	push   %r14
140003940:	41 57                	push   %r15
140003942:	48 8b ec             	mov    %rsp,%rbp
140003945:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
14000394c:	48 8b 79 18          	mov    0x18(%rcx),%rdi
140003950:	48 8b d9             	mov    %rcx,%rbx
140003953:	33 c9                	xor    %ecx,%ecx
140003955:	4d 8b f9             	mov    %r9,%r15
140003958:	4d 8b e8             	mov    %r8,%r13
14000395b:	4c 8b f2             	mov    %rdx,%r14
14000395e:	48 85 ff             	test   %rdi,%rdi
140003961:	0f 84 93 03 00 00    	je     0x140003cfa
140003967:	0f b7 43 02          	movzwl 0x2(%rbx),%eax