1400337c2:	41 5e                	pop    %r14
1400337c4:	41 5f                	pop    %r15
1400337c6:	c3                   	ret
1400337c7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1400337ce:	00 00
1400337d0:	ba ff 01 00 00       	mov    $0x1ff,%edx
1400337d5:	48 89 f1             	mov    %rsi,%rcx
1400337d8:	e8 e3 f0 0a 00       	call   0x1400e28c0
1400337dd:	85 c0                	test   %eax,%eax
1400337df:	75 3f                	jne    0x140033820
1400337e1:	85 ff                	test   %edi,%edi
1400337e3:	75 23                	jne    0x140033808
1400337e5:	45 88 75 00          	mov    %r14b,0x0(%r13)
1400337e9:	0f b6 03             	movzbl (%rbx),%eax
1400337ec:	84 c0                	test   %al,%al
1400337ee:	0f 85 34 ff ff ff    	jne    0x140033728
1400337f4:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1400337fb:	00 00 00 00
1400337ff:	90                   	nop
140033800:	31 c0                	xor    %eax,%eax
140033802:	eb a0                	jmp    0x1400337a4
140033804:	0f 1f 40 00          	nopl   0x0(%rax)
140033808:	48 89 f1             	mov    %rsi,%rcx
14003380b:	e8 00 60 01 00       	call   0x140049810
140033810:	85 c0                	test   %eax,%eax
140033812:	74 d1                	je     0x1400337e5
140033814:	45 88 75 00          	mov    %r14b,0x0(%r13)
140033818:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
14003381d:	eb 85                	jmp    0x1400337a4
14003381f:	90                   	nop
140033820:	4c 8b 3d f9 bb 27 00 	mov    0x27bbf9(%rip),%r15        # 0x1402af420
140033827:	41 ff d7             	call   *%r15
14003382a:	83 38 11             	cmpl   $0x11,(%rax)
14003382d:	74 16                	je     0x140033845
14003382f:	41 ff d7             	call   *%r15
140033832:	83 38 02             	cmpl   $0x2,(%rax)
140033835:	74 34                	je     0x14003386b
140033837:	45 88 75 00          	mov    %r14b,0x0(%r13)
14003383b:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140033840:	e9 5f ff ff ff       	jmp    0x1400337a4
140033845:	4c 89 e2             	mov    %r12,%rdx
140033848:	48 89 f1             	mov    %rsi,%rcx
14003384b:	e8 00 3e 0b 00       	call   0x1400e7650
140033850:	85 c0                	test   %eax,%eax
140033852:	75 db                	jne    0x14003382f
140033854:	0f b7 44 24 26       	movzwl 0x26(%rsp),%eax
140033859:	66 25 00 f0          	and    $0xf000,%ax
14003385d:	66 3d 00 40          	cmp    $0x4000,%ax
140033861:	74 82                	je     0x1400337e5
140033863:	41 ff d7             	call   *%r15
140033866:	83 38 02             	cmpl   $0x2,(%rax)
140033869:	75 cc                	jne    0x140033837
14003386b:	45 88 75 00          	mov    %r14b,0x0(%r13)
14003386f:	b8 fc ff ff ff       	mov    $0xfffffffc,%eax
140033874:	e9 2b ff ff ff       	jmp    0x1400337a4
140033879:	e8 f2 0f 1b 00       	call   0x1401e4870
14003387e:	90                   	nop
14003387f:	90                   	nop
140033880:	41 57                	push   %r15
140033882:	41 56                	push   %r14
140033884:	41 55                	push   %r13
140033886:	41 54                	push   %r12
140033888:	55                   	push   %rbp
140033889:	57                   	push   %rdi
14003388a:	56                   	push   %rsi
14003388b:	53                   	push   %rbx
14003388c:	48 83 ec 38          	sub    $0x38,%rsp
140033890:	be 04 00 00 00       	mov    $0x4,%esi
140033895:	66 0f ef c0          	pxor   %xmm0,%xmm0
140033899:	83 ea 01             	sub    $0x1,%edx
14003389c:	48 89 cd             	mov    %rcx,%rbp
14003389f:	89 d0                	mov    %edx,%eax
1400338a1:	d1 e8                	shr    $1,%eax
1400338a3:	09 d0                	or     %edx,%eax
1400338a5:	89 c2                	mov    %eax,%edx
1400338a7:	c1 ea 02             	shr    $0x2,%edx
1400338aa:	09 c2                	or     %eax,%edx
1400338ac:	89 d0                	mov    %edx,%eax
1400338ae:	c1 e8 04             	shr    $0x4,%eax
1400338b1:	09 d0                	or     %edx,%eax
1400338b3:	89 c2                	mov    %eax,%edx
1400338b5:	c1 ea 08             	shr    $0x8,%edx
1400338b8:	09 c2                	or     %eax,%edx
1400338ba:	89 d0                	mov    %edx,%eax
1400338bc:	c1 e8 10             	shr    $0x10,%eax
1400338bf:	09 d0                	or     %edx,%eax
1400338c1:	83 c0 01             	add    $0x1,%eax
1400338c4:	39 f0                	cmp    %esi,%eax
1400338c6:	0f 43 f0             	cmovae %eax,%esi
1400338c9:	89 f3                	mov    %esi,%ebx
1400338cb:	f2 48 0f 2a c3       	cvtsi2sd %rbx,%xmm0
1400338d0:	f2 0f 59 05 70 a0 1c 	mulsd  0x1ca070(%rip),%xmm0        # 0x1401fd948
1400338d7:	00
1400338d8:	f2 0f 58 05 70 a0 1c 	addsd  0x1ca070(%rip),%xmm0        # 0x1401fd950
1400338df:	00
1400338e0:	f2 4c 0f 2c e8       	cvttsd2si %xmm0,%r13
1400338e5:	44 39 69 04          	cmp    %r13d,0x4(%rcx)
1400338e9:	0f 83 b2 01 00 00    	jae    0x140033aa1
1400338ef:	83 f8 0f             	cmp    $0xf,%eax
1400338f2:	0f 87 ba 01 00 00    	ja     0x140033ab2
1400338f8:	b9 04 00 00 00       	mov    $0x4,%ecx
1400338fd:	41 bc 04 00 00 00    	mov    $0x4,%r12d
140033903:	e8 18 71 09 00       	call   0x1400caa20
140033908:	48 89 c7             	mov    %rax,%rdi
14003390b:	4d 89 e0             	mov    %r12,%r8
14003390e:	ba aa 00 00 00       	mov    $0xaa,%edx
140033913:	48 89 f9             	mov    %rdi,%rcx
140033916:	e8 e5 64 1b 00       	call   0x1401e9e00
14003391b:	39 75 00             	cmp    %esi,0x0(%rbp)
14003391e:	0f 82 b7 01 00 00    	jb     0x140033adb
140033924:	89 74 24 24          	mov    %esi,0x24(%rsp)
140033928:	45 31 f6             	xor    %r14d,%r14d
14003392b:	44 8d 66 ff          	lea    -0x1(%rsi),%r12d
14003392f:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
140033934:	eb 1b                	jmp    0x140033951
140033936:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
14003393d:	00 00 00
140033940:	44 8b 55 00          	mov    0x0(%rbp),%r10d
140033944:	41 83 c6 01          	add    $0x1,%r14d
140033948:	45 39 d6             	cmp    %r10d,%r14d
14003394b:	0f 84 fb 00 00 00    	je     0x140033a4c
140033951:	48 8b 55 10          	mov    0x10(%rbp),%rdx
140033955:	44 89 f0             	mov    %r14d,%eax
140033958:	43 8d 0c 36          	lea    (%r14,%r14,1),%ecx
14003395c:	c1 e8 04             	shr    $0x4,%eax
14003395f:	83 e1 1e             	and    $0x1e,%ecx
140033962:	4c 8d 04 82          	lea    (%rdx,%rax,4),%r8
140033966:	41 8b 00             	mov    (%r8),%eax
140033969:	89 c2                	mov    %eax,%edx
14003396b:	d3 ea                	shr    %cl,%edx
14003396d:	83 e2 03             	and    $0x3,%edx
140033970:	75 ce                	jne    0x140033940
140033972:	4c 8b 4d 18          	mov    0x18(%rbp),%r9
140033976:	44 89 f2             	mov    %r14d,%edx
140033979:	0f ab c8             	bts    %ecx,%eax
14003397c:	be 02 00 00 00       	mov    $0x2,%esi
140033981:	4d 8b 2c d1          	mov    (%r9,%rdx,8),%r13
140033985:	4c 8b 4d 20          	mov    0x20(%rbp),%r9
140033989:	4d 8b 3c d1          	mov    (%r9,%rdx,8),%r15
14003398d:	41 89 00             	mov    %eax,(%r8)
140033990:	4c 89 e9             	mov    %r13,%rcx
140033993:	e8 48 f3 fe ff       	call   0x140022ce0
140033998:	44 21 e0             	and    %r12d,%eax
14003399b:	89 c2                	mov    %eax,%edx
14003399d:	c1 e8 04             	shr    $0x4,%eax
1400339a0:	48 c1 e0 02          	shl    $0x2,%rax
1400339a4:	8d 0c 12             	lea    (%rdx,%rdx,1),%ecx
1400339a7:	4c 8d 0c 07          	lea    (%rdi,%rax,1),%r9
1400339ab:	83 e1 1e             	and    $0x1e,%ecx
1400339ae:	45 8b 11             	mov    (%r9),%r10d
1400339b1:	45 89 d0             	mov    %r10d,%r8d
1400339b4:	41 d3 e8             	shr    %cl,%r8d
1400339b7:	41 83 e0 02          	and    $0x2,%r8d
1400339bb:	75 2f                	jne    0x1400339ec
1400339bd:	0f 1f 00             	nopl   (%rax)
1400339c0:	41 83 c0 01          	add    $0x1,%r8d
1400339c4:	44 01 c2             	add    %r8d,%edx
1400339c7:	44 21 e2             	and    %r12d,%edx
1400339ca:	89 d0                	mov    %edx,%eax
1400339cc:	8d 0c 12             	lea    (%rdx,%rdx,1),%ecx
1400339cf:	c1 e8 04             	shr    $0x4,%eax
1400339d2:	83 e1 1e             	and    $0x1e,%ecx
1400339d5:	48 c1 e0 02          	shl    $0x2,%rax
1400339d9:	4c 8d 0c 07          	lea    (%rdi,%rax,1),%r9
1400339dd:	45 8b 11             	mov    (%r9),%r10d
1400339e0:	45 89 d3             	mov    %r10d,%r11d
1400339e3:	41 d3 eb             	shr    %cl,%r11d
1400339e6:	41 83 e3 02          	and    $0x2,%r11d
1400339ea:	74 d4                	je     0x1400339c0
1400339ec:	41 89 f0             	mov    %esi,%r8d
1400339ef:	41 d3 e0             	shl    %cl,%r8d
1400339f2:	41 f7 d0             	not    %r8d
1400339f5:	45 21 d0             	and    %r10d,%r8d
1400339f8:	45 89 01             	mov    %r8d,(%r9)
1400339fb:	4c 8b 4d 18          	mov    0x18(%rbp),%r9
1400339ff:	41 89 d0             	mov    %edx,%r8d
140033a02:	44 8b 55 00          	mov    0x0(%rbp),%r10d
140033a06:	49 c1 e0 03          	shl    $0x3,%r8
140033a0a:	4d 01 c1             	add    %r8,%r9
140033a0d:	4c 03 45 20          	add    0x20(%rbp),%r8
140033a11:	44 39 d2             	cmp    %r10d,%edx
140033a14:	0f 83 b6 00 00 00    	jae    0x140033ad0
140033a1a:	48 03 45 10          	add    0x10(%rbp),%rax
140033a1e:	8b 10                	mov    (%rax),%edx
140033a20:	41 89 d3             	mov    %edx,%r11d
140033a23:	41 d3 eb             	shr    %cl,%r11d
140033a26:	41 83 e3 03          	and    $0x3,%r11d
140033a2a:	0f 85 a0 00 00 00    	jne    0x140033ad0
140033a30:	4d 8b 11             	mov    (%r9),%r10
140033a33:	4d 89 29             	mov    %r13,(%r9)
140033a36:	0f ab ca             	bts    %ecx,%edx
140033a39:	4d 8b 08             	mov    (%r8),%r9
140033a3c:	4d 89 38             	mov    %r15,(%r8)
140033a3f:	4d 89 d5             	mov    %r10,%r13
140033a42:	89 10                	mov    %edx,(%rax)
140033a44:	4d 89 cf             	mov    %r9,%r15
140033a47:	e9 44 ff ff ff       	jmp    0x140033990
140033a4c:	8b 74 24 24          	mov    0x24(%rsp),%esi
140033a50:	4c 8b 6c 24 28       	mov    0x28(%rsp),%r13
140033a55:	44 39 f6             	cmp    %r14d,%esi
140033a58:	73 24                	jae    0x140033a7e
140033a5a:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140033a5e:	48 c1 e3 03          	shl    $0x3,%rbx
140033a62:	48 89 da             	mov    %rbx,%rdx
140033a65:	e8 d6 71 09 00       	call   0x1400cac40
140033a6a:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
140033a6e:	48 89 da             	mov    %rbx,%rdx
140033a71:	48 89 45 18          	mov    %rax,0x18(%rbp)
140033a75:	e8 c6 71 09 00       	call   0x1400cac40
140033a7a:	48 89 45 20          	mov    %rax,0x20(%rbp)
140033a7e:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140033a82:	e8 29 54 0c 00       	call   0x1400f8eb0
140033a87:	66 0f 6e 45 04       	movd   0x4(%rbp),%xmm0
140033a8c:	66 41 0f 6e cd       	movd   %r13d,%xmm1
140033a91:	89 75 00             	mov    %esi,0x0(%rbp)
140033a94:	48 89 7d 10          	mov    %rdi,0x10(%rbp)
140033a98:	66 0f 62 c1          	punpckldq %xmm1,%xmm0
140033a9c:	66 0f d6 45 08       	movq   %xmm0,0x8(%rbp)
140033aa1:	48 83 c4 38          	add    $0x38,%rsp
140033aa5:	5b                   	pop    %rbx
140033aa6:	5e                   	pop    %rsi
140033aa7:	5f                   	pop    %rdi
140033aa8:	5d                   	pop    %rbp
140033aa9:	41 5c                	pop    %r12
140033aab:	41 5d                	pop    %r13
140033aad:	41 5e                	pop    %r14
140033aaf:	41 5f                	pop    %r15
140033ab1:	c3                   	ret
140033ab2:	41 89 f4             	mov    %esi,%r12d
140033ab5:	41 c1 ec 04          	shr    $0x4,%r12d
140033ab9:	49 c1 e4 02          	shl    $0x2,%r12
140033abd:	4c 89 e1             	mov    %r12,%rcx
140033ac0:	e8 5b 6f 09 00       	call   0x1400caa20
140033ac5:	48 89 c7             	mov    %rax,%rdi
140033ac8:	e9 3e fe ff ff       	jmp    0x14003390b
140033acd:	0f 1f 00             	nopl   (%rax)
140033ad0:	4d 89 29             	mov    %r13,(%r9)
140033ad3:	4d 89 38             	mov    %r15,(%r8)
140033ad6:	e9 69 fe ff ff       	jmp    0x140033944
140033adb:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140033adf:	4c 8d 24 dd 00 00 00 	lea    0x0(,%rbx,8),%r12
140033ae6:	00
140033ae7:	4c 89 e2             	mov    %r12,%rdx
140033aea:	e8 51 71 09 00       	call   0x1400cac40
140033aef:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
140033af3:	4c 89 e2             	mov    %r12,%rdx
140033af6:	48 89 45 18          	mov    %rax,0x18(%rbp)
140033afa:	e8 41 71 09 00       	call   0x1400cac40
140033aff:	48 89 45 20          	mov    %rax,0x20(%rbp)
140033b03:	8b 45 00             	mov    0x0(%rbp),%eax
140033b06:	85 c0                	test   %eax,%eax
140033b08:	0f 85 16 fe ff ff    	jne    0x140033924
140033b0e:	e9 6b ff ff ff       	jmp    0x140033a7e
140033b13:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140033b1a:	00 00 00 00
140033b1e:	66 90                	xchg   %ax,%ax
140033b20:	41 57                	push   %r15
140033b22:	41 56                	push   %r14
140033b24:	41 55                	push   %r13
140033b26:	41 54                	push   %r12
140033b28:	55                   	push   %rbp
140033b29:	57                   	push   %rdi
140033b2a:	56                   	push   %rsi
140033b2b:	53                   	push   %rbx
140033b2c:	48 83 ec 38          	sub    $0x38,%rsp
140033b30:	8b 41 0c             	mov    0xc(%rcx),%eax
140033b33:	48 89 94 24 88 00 00 	mov    %rdx,0x88(%rsp)
140033b3a:	00
140033b3b:	49 89 cf             	mov    %rcx,%r15
140033b3e:	4c 89 84 24 90 00 00 	mov    %r8,0x90(%rsp)
140033b45:	00
140033b46:	39 41 08             	cmp    %eax,0x8(%rcx)
140033b49:	72 17                	jb     0x140033b62
140033b4b:	8b 41 04             	mov    0x4(%rcx),%eax
140033b4e:	8b 11                	mov    (%rcx),%edx
140033b50:	01 c0                	add    %eax,%eax
140033b52:	39 d0                	cmp    %edx,%eax
140033b54:	0f 83 1e 01 00 00    	jae    0x140033c78
140033b5a:	83 ea 01             	sub    $0x1,%edx
140033b5d:	e8 1e fd ff ff       	call   0x140033880
140033b62:	45 8b 2f             	mov    (%r15),%r13d
140033b65:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
140033b6c:	00
140033b6d:	44 89 6c 24 28       	mov    %r13d,0x28(%rsp)
140033b72:	41 8d 6d ff          	lea    -0x1(%r13),%ebp
140033b76:	e8 65 f1 fe ff       	call   0x140022ce0
140033b7b:	49 8b 57 10          	mov    0x10(%r15),%rdx
140033b7f:	21 e8                	and    %ebp,%eax
140033b81:	41 89 c6             	mov    %eax,%r14d
140033b84:	c1 e8 04             	shr    $0x4,%eax
140033b87:	4c 8d 1c 82          	lea    (%rdx,%rax,4),%r11
140033b8b:	43 8d 3c 36          	lea    (%r14,%r14,1),%edi
140033b8f:	44 89 f3             	mov    %r14d,%ebx
140033b92:	41 8b 03             	mov    (%r11),%eax
140033b95:	89 f9                	mov    %edi,%ecx
140033b97:	89 7c 24 2c          	mov    %edi,0x2c(%rsp)
140033b9b:	83 e1 1e             	and    $0x1e,%ecx
140033b9e:	89 c6                	mov    %eax,%esi
140033ba0:	d3 ee                	shr    %cl,%esi
140033ba2:	83 e6 02             	and    $0x2,%esi
140033ba5:	0f 84 b0 00 00 00    	je     0x140033c5b
140033bab:	4d 8b 4f 18          	mov    0x18(%r15),%r9
140033baf:	44 89 f2             	mov    %r14d,%edx
140033bb2:	48 8b bc 24 88 00 00 	mov    0x88(%rsp),%rdi
140033bb9:	00
140033bba:	f3 0f 7e 0d 96 9d 1c 	movq   0x1c9d96(%rip),%xmm1        # 0x1401fd958
140033bc1:	00
140033bc2:	49 89 3c d1          	mov    %rdi,(%r9,%rdx,8)
140033bc6:	ba 03 00 00 00       	mov    $0x3,%edx
140033bcb:	d3 e2                	shl    %cl,%edx
140033bcd:	f7 d2                	not    %edx
140033bcf:	21 c2                	and    %eax,%edx
140033bd1:	41 89 13             	mov    %edx,(%r11)
140033bd4:	f3 41 0f 7e 47 04    	movq   0x4(%r15),%xmm0
140033bda:	ba 01 00 00 00       	mov    $0x1,%edx
140033bdf:	66 0f fe c1          	paddd  %xmm1,%xmm0
140033be3:	66 41 0f d6 47 04    	movq   %xmm0,0x4(%r15)
140033be9:	48 8b 84 24 90 00 00 	mov    0x90(%rsp),%rax
140033bf0:	00
140033bf1:	89 10                	mov    %edx,(%rax)
140033bf3:	44 89 f0             	mov    %r14d,%eax
140033bf6:	48 83 c4 38          	add    $0x38,%rsp
140033bfa:	5b                   	pop    %rbx
140033bfb:	5e                   	pop    %rsi
140033bfc:	5f                   	pop    %rdi
140033bfd:	5d                   	pop    %rbp
140033bfe:	41 5c                	pop    %r12
140033c00:	41 5d                	pop    %r13
140033c02:	41 5e                	pop    %r14
140033c04:	41 5f                	pop    %r15
140033c06:	c3                   	ret
140033c07:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140033c0e:	00 00
140033c10:	49 8b 57 18          	mov    0x18(%r15),%rdx
140033c14:	89 d8                	mov    %ebx,%eax
140033c16:	48 8b 0c c2          	mov    (%rdx,%rax,8),%rcx
140033c1a:	48 8b 94 24 88 00 00 	mov    0x88(%rsp),%rdx
140033c21:	00
140033c22:	e8 d9 ef fe ff       	call   0x140022c00
140033c27:	49 8b 57 10          	mov    0x10(%r15),%rdx
140033c2b:	85 c0                	test   %eax,%eax
140033c2d:	75 59                	jne    0x140033c88
140033c2f:	89 d8                	mov    %ebx,%eax
140033c31:	c1 e8 04             	shr    $0x4,%eax
140033c34:	8b 04 82             	mov    (%rdx,%rax,4),%eax
140033c37:	44 0f a3 e0          	bt     %r12d,%eax
140033c3b:	73 06                	jae    0x140033c43
140033c3d:	0f 1f 00             	nopl   (%rax)
140033c40:	41 89 dd             	mov    %ebx,%r13d
140033c43:	83 c6 01             	add    $0x1,%esi