14008665f:	0f b7 01             	movzwl (%rcx),%eax
140086662:	48 03 ce             	add    %rsi,%rcx
140086665:	48 89 0f             	mov    %rcx,(%rdi)
140086668:	eb 08                	jmp    0x140086672
14008666a:	48 8b cf             	mov    %rdi,%rcx
14008666d:	e8 de 0e 01 00       	call   0x140097550
140086672:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140086677:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
14008667c:	48 83 c4 20          	add    $0x20,%rsp
140086680:	41 5c                	pop    %r12
140086682:	5f                   	pop    %rdi
140086683:	5e                   	pop    %rsi
140086684:	c3                   	ret
140086685:	cc                   	int3
140086686:	cc                   	int3
140086687:	cc                   	int3
140086688:	cc                   	int3
140086689:	cc                   	int3
14008668a:	cc                   	int3
14008668b:	cc                   	int3
14008668c:	cc                   	int3
14008668d:	cc                   	int3
14008668e:	cc                   	int3
14008668f:	cc                   	int3
140086690:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140086695:	57                   	push   %rdi
140086696:	48 83 ec 20          	sub    $0x20,%rsp
14008669a:	83 3d 0f 97 08 00 00 	cmpl   $0x0,0x8970f(%rip)        # 0x14010fdb0
1400866a1:	48 63 d9             	movslq %ecx,%rbx
1400866a4:	8d 7b 01             	lea    0x1(%rbx),%edi
1400866a7:	75 21                	jne    0x1400866ca
1400866a9:	81 ff 00 01 00 00    	cmp    $0x100,%edi
1400866af:	77 78                	ja     0x140086729
1400866b1:	48 8b 05 28 b4 07 00 	mov    0x7b428(%rip),%rax        # 0x140101ae0
1400866b8:	0f b7 04 58          	movzwl (%rax,%rbx,2),%eax
1400866bc:	83 e0 08             	and    $0x8,%eax
1400866bf:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400866c4:	48 83 c4 20          	add    $0x20,%rsp
1400866c8:	5f                   	pop    %rdi
1400866c9:	c3                   	ret
1400866ca:	e8 55 5e 00 00       	call   0x14008c524
1400866cf:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
1400866d4:	48 8b 88 90 00 00 00 	mov    0x90(%rax),%rcx
1400866db:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
1400866e0:	48 8b c8             	mov    %rax,%rcx
1400866e3:	e8 c0 64 00 00       	call   0x14008cba8
1400866e8:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
1400866ed:	81 ff 00 01 00 00    	cmp    $0x100,%edi
1400866f3:	77 15                	ja     0x14008670a
1400866f5:	48 8b 08             	mov    (%rax),%rcx
1400866f8:	0f b7 04 59          	movzwl (%rcx,%rbx,2),%eax
1400866fc:	83 e0 08             	and    $0x8,%eax
1400866ff:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140086704:	48 83 c4 20          	add    $0x20,%rsp
140086708:	5f                   	pop    %rdi
140086709:	c3                   	ret
14008670a:	83 78 08 01          	cmpl   $0x1,0x8(%rax)
14008670e:	7e 19                	jle    0x140086729
140086710:	45 33 c0             	xor    %r8d,%r8d
140086713:	8b cb                	mov    %ebx,%ecx
140086715:	41 8d 50 08          	lea    0x8(%r8),%edx
140086719:	e8 ba 8b ff ff       	call   0x14007f2d8
14008671e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140086723:	48 83 c4 20          	add    $0x20,%rsp
140086727:	5f                   	pop    %rdi
140086728:	c3                   	ret
140086729:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14008672e:	33 c0                	xor    %eax,%eax
140086730:	48 83 c4 20          	add    $0x20,%rsp
140086734:	5f                   	pop    %rdi
140086735:	c3                   	ret
140086736:	cc                   	int3
140086737:	cc                   	int3
140086738:	48 8b c4             	mov    %rsp,%rax
14008673b:	48 89 58 10          	mov    %rbx,0x10(%rax)
14008673f:	48 89 70 20          	mov    %rsi,0x20(%rax)
140086743:	f2 0f 11 40 08       	movsd  %xmm0,0x8(%rax)
140086748:	57                   	push   %rdi
140086749:	48 83 ec 40          	sub    $0x40,%rsp
14008674d:	8b da                	mov    %edx,%ebx
14008674f:	0f 29 70 e8          	movaps %xmm6,-0x18(%rax)
140086753:	be c0 ff 00 00       	mov    $0xffc0,%esi
140086758:	b9 80 1f 00 00       	mov    $0x1f80,%ecx
14008675d:	8b d6                	mov    %esi,%edx
14008675f:	0f 28 f0             	movaps %xmm0,%xmm6
140086762:	e8 01 1b 01 00       	call   0x140098268
140086767:	0f b7 4c 24 56       	movzwl 0x56(%rsp),%ecx
14008676c:	48 8b f8             	mov    %rax,%rdi
14008676f:	b8 f0 7f 00 00       	mov    $0x7ff0,%eax
140086774:	66 23 c8             	and    %ax,%cx
140086777:	66 3b c8             	cmp    %ax,%cx
14008677a:	75 4f                	jne    0x1400867cb
14008677c:	0f 28 c6             	movaps %xmm6,%xmm0
14008677f:	e8 1c 19 01 00       	call   0x1400980a0
140086784:	83 e8 01             	sub    $0x1,%eax
140086787:	74 2f                	je     0x1400867b8
140086789:	83 e8 01             	sub    $0x1,%eax
14008678c:	74 2a                	je     0x1400867b8
14008678e:	0f 28 c6             	movaps %xmm6,%xmm0
140086791:	83 f8 01             	cmp    $0x1,%eax
140086794:	74 12                	je     0x1400867a8
140086796:	f2 0f 58 05 9a 22 05 	addsd  0x5229a(%rip),%xmm0        # 0x1400d8a38
14008679d:	00
14008679e:	b9 08 00 00 00       	mov    $0x8,%ecx
1400867a3:	e9 c7 00 00 00       	jmp    0x14008686f
1400867a8:	66 0f 6e cb          	movd   %ebx,%xmm1
1400867ac:	f3 0f e6 c9          	cvtdq2pd %xmm1,%xmm1
1400867b0:	e8 43 11 01 00       	call   0x1400978f8
1400867b5:	0f 28 f0             	movaps %xmm0,%xmm6
1400867b8:	48 8b d6             	mov    %rsi,%rdx
1400867bb:	48 8b cf             	mov    %rdi,%rcx
1400867be:	e8 a5 1a 01 00       	call   0x140098268
1400867c3:	0f 28 c6             	movaps %xmm6,%xmm0
1400867c6:	e9 c4 00 00 00       	jmp    0x14008688f
1400867cb:	66 0f 2e 35 5d 22 05 	ucomisd 0x5225d(%rip),%xmm6        # 0x1400d8a30
1400867d2:	00
1400867d3:	7a 02                	jp     0x1400867d7
1400867d5:	74 e1                	je     0x1400867b8
1400867d7:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
1400867dc:	0f 28 c6             	movaps %xmm6,%xmm0
1400867df:	e8 34 19 01 00       	call   0x140098118
1400867e4:	8b 4c 24 60          	mov    0x60(%rsp),%ecx
1400867e8:	85 db                	test   %ebx,%ebx
1400867ea:	79 0d                	jns    0x1400867f9
1400867ec:	b8 00 00 00 80       	mov    $0x80000000,%eax
1400867f1:	2b c3                	sub    %ebx,%eax
1400867f3:	3b c8                	cmp    %eax,%ecx
1400867f5:	7c 35                	jl     0x14008682c
1400867f7:	eb 0b                	jmp    0x140086804
1400867f9:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
1400867fe:	2b c3                	sub    %ebx,%eax
140086800:	3b c8                	cmp    %eax,%ecx
140086802:	7f 56                	jg     0x14008685a
140086804:	8d 14 19             	lea    (%rcx,%rbx,1),%edx
140086807:	81 fa 00 0a 00 00    	cmp    $0xa00,%edx
14008680d:	7f 4b                	jg     0x14008685a
14008680f:	81 fa 00 04 00 00    	cmp    $0x400,%edx
140086815:	7e 0d                	jle    0x140086824
140086817:	81 c2 00 fa ff ff    	add    $0xfffffa00,%edx
14008681d:	e8 46 18 01 00       	call   0x140098068
140086822:	eb 46                	jmp    0x14008686a
140086824:	81 fa 03 f6 ff ff    	cmp    $0xfffff603,%edx
14008682a:	7d 0f                	jge    0x14008683b
14008682c:	f2 0f 59 05 fc 21 05 	mulsd  0x521fc(%rip),%xmm0        # 0x1400d8a30
140086833:	00
140086834:	b9 12 00 00 00       	mov    $0x12,%ecx
140086839:	eb 34                	jmp    0x14008686f
14008683b:	81 fa 03 fc ff ff    	cmp    $0xfffffc03,%edx
140086841:	7d 0d                	jge    0x140086850
140086843:	81 c2 00 06 00 00    	add    $0x600,%edx
140086849:	e8 1a 18 01 00       	call   0x140098068
14008684e:	eb e4                	jmp    0x140086834
140086850:	e8 13 18 01 00       	call   0x140098068
140086855:	e9 5b ff ff ff       	jmp    0x1400867b5
14008685a:	0f 28 c8             	movaps %xmm0,%xmm1
14008685d:	f2 0f 10 05 fb 51 05 	movsd  0x551fb(%rip),%xmm0        # 0x1400dba60
140086864:	00
140086865:	e8 da 1a 01 00       	call   0x140098344
14008686a:	b9 11 00 00 00       	mov    $0x11,%ecx
14008686f:	66 0f 6e db          	movd   %ebx,%xmm3
140086873:	0f 28 d6             	movaps %xmm6,%xmm2
140086876:	f3 0f e6 db          	cvtdq2pd %xmm3,%xmm3
14008687a:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
14008687f:	ba 19 00 00 00       	mov    $0x19,%edx
140086884:	f2 0f 11 44 24 20    	movsd  %xmm0,0x20(%rsp)
14008688a:	e8 61 0f 01 00       	call   0x1400977f0
14008688f:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140086894:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
140086899:	0f 28 74 24 30       	movaps 0x30(%rsp),%xmm6
14008689e:	48 83 c4 40          	add    $0x40,%rsp
1400868a2:	5f                   	pop    %rdi
1400868a3:	c3                   	ret
1400868a4:	cc                   	int3
1400868a5:	cc                   	int3
1400868a6:	cc                   	int3
1400868a7:	cc                   	int3
1400868a8:	cc                   	int3
1400868a9:	cc                   	int3
1400868aa:	cc                   	int3
1400868ab:	cc                   	int3
1400868ac:	cc                   	int3
1400868ad:	cc                   	int3
1400868ae:	cc                   	int3
1400868af:	cc                   	int3
1400868b0:	41 54                	push   %r12
1400868b2:	41 55                	push   %r13
1400868b4:	41 56                	push   %r14
1400868b6:	48 81 ec 50 04 00 00 	sub    $0x450,%rsp
1400868bd:	48 8b 05 7c a7 07 00 	mov    0x7a77c(%rip),%rax        # 0x140101040
1400868c4:	48 33 c4             	xor    %rsp,%rax
1400868c7:	48 89 84 24 10 04 00 	mov    %rax,0x410(%rsp)
1400868ce:	00
1400868cf:	4d 8b e1             	mov    %r9,%r12
1400868d2:	4d 8b f0             	mov    %r8,%r14
1400868d5:	4c 8b e9             	mov    %rcx,%r13
1400868d8:	48 85 c9             	test   %rcx,%rcx
1400868db:	75 1a                	jne    0x1400868f7
1400868dd:	48 85 d2             	test   %rdx,%rdx
1400868e0:	74 15                	je     0x1400868f7
1400868e2:	e8 dd 78 ff ff       	call   0x14007e1c4
1400868e7:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1400868ed:	e8 f2 7e 00 00       	call   0x14008e7e4
1400868f2:	e9 a9 03 00 00       	jmp    0x140086ca0
1400868f7:	4d 85 f6             	test   %r14,%r14
1400868fa:	74 e6                	je     0x1400868e2
1400868fc:	4d 85 e4             	test   %r12,%r12
1400868ff:	74 e1                	je     0x1400868e2
140086901:	48 83 fa 02          	cmp    $0x2,%rdx
140086905:	0f 82 95 03 00 00    	jb     0x140086ca0
14008690b:	48 89 9c 24 48 04 00 	mov    %rbx,0x448(%rsp)
140086912:	00
140086913:	48 89 ac 24 40 04 00 	mov    %rbp,0x440(%rsp)
14008691a:	00
14008691b:	48 89 b4 24 38 04 00 	mov    %rsi,0x438(%rsp)
140086922:	00
140086923:	48 89 bc 24 30 04 00 	mov    %rdi,0x430(%rsp)
14008692a:	00
14008692b:	4c 89 bc 24 28 04 00 	mov    %r15,0x428(%rsp)
140086932:	00
140086933:	4c 8d 7a ff          	lea    -0x1(%rdx),%r15
140086937:	4d 0f af fe          	imul   %r14,%r15
14008693b:	4c 03 f9             	add    %rcx,%r15
14008693e:	33 c9                	xor    %ecx,%ecx
140086940:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140086945:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14008694c:	00 00 00 00
140086950:	33 d2                	xor    %edx,%edx
140086952:	49 8b c7             	mov    %r15,%rax
140086955:	49 2b c5             	sub    %r13,%rax
140086958:	49 f7 f6             	div    %r14
14008695b:	48 8d 58 01          	lea    0x1(%rax),%rbx
14008695f:	48 83 fb 08          	cmp    $0x8,%rbx
140086963:	0f 87 9b 00 00 00    	ja     0x140086a04
140086969:	4d 3b fd             	cmp    %r13,%r15
14008696c:	76 75                	jbe    0x1400869e3
14008696e:	4b 8d 34 2e          	lea    (%r14,%r13,1),%rsi
140086972:	49 8b dd             	mov    %r13,%rbx
140086975:	48 8b fe             	mov    %rsi,%rdi
140086978:	49 3b f7             	cmp    %r15,%rsi
14008697b:	77 2a                	ja     0x1400869a7
14008697d:	0f 1f 00             	nopl   (%rax)
140086980:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
140086987:	b7 75 93
14008698a:	48 8b d3             	mov    %rbx,%rdx
14008698d:	48 8b cf             	mov    %rdi,%rcx
140086990:	49 8b c4             	mov    %r12,%rax
140086993:	ff 15 7f 03 07 00    	call   *0x7037f(%rip)        # 0x1400f6d18
140086999:	85 c0                	test   %eax,%eax
14008699b:	48 0f 4f df          	cmovg  %rdi,%rbx
14008699f:	49 03 fe             	add    %r14,%rdi
1400869a2:	49 3b ff             	cmp    %r15,%rdi
1400869a5:	76 d9                	jbe    0x140086980
1400869a7:	4d 8b c6             	mov    %r14,%r8
1400869aa:	49 8b d7             	mov    %r15,%rdx
1400869ad:	49 3b df             	cmp    %r15,%rbx
1400869b0:	74 24                	je     0x1400869d6
1400869b2:	49 2b df             	sub    %r15,%rbx
1400869b5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
1400869bc:	00 00 00 00
1400869c0:	0f b6 02             	movzbl (%rdx),%eax
1400869c3:	0f b6 0c 13          	movzbl (%rbx,%rdx,1),%ecx
1400869c7:	88 04 13             	mov    %al,(%rbx,%rdx,1)
1400869ca:	88 0a                	mov    %cl,(%rdx)
1400869cc:	48 8d 52 01          	lea    0x1(%rdx),%rdx
1400869d0:	49 83 e8 01          	sub    $0x1,%r8
1400869d4:	75 ea                	jne    0x1400869c0
1400869d6:	4d 2b fe             	sub    %r14,%r15
1400869d9:	4d 3b fd             	cmp    %r13,%r15
1400869dc:	77 94                	ja     0x140086972
1400869de:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
1400869e3:	48 83 e9 01          	sub    $0x1,%rcx
1400869e7:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1400869ec:	0f 88 86 02 00 00    	js     0x140086c78
1400869f2:	4c 8b 6c cc 30       	mov    0x30(%rsp,%rcx,8),%r13
1400869f7:	4c 8b bc cc 20 02 00 	mov    0x220(%rsp,%rcx,8),%r15
1400869fe:	00
1400869ff:	e9 4c ff ff ff       	jmp    0x140086950
140086a04:	48 d1 eb             	shr    $1,%rbx
140086a07:	49 0f af de          	imul   %r14,%rbx
140086a0b:	4a 8d 34 2b          	lea    (%rbx,%r13,1),%rsi
140086a0f:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
140086a16:	b7 75 93
140086a19:	48 8b d6             	mov    %rsi,%rdx
140086a1c:	49 8b cd             	mov    %r13,%rcx
140086a1f:	49 8b c4             	mov    %r12,%rax
140086a22:	ff 15 f0 02 07 00    	call   *0x702f0(%rip)        # 0x1400f6d18
140086a28:	85 c0                	test   %eax,%eax
140086a2a:	7e 2f                	jle    0x140086a5b
140086a2c:	4d 8b ce             	mov    %r14,%r9
140086a2f:	4c 8b c6             	mov    %rsi,%r8
140086a32:	4c 3b ee             	cmp    %rsi,%r13
140086a35:	74 24                	je     0x140086a5b
140086a37:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140086a3e:	00 00
140086a40:	41 0f b6 00          	movzbl (%r8),%eax
140086a44:	49 8b d0             	mov    %r8,%rdx
140086a47:	48 2b d3             	sub    %rbx,%rdx
140086a4a:	0f b6 0a             	movzbl (%rdx),%ecx
140086a4d:	88 02                	mov    %al,(%rdx)
140086a4f:	41 88 08             	mov    %cl,(%r8)
140086a52:	49 ff c0             	inc    %r8
140086a55:	49 83 e9 01          	sub    $0x1,%r9
140086a59:	75 e5                	jne    0x140086a40
140086a5b:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
140086a62:	b7 75 93
140086a65:	49 8b d7             	mov    %r15,%rdx
140086a68:	49 8b cd             	mov    %r13,%rcx
140086a6b:	49 8b c4             	mov    %r12,%rax
140086a6e:	ff 15 a4 02 07 00    	call   *0x702a4(%rip)        # 0x1400f6d18
140086a74:	85 c0                	test   %eax,%eax
140086a76:	7e 30                	jle    0x140086aa8
140086a78:	4d 8b c6             	mov    %r14,%r8
140086a7b:	49 8b d7             	mov    %r15,%rdx
140086a7e:	4d 3b ef             	cmp    %r15,%r13
140086a81:	74 25                	je     0x140086aa8
140086a83:	4d 8b cd             	mov    %r13,%r9
140086a86:	4d 2b cf             	sub    %r15,%r9
140086a89:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140086a90:	0f b6 02             	movzbl (%rdx),%eax
140086a93:	41 0f b6 0c 11       	movzbl (%r9,%rdx,1),%ecx
140086a98:	41 88 04 11          	mov    %al,(%r9,%rdx,1)
140086a9c:	88 0a                	mov    %cl,(%rdx)
140086a9e:	48 8d 52 01          	lea    0x1(%rdx),%rdx
140086aa2:	49 83 e8 01          	sub    $0x1,%r8
140086aa6:	75 e8                	jne    0x140086a90
140086aa8:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
140086aaf:	b7 75 93
140086ab2:	49 8b d7             	mov    %r15,%rdx
140086ab5:	48 8b ce             	mov    %rsi,%rcx
140086ab8:	49 8b c4             	mov    %r12,%rax
140086abb:	ff 15 57 02 07 00    	call   *0x70257(%rip)        # 0x1400f6d18
140086ac1:	85 c0                	test   %eax,%eax
140086ac3:	7e 33                	jle    0x140086af8
140086ac5:	4d 8b c6             	mov    %r14,%r8
140086ac8:	49 8b d7             	mov    %r15,%rdx
140086acb:	49 3b f7             	cmp    %r15,%rsi
140086ace:	74 28                	je     0x140086af8
140086ad0:	4c 8b ce             	mov    %rsi,%r9
140086ad3:	4d 2b cf             	sub    %r15,%r9
140086ad6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140086add:	00 00 00
140086ae0:	0f b6 02             	movzbl (%rdx),%eax
140086ae3:	41 0f b6 0c 11       	movzbl (%r9,%rdx,1),%ecx
140086ae8:	41 88 04 11          	mov    %al,(%r9,%rdx,1)
140086aec:	88 0a                	mov    %cl,(%rdx)
140086aee:	48 8d 52 01          	lea    0x1(%rdx),%rdx
140086af2:	49 83 e8 01          	sub    $0x1,%r8
140086af6:	75 e8                	jne    0x140086ae0
140086af8:	49 8b dd             	mov    %r13,%rbx
140086afb:	49 8b ff             	mov    %r15,%rdi