1400085f7:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400085fc:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140008601:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140008606:	48 83 c4 20          	add    $0x20,%rsp
14000860a:	41 5f                	pop    %r15
14000860c:	41 5e                	pop    %r14
14000860e:	5f                   	pop    %rdi
14000860f:	c3                   	ret
140008610:	cc                   	int3
140008611:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140008616:	e8 6d e0 ff ff       	call   0x140006688
14000861b:	cc                   	int3
14000861c:	cc                   	int3
14000861d:	cc                   	int3
14000861e:	cc                   	int3
14000861f:	cc                   	int3
140008620:	cc                   	int3
140008621:	cc                   	int3
140008622:	cc                   	int3
140008623:	cc                   	int3
140008624:	48 8b c4             	mov    %rsp,%rax
140008627:	57                   	push   %rdi
140008628:	41 54                	push   %r12
14000862a:	41 55                	push   %r13
14000862c:	41 56                	push   %r14
14000862e:	41 57                	push   %r15
140008630:	48 83 ec 60          	sub    $0x60,%rsp
140008634:	48 c7 40 a8 fe ff ff 	movq   $0xfffffffffffffffe,-0x58(%rax)
14000863b:	ff
14000863c:	48 89 58 08          	mov    %rbx,0x8(%rax)
140008640:	48 89 68 10          	mov    %rbp,0x10(%rax)
140008644:	48 89 70 18          	mov    %rsi,0x18(%rax)
140008648:	4d 8b f9             	mov    %r9,%r15
14000864b:	49 8b e8             	mov    %r8,%rbp
14000864e:	4c 8b e2             	mov    %rdx,%r12
140008651:	48 8b d9             	mov    %rcx,%rbx
140008654:	44 8b ac 24 b8 00 00 	mov    0xb8(%rsp),%r13d
14000865b:	00
14000865c:	44 89 68 a0          	mov    %r13d,-0x60(%rax)
140008660:	4c 8b b4 24 b0 00 00 	mov    0xb0(%rsp),%r14
140008667:	00
140008668:	4c 89 70 98          	mov    %r14,-0x68(%rax)
14000866c:	e8 03 04 00 00       	call   0x140008a74
140008671:	84 c0                	test   %al,%al
140008673:	74 07                	je     0x14000867c
140008675:	b0 01                	mov    $0x1,%al
140008677:	e9 fe 00 00 00       	jmp    0x14000877a
14000867c:	49 8d 56 20          	lea    0x20(%r14),%rdx
140008680:	48 03 d5             	add    %rbp,%rdx
140008683:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
140008687:	48 83 39 00          	cmpq   $0x0,(%rcx)
14000868b:	0f 85 a2 00 00 00    	jne    0x140008733
140008691:	0f 57 c0             	xorps  %xmm0,%xmm0
140008694:	f3 0f 7f 44 24 38    	movdqu %xmm0,0x38(%rsp)
14000869a:	0f 57 c9             	xorps  %xmm1,%xmm1
14000869d:	f3 0f 7f 4c 24 48    	movdqu %xmm1,0x48(%rsp)
1400086a3:	48 83 c2 0a          	add    $0xa,%rdx
1400086a7:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
1400086ac:	e8 ab f6 ff ff       	call   0x140007d5c
1400086b1:	84 c0                	test   %al,%al
1400086b3:	74 52                	je     0x140008707
1400086b5:	4c 8b 4c 24 48       	mov    0x48(%rsp),%r9
1400086ba:	48 8b 54 24 38       	mov    0x38(%rsp),%rdx
1400086bf:	4c 2b ca             	sub    %rdx,%r9
1400086c2:	45 33 c0             	xor    %r8d,%r8d
1400086c5:	48 8b cb             	mov    %rbx,%rcx
1400086c8:	e8 27 fe ff ff       	call   0x1400084f4
1400086cd:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1400086d2:	33 ff                	xor    %edi,%edi
1400086d4:	48 8b 73 30          	mov    0x30(%rbx),%rsi
1400086d8:	48 89 43 30          	mov    %rax,0x30(%rbx)
1400086dc:	48 85 f6             	test   %rsi,%rsi
1400086df:	74 20                	je     0x140008701
1400086e1:	48 ff 15 30 75 03 00 	rex.W call *0x37530(%rip)        # 0x14003fc18
1400086e8:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400086ed:	48 8b c8             	mov    %rax,%rcx
1400086f0:	4c 8b c6             	mov    %rsi,%r8
1400086f3:	33 d2                	xor    %edx,%edx
1400086f5:	48 ff 15 24 75 03 00 	rex.W call *0x37524(%rip)        # 0x14003fc20
1400086fc:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140008701:	c6 43 3a 01          	movb   $0x1,0x3a(%rbx)
140008705:	eb 05                	jmp    0x14000870c
140008707:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
14000870c:	48 85 ff             	test   %rdi,%rdi
14000870f:	74 4e                	je     0x14000875f
140008711:	48 ff 15 00 75 03 00 	rex.W call *0x37500(%rip)        # 0x14003fc18
140008718:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14000871d:	48 8b c8             	mov    %rax,%rcx
140008720:	4c 8b c7             	mov    %rdi,%r8
140008723:	33 d2                	xor    %edx,%edx
140008725:	48 ff 15 f4 74 03 00 	rex.W call *0x374f4(%rip)        # 0x14003fc20
14000872c:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140008731:	eb 2c                	jmp    0x14000875f
140008733:	80 7b 3a 00          	cmpb   $0x0,0x3a(%rbx)
140008737:	74 26                	je     0x14000875f
140008739:	4c 8b 41 10          	mov    0x10(%rcx),%r8
14000873d:	4c 2b 01             	sub    (%rcx),%r8
140008740:	48 8b 41 08          	mov    0x8(%rcx),%rax
140008744:	48 2b 01             	sub    (%rcx),%rax
140008747:	48 03 c2             	add    %rdx,%rax
14000874a:	49 3b c0             	cmp    %r8,%rax
14000874d:	72 10                	jb     0x14000875f
14000874f:	4b 8d 04 00          	lea    (%r8,%r8,1),%rax
140008753:	48 3b d0             	cmp    %rax,%rdx
140008756:	48 0f 42 d0          	cmovb  %rax,%rdx
14000875a:	e8 fd f5 ff ff       	call   0x140007d5c
14000875f:	44 89 6c 24 28       	mov    %r13d,0x28(%rsp)
140008764:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140008769:	4d 8b cf             	mov    %r15,%r9
14000876c:	4c 8b c5             	mov    %rbp,%r8
14000876f:	49 8b d4             	mov    %r12,%rdx
140008772:	48 8b cb             	mov    %rbx,%rcx
140008775:	e8 fa 02 00 00       	call   0x140008a74
14000877a:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
14000877f:	49 8b 5b 30          	mov    0x30(%r11),%rbx
140008783:	49 8b 6b 38          	mov    0x38(%r11),%rbp
140008787:	49 8b 73 40          	mov    0x40(%r11),%rsi
14000878b:	49 8b e3             	mov    %r11,%rsp
14000878e:	41 5f                	pop    %r15
140008790:	41 5e                	pop    %r14
140008792:	41 5d                	pop    %r13
140008794:	41 5c                	pop    %r12
140008796:	5f                   	pop    %rdi
140008797:	c3                   	ret
140008798:	cc                   	int3
140008799:	cc                   	int3
14000879a:	cc                   	int3
14000879b:	cc                   	int3
14000879c:	cc                   	int3
14000879d:	cc                   	int3
14000879e:	cc                   	int3
14000879f:	cc                   	int3
1400087a0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1400087a5:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1400087aa:	55                   	push   %rbp
1400087ab:	56                   	push   %rsi
1400087ac:	57                   	push   %rdi
1400087ad:	41 54                	push   %r12
1400087af:	41 55                	push   %r13
1400087b1:	41 56                	push   %r14
1400087b3:	41 57                	push   %r15
1400087b5:	48 8b ec             	mov    %rsp,%rbp
1400087b8:	48 83 ec 70          	sub    $0x70,%rsp
1400087bc:	0f b7 41 06          	movzwl 0x6(%rcx),%eax
1400087c0:	48 8d 7a 04          	lea    0x4(%rdx),%rdi
1400087c4:	49 83 cc ff          	or     $0xffffffffffffffff,%r12
1400087c8:	66 89 45 b8          	mov    %ax,-0x48(%rbp)
1400087cc:	8a 41 08             	mov    0x8(%rcx),%al
1400087cf:	33 db                	xor    %ebx,%ebx
1400087d1:	0f 57 c0             	xorps  %xmm0,%xmm0
1400087d4:	88 45 ba             	mov    %al,-0x46(%rbp)
1400087d7:	4d 8b f0             	mov    %r8,%r14
1400087da:	4c 8b ea             	mov    %rdx,%r13
1400087dd:	45 8d 5c 24 05       	lea    0x5(%r12),%r11d
1400087e2:	4c 8b f9             	mov    %rcx,%r15
1400087e5:	45 8d 54 24 03       	lea    0x3(%r12),%r10d
1400087ea:	89 5d bc             	mov    %ebx,-0x44(%rbp)
1400087ed:	66 89 5d c0          	mov    %bx,-0x40(%rbp)
1400087f1:	f3 0f 7f 45 c8       	movdqu %xmm0,-0x38(%rbp)
1400087f6:	48 39 59 10          	cmp    %rbx,0x10(%rcx)
1400087fa:	0f 86 3d 01 00 00    	jbe    0x14000893d
140008800:	48 8b 41 20          	mov    0x20(%rcx),%rax
140008804:	33 d2                	xor    %edx,%edx
140008806:	49 2b c0             	sub    %r8,%rax
140008809:	48 f7 71 10          	divq   0x10(%rcx)
14000880d:	8b 0f                	mov    (%rdi),%ecx
14000880f:	48 3b c8             	cmp    %rax,%rcx
140008812:	76 3f                	jbe    0x140008853
140008814:	3b c8                	cmp    %eax,%ecx
140008816:	74 3b                	je     0x140008853
140008818:	89 07                	mov    %eax,(%rdi)
14000881a:	41 8a 45 02          	mov    0x2(%r13),%al
14000881e:	3c 01                	cmp    $0x1,%al
140008820:	75 13                	jne    0x140008835
140008822:	0f b7 07             	movzwl (%rdi),%eax
140008825:	4c 8d 45 40          	lea    0x40(%rbp),%r8
140008829:	66 89 45 40          	mov    %ax,0x40(%rbp)
14000882d:	45 8b ca             	mov    %r10d,%r9d
140008830:	41 8b d2             	mov    %r10d,%edx
140008833:	eb 0e                	jmp    0x140008843
140008835:	41 3a c2             	cmp    %r10b,%al
140008838:	75 19                	jne    0x140008853
14000883a:	4d 8b cb             	mov    %r11,%r9
14000883d:	4c 8b c7             	mov    %rdi,%r8
140008840:	49 8b d3             	mov    %r11,%rdx
140008843:	49 8b 4d 10          	mov    0x10(%r13),%rcx
140008847:	48 ff 15 fa 78 03 00 	rex.W call *0x378fa(%rip)        # 0x140040148
14000884e:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140008853:	8b 37                	mov    (%rdi),%esi
140008855:	0f 57 c0             	xorps  %xmm0,%xmm0
140008858:	49 8b 47 10          	mov    0x10(%r15),%rax
14000885c:	48 8b 7d 60          	mov    0x60(%rbp),%rdi
140008860:	48 0f af c6          	imul   %rsi,%rax
140008864:	f3 0f 7f 45 e8       	movdqu %xmm0,-0x18(%rbp)
140008869:	89 5d dc             	mov    %ebx,-0x24(%rbp)
14000886c:	49 03 c6             	add    %r14,%rax
14000886f:	66 89 5d e0          	mov    %bx,-0x20(%rbp)
140008873:	48 89 45 b0          	mov    %rax,-0x50(%rbp)
140008877:	41 0f b7 47 06       	movzwl 0x6(%r15),%eax
14000887c:	66 89 45 d8          	mov    %ax,-0x28(%rbp)
140008880:	41 8a 47 08          	mov    0x8(%r15),%al
140008884:	88 45 da             	mov    %al,-0x26(%rbp)
140008887:	eb 61                	jmp    0x1400088ea
140008889:	49 8b 47 10          	mov    0x10(%r15),%rax
14000888d:	48 8d 55 40          	lea    0x40(%rbp),%rdx
140008891:	4d 8b 47 20          	mov    0x20(%r15),%r8
140008895:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
140008899:	4c 8b ee             	mov    %rsi,%r13
14000889c:	49 d1 ed             	shr    $1,%r13
14000889f:	49 0f af c5          	imul   %r13,%rax
1400088a3:	49 03 c6             	add    %r14,%rax
1400088a6:	48 89 45 40          	mov    %rax,0x40(%rbp)
1400088aa:	e8 51 fa ff ff       	call   0x140008300
1400088af:	0f b7 45 e0          	movzwl -0x20(%rbp),%eax
1400088b3:	48 3b f8             	cmp    %rax,%rdi
1400088b6:	75 14                	jne    0x1400088cc
1400088b8:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
1400088bc:	4c 8b c7             	mov    %rdi,%r8
1400088bf:	48 8b 4d 58          	mov    0x58(%rbp),%rcx
1400088c3:	e8 6e d8 02 00       	call   0x140036136
1400088c8:	8b c8                	mov    %eax,%ecx
1400088ca:	eb 08                	jmp    0x1400088d4
1400088cc:	0f b7 45 e0          	movzwl -0x20(%rbp),%eax
1400088d0:	8b cf                	mov    %edi,%ecx
1400088d2:	2b c8                	sub    %eax,%ecx
1400088d4:	85 c9                	test   %ecx,%ecx
1400088d6:	7e 0f                	jle    0x1400088e7
1400088d8:	4c 8b 75 40          	mov    0x40(%rbp),%r14
1400088dc:	49 8b c4             	mov    %r12,%rax
1400088df:	49 2b c5             	sub    %r13,%rax
1400088e2:	48 03 f0             	add    %rax,%rsi
1400088e5:	eb 03                	jmp    0x1400088ea
1400088e7:	49 8b f5             	mov    %r13,%rsi
1400088ea:	48 85 f6             	test   %rsi,%rsi
1400088ed:	75 9a                	jne    0x140008889
1400088ef:	4c 3b 75 b0          	cmp    -0x50(%rbp),%r14
1400088f3:	0f 83 57 01 00 00    	jae    0x140008a50
1400088f9:	4d 8b 47 20          	mov    0x20(%r15),%r8
1400088fd:	48 8d 55 40          	lea    0x40(%rbp),%rdx
140008901:	48 8d 4d b8          	lea    -0x48(%rbp),%rcx
140008905:	4c 89 75 40          	mov    %r14,0x40(%rbp)
140008909:	e8 f2 f9 ff ff       	call   0x140008300
14000890e:	0f b7 45 c0          	movzwl -0x40(%rbp),%eax
140008912:	48 3b f8             	cmp    %rax,%rdi
140008915:	75 18                	jne    0x14000892f
140008917:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
14000891b:	4c 8b c7             	mov    %rdi,%r8
14000891e:	48 8b 4d 58          	mov    0x58(%rbp),%rcx
140008922:	e8 0f d8 02 00       	call   0x140036136
140008927:	44 8b e0             	mov    %eax,%r12d
14000892a:	e9 ab 00 00 00       	jmp    0x1400089da
14000892f:	0f b7 45 c0          	movzwl -0x40(%rbp),%eax
140008933:	2b f8                	sub    %eax,%edi
140008935:	44 8b e7             	mov    %edi,%r12d
140008938:	e9 9d 00 00 00       	jmp    0x1400089da
14000893d:	8b f3                	mov    %ebx,%esi
14000893f:	39 1f                	cmp    %ebx,(%rdi)
140008941:	0f 86 09 01 00 00    	jbe    0x140008a50
140008947:	4d 8b 47 20          	mov    0x20(%r15),%r8
14000894b:	48 8d 55 40          	lea    0x40(%rbp),%rdx
14000894f:	48 8d 4d b8          	lea    -0x48(%rbp),%rcx
140008953:	4c 89 75 40          	mov    %r14,0x40(%rbp)
140008957:	e8 a4 f9 ff ff       	call   0x140008300
14000895c:	84 c0                	test   %al,%al
14000895e:	74 3c                	je     0x14000899c
140008960:	0f b7 45 c0          	movzwl -0x40(%rbp),%eax
140008964:	48 8b 4d 60          	mov    0x60(%rbp),%rcx
140008968:	48 3b c8             	cmp    %rax,%rcx
14000896b:	75 15                	jne    0x140008982
14000896d:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
140008971:	4c 8b c1             	mov    %rcx,%r8
140008974:	48 8b 4d 58          	mov    0x58(%rbp),%rcx
140008978:	e8 b9 d7 02 00       	call   0x140036136
14000897d:	44 8b e0             	mov    %eax,%r12d
140008980:	eb 09                	jmp    0x14000898b
140008982:	0f b7 45 c0          	movzwl -0x40(%rbp),%eax
140008986:	2b c8                	sub    %eax,%ecx
140008988:	44 8b e1             	mov    %ecx,%r12d
14000898b:	45 85 e4             	test   %r12d,%r12d
14000898e:	7e 4d                	jle    0x1400089dd
140008990:	4c 8b 75 40          	mov    0x40(%rbp),%r14
140008994:	ff c6                	inc    %esi
140008996:	3b 37                	cmp    (%rdi),%esi
140008998:	72 ad                	jb     0x140008947
14000899a:	eb 3e                	jmp    0x1400089da
14000899c:	39 37                	cmp    %esi,(%rdi)
14000899e:	74 3a                	je     0x1400089da
1400089a0:	41 8a 45 02          	mov    0x2(%r13),%al
1400089a4:	89 37                	mov    %esi,(%rdi)
1400089a6:	3c 01                	cmp    $0x1,%al
1400089a8:	75 10                	jne    0x1400089ba
1400089aa:	66 89 75 40          	mov    %si,0x40(%rbp)
1400089ae:	4c 8d 45 40          	lea    0x40(%rbp),%r8
1400089b2:	41 b9 02 00 00 00    	mov    $0x2,%r9d
1400089b8:	eb 0d                	jmp    0x1400089c7
1400089ba:	3c 02                	cmp    $0x2,%al
1400089bc:	75 1c                	jne    0x1400089da
1400089be:	41 b9 04 00 00 00    	mov    $0x4,%r9d
1400089c4:	4c 8b c7             	mov    %rdi,%r8
1400089c7:	49 8b 4d 10          	mov    0x10(%r13),%rcx
1400089cb:	49 8b d1             	mov    %r9,%rdx
1400089ce:	48 ff 15 73 77 03 00 	rex.W call *0x37773(%rip)        # 0x140040148
1400089d5:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400089da:	45 85 e4             	test   %r12d,%r12d
1400089dd:	75 71                	jne    0x140008a50
1400089df:	44 8a 45 ba          	mov    -0x46(%rbp),%r8b
1400089e3:	45 84 c0             	test   %r8b,%r8b
1400089e6:	40 0f 95 c7          	setne  %dil
1400089ea:	45 84 c0             	test   %r8b,%r8b
1400089ed:	74 4c                	je     0x140008a3b
1400089ef:	44 8b 4d 68          	mov    0x68(%rbp),%r9d
1400089f3:	44 03 4d bc          	add    -0x44(%rbp),%r9d
1400089f7:	44 39 4d bc          	cmp    %r9d,-0x44(%rbp)
1400089fb:	74 3e                	je     0x140008a3b
1400089fd:	44 89 4d bc          	mov    %r9d,-0x44(%rbp)
140008a01:	41 80 f8 01          	cmp    $0x1,%r8b
140008a05:	75 11                	jne    0x140008a18
140008a07:	66 44 89 4d 40       	mov    %r9w,0x40(%rbp)
140008a0c:	4c 8d 45 40          	lea    0x40(%rbp),%r8
140008a10:	41 b9 02 00 00 00    	mov    $0x2,%r9d
140008a16:	eb 10                	jmp    0x140008a28
140008a18:	41 80 f8 02          	cmp    $0x2,%r8b
140008a1c:	75 1d                	jne    0x140008a3b
140008a1e:	41 b9 04 00 00 00    	mov    $0x4,%r9d
140008a24:	4c 8d 45 bc          	lea    -0x44(%rbp),%r8
140008a28:	48 8b 4d c8          	mov    -0x38(%rbp),%rcx
140008a2c:	49 8b d1             	mov    %r9,%rdx
140008a2f:	48 ff 15 12 77 03 00 	rex.W call *0x37712(%rip)        # 0x140040148
140008a36:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140008a3b:	40 84 ff             	test   %dil,%dil
140008a3e:	75 06                	jne    0x140008a46
140008a40:	41 38 5f 38          	cmp    %bl,0x38(%r15)
140008a44:	74 02                	je     0x140008a48
140008a46:	b3 01                	mov    $0x1,%bl
140008a48:	41 88 5f 38          	mov    %bl,0x38(%r15)
140008a4c:	33 c0                	xor    %eax,%eax
140008a4e:	eb 03                	jmp    0x140008a53
140008a50:	49 8b c6             	mov    %r14,%rax
140008a53:	48 8b 9c 24 b8 00 00 	mov    0xb8(%rsp),%rbx
140008a5a:	00
140008a5b:	48 83 c4 70          	add    $0x70,%rsp
140008a5f:	41 5f                	pop    %r15
140008a61:	41 5e                	pop    %r14
140008a63:	41 5d                	pop    %r13
140008a65:	41 5c                	pop    %r12
140008a67:	5f                   	pop    %rdi
140008a68:	5e                   	pop    %rsi
140008a69:	5d                   	pop    %rbp
140008a6a:	c3                   	ret
140008a6b:	cc                   	int3