14022aa37:	45 8b c1             	mov    %r9d,%r8d
14022aa3a:	44 89 4c 24 34       	mov    %r9d,0x34(%rsp)
14022aa3f:	eb 11                	jmp    0x14022aa52
14022aa41:	89 44 24 34          	mov    %eax,0x34(%rsp)
14022aa45:	44 8b c0             	mov    %eax,%r8d
14022aa48:	8b d9                	mov    %ecx,%ebx
14022aa4a:	85 c0                	test   %eax,%eax
14022aa4c:	0f 84 98 00 00 00    	je     0x14022aaea
14022aa52:	66 0f 2e e2          	ucomisd %xmm2,%xmm4
14022aa56:	0f 28 c4             	movaps %xmm4,%xmm0
14022aa59:	7a 02                	jp     0x14022aa5d
14022aa5b:	74 33                	je     0x14022aa90
14022aa5d:	66 0f 2f dc          	comisd %xmm4,%xmm3
14022aa61:	76 10                	jbe    0x14022aa73
14022aa63:	f2 0f 59 c1          	mulsd  %xmm1,%xmm0
14022aa67:	ff ca                	dec    %edx
14022aa69:	66 0f 2f d8          	comisd %xmm0,%xmm3
14022aa6d:	77 f4                	ja     0x14022aa63
14022aa6f:	89 54 24 3c          	mov    %edx,0x3c(%rsp)
14022aa73:	66 0f 2f c1          	comisd %xmm1,%xmm0
14022aa77:	76 17                	jbe    0x14022aa90
14022aa79:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
14022aa80:	f2 0f 5e c1          	divsd  %xmm1,%xmm0
14022aa84:	ff c2                	inc    %edx
14022aa86:	66 0f 2f c1          	comisd %xmm1,%xmm0
14022aa8a:	77 f4                	ja     0x14022aa80
14022aa8c:	89 54 24 3c          	mov    %edx,0x3c(%rsp)
14022aa90:	8b d9                	mov    %ecx,%ebx
14022aa92:	83 f8 02             	cmp    $0x2,%eax
14022aa95:	75 4b                	jne    0x14022aae2
14022aa97:	85 c9                	test   %ecx,%ecx
14022aa99:	41 0f 44 d9          	cmove  %r9d,%ebx
14022aa9d:	45 85 c0             	test   %r8d,%r8d
14022aaa0:	75 3e                	jne    0x14022aae0
14022aaa2:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14022aaa7:	2b c2                	sub    %edx,%eax
14022aaa9:	03 d8                	add    %eax,%ebx
14022aaab:	79 3d                	jns    0x14022aaea
14022aaad:	33 c0                	xor    %eax,%eax
14022aaaf:	4c 8b a4 24 a8 00 00 	mov    0xa8(%rsp),%r12
14022aab6:	00
14022aab7:	48 8b 9c 24 b0 00 00 	mov    0xb0(%rsp),%rbx
14022aabe:	00
14022aabf:	48 8b 8c 24 98 00 00 	mov    0x98(%rsp),%rcx
14022aac6:	00
14022aac7:	48 33 cc             	xor    %rsp,%rcx
14022aaca:	e8 71 fb 0c 00       	call   0x1402fa640
14022aacf:	48 81 c4 b8 00 00 00 	add    $0xb8,%rsp
14022aad6:	41 5f                	pop    %r15
14022aad8:	41 5e                	pop    %r14
14022aada:	41 5d                	pop    %r13
14022aadc:	5f                   	pop    %rdi
14022aadd:	5e                   	pop    %rsi
14022aade:	5d                   	pop    %rbp
14022aadf:	c3                   	ret
14022aae0:	ff cb                	dec    %ebx
14022aae2:	45 3b c1             	cmp    %r9d,%r8d
14022aae5:	75 03                	jne    0x14022aaea
14022aae7:	0f 28 e0             	movaps %xmm0,%xmm4
14022aaea:	66 0f 2f d4          	comisd %xmm4,%xmm2
14022aaee:	76 07                	jbe    0x14022aaf7
14022aaf0:	0f 57 25 09 3b 10 00 	xorps  0x103b09(%rip),%xmm4        # 0x14032e600
14022aaf7:	66 0f 2f 25 d1 23 13 	comisd 0x1323d1(%rip),%xmm4        # 0x14035ced0
14022aafe:	00
14022aaff:	73 ac                	jae    0x14022aaad
14022ab01:	0f 28 d3             	movaps %xmm3,%xmm2
14022ab04:	f2 4c 0f 2c e4       	cvttsd2si %xmm4,%r12
14022ab09:	83 fb 09             	cmp    $0x9,%ebx
14022ab0c:	7e 0b                	jle    0x14022ab19
14022ab0e:	bb 09 00 00 00       	mov    $0x9,%ebx
14022ab13:	8b cb                	mov    %ebx,%ecx
14022ab15:	8b c3                	mov    %ebx,%eax
14022ab17:	eb 08                	jmp    0x14022ab21
14022ab19:	8b cb                	mov    %ebx,%ecx
14022ab1b:	8b c3                	mov    %ebx,%eax
14022ab1d:	85 db                	test   %ebx,%ebx
14022ab1f:	74 3a                	je     0x14022ab5b
14022ab21:	f2 0f 59 d1          	mulsd  %xmm1,%xmm2
14022ab25:	41 2b c1             	sub    %r9d,%eax
14022ab28:	75 f7                	jne    0x14022ab21
14022ab2a:	f2 0f 10 2d 5e 39 10 	movsd  0x10395e(%rip),%xmm5        # 0x14032e490
14022ab31:	00
14022ab32:	f2 0f 2c c2          	cvttsd2si %xmm2,%eax
14022ab36:	66 0f 6e c0          	movd   %eax,%xmm0
14022ab3a:	8d 50 01             	lea    0x1(%rax),%edx
14022ab3d:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
14022ab41:	f2 0f 5c d0          	subsd  %xmm0,%xmm2
14022ab45:	66 0f 2f d5          	comisd %xmm5,%xmm2
14022ab49:	0f 42 d0             	cmovb  %eax,%edx
14022ab4c:	0f 1f 40 00          	nopl   0x0(%rax)
14022ab50:	f2 0f 59 d9          	mulsd  %xmm1,%xmm3
14022ab54:	41 2b c9             	sub    %r9d,%ecx
14022ab57:	75 f7                	jne    0x14022ab50
14022ab59:	eb 22                	jmp    0x14022ab7d
14022ab5b:	f2 0f 10 2d 2d 39 10 	movsd  0x10392d(%rip),%xmm5        # 0x14032e490
14022ab62:	00
14022ab63:	f2 0f 2c c2          	cvttsd2si %xmm2,%eax
14022ab67:	66 0f 6e c0          	movd   %eax,%xmm0
14022ab6b:	8d 50 01             	lea    0x1(%rax),%edx
14022ab6e:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
14022ab72:	f2 0f 5c d0          	subsd  %xmm0,%xmm2
14022ab76:	66 0f 2f d5          	comisd %xmm5,%xmm2
14022ab7a:	0f 42 d0             	cmovb  %eax,%edx
14022ab7d:	41 8b c4             	mov    %r12d,%eax
14022ab80:	45 8d 4c 24 01       	lea    0x1(%r12),%r9d
14022ab85:	0f 57 c0             	xorps  %xmm0,%xmm0
14022ab88:	f2 48 0f 2a c0       	cvtsi2sd %rax,%xmm0
14022ab8d:	f2 0f 5c e0          	subsd  %xmm0,%xmm4
14022ab91:	f2 0f 59 e3          	mulsd  %xmm3,%xmm4
14022ab95:	f2 0f 2c c4          	cvttsd2si %xmm4,%eax
14022ab99:	66 0f 6e c0          	movd   %eax,%xmm0
14022ab9d:	8d 48 01             	lea    0x1(%rax),%ecx
14022aba0:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
14022aba4:	f2 0f 5c e0          	subsd  %xmm0,%xmm4
14022aba8:	66 0f 2f e5          	comisd %xmm5,%xmm4
14022abac:	0f 42 c8             	cmovb  %eax,%ecx
14022abaf:	44 8b c1             	mov    %ecx,%r8d
14022abb2:	44 2b c2             	sub    %edx,%r8d
14022abb5:	3b ca                	cmp    %edx,%ecx
14022abb7:	44 0f 42 c1          	cmovb  %ecx,%r8d
14022abbb:	45 33 d2             	xor    %r10d,%r10d
14022abbe:	3b ca                	cmp    %edx,%ecx
14022abc0:	45 0f 42 cc          	cmovb  %r12d,%r9d
14022abc4:	4c 8d 25 ed 36 10 00 	lea    0x1036ed(%rip),%r12        # 0x14032e2b8
14022abcb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14022abd0:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
14022abd5:	41 8b cd             	mov    %r13d,%ecx
14022abd8:	41 f7 e1             	mul    %r9d
14022abdb:	c1 ea 03             	shr    $0x3,%edx
14022abde:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
14022abe1:	03 c0                	add    %eax,%eax
14022abe3:	44 2b c8             	sub    %eax,%r9d
14022abe6:	41 ff c5             	inc    %r13d
14022abe9:	43 0f b6 04 21       	movzbl (%r9,%r12,1),%eax
14022abee:	44 8b ca             	mov    %edx,%r9d
14022abf1:	42 88 44 14 50       	mov    %al,0x50(%rsp,%r10,1)
14022abf6:	49 ff c2             	inc    %r10
14022abf9:	85 d2                	test   %edx,%edx
14022abfb:	74 06                	je     0x14022ac03
14022abfd:	49 83 fa 14          	cmp    $0x14,%r10
14022ac01:	7c cd                	jl     0x14022abd0
14022ac03:	83 f9 13             	cmp    $0x13,%ecx
14022ac06:	41 0f 45 cd          	cmovne %r13d,%ecx
14022ac0a:	48 63 c1             	movslq %ecx,%rax
14022ac0d:	89 4c 24 40          	mov    %ecx,0x40(%rsp)
14022ac11:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14022ac16:	48 83 f8 14          	cmp    $0x14,%rax
14022ac1a:	0f 83 10 04 00 00    	jae    0x14022b030
14022ac20:	44 88 5c 04 50       	mov    %r11b,0x50(%rsp,%rax,1)
14022ac25:	85 db                	test   %ebx,%ebx
14022ac27:	7e 63                	jle    0x14022ac8c
14022ac29:	44 8b 94 24 30 01 00 	mov    0x130(%rsp),%r10d
14022ac30:	00
14022ac31:	45 33 c9             	xor    %r9d,%r9d
14022ac34:	41 83 fa 02          	cmp    $0x2,%r10d
14022ac38:	75 27                	jne    0x14022ac61
14022ac3a:	4d 85 c9             	test   %r9,%r9
14022ac3d:	75 22                	jne    0x14022ac61
14022ac3f:	90                   	nop
14022ac40:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
14022ac45:	41 f7 e0             	mul    %r8d
14022ac48:	c1 ea 03             	shr    $0x3,%edx
14022ac4b:	8d 0c 92             	lea    (%rdx,%rdx,4),%ecx
14022ac4e:	03 c9                	add    %ecx,%ecx
14022ac50:	44 3b c1             	cmp    %ecx,%r8d
14022ac53:	75 0c                	jne    0x14022ac61
14022ac55:	ff cb                	dec    %ebx
14022ac57:	44 8b c2             	mov    %edx,%r8d
14022ac5a:	44 3b db             	cmp    %ebx,%r11d
14022ac5d:	7c e1                	jl     0x14022ac40
14022ac5f:	eb 2b                	jmp    0x14022ac8c
14022ac61:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
14022ac66:	41 ff c3             	inc    %r11d
14022ac69:	41 f7 e0             	mul    %r8d
14022ac6c:	c1 ea 03             	shr    $0x3,%edx
14022ac6f:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
14022ac72:	03 c0                	add    %eax,%eax
14022ac74:	44 2b c0             	sub    %eax,%r8d
14022ac77:	43 0f b6 04 20       	movzbl (%r8,%r12,1),%eax
14022ac7c:	44 8b c2             	mov    %edx,%r8d
14022ac7f:	42 88 44 0c 68       	mov    %al,0x68(%rsp,%r9,1)
14022ac84:	49 ff c1             	inc    %r9
14022ac87:	44 3b db             	cmp    %ebx,%r11d
14022ac8a:	7c a8                	jl     0x14022ac34
14022ac8c:	41 83 fb 14          	cmp    $0x14,%r11d
14022ac90:	41 b9 13 00 00 00    	mov    $0x13,%r9d
14022ac96:	45 0f 45 cb          	cmovne %r11d,%r9d
14022ac9a:	4d 63 e1             	movslq %r9d,%r12
14022ac9d:	49 83 fc 14          	cmp    $0x14,%r12
14022aca1:	0f 83 89 03 00 00    	jae    0x14022b030
14022aca7:	44 8b 54 24 34       	mov    0x34(%rsp),%r10d
14022acac:	42 c6 44 24 68 00    	movb   $0x0,0x68(%rsp,%r12,1)
14022acb2:	41 83 fa 01          	cmp    $0x1,%r10d
14022acb6:	0f 85 a1 00 00 00    	jne    0x14022ad5d
14022acbc:	8b 44 24 3c          	mov    0x3c(%rsp),%eax
14022acc0:	8b c8                	mov    %eax,%ecx
14022acc2:	85 c0                	test   %eax,%eax
14022acc4:	79 02                	jns    0x14022acc8
14022acc6:	f7 d9                	neg    %ecx
14022acc8:	45 33 c0             	xor    %r8d,%r8d
14022accb:	4c 8d 2d e6 35 10 00 	lea    0x1035e6(%rip),%r13        # 0x14032e2b8
14022acd2:	45 8b d8             	mov    %r8d,%r11d
14022acd5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14022acdc:	00 00 00 00
14022ace0:	b8 67 66 66 66       	mov    $0x66666667,%eax
14022ace5:	41 ff c3             	inc    %r11d
14022ace8:	f7 e9                	imul   %ecx
14022acea:	44 89 5c 24 38       	mov    %r11d,0x38(%rsp)
14022acef:	c1 fa 02             	sar    $0x2,%edx
14022acf2:	8b c2                	mov    %edx,%eax
14022acf4:	c1 e8 1f             	shr    $0x1f,%eax
14022acf7:	03 d0                	add    %eax,%edx
14022acf9:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
14022acfc:	03 c0                	add    %eax,%eax
14022acfe:	2b c8                	sub    %eax,%ecx
14022ad00:	48 63 c1             	movslq %ecx,%rax
14022ad03:	8b ca                	mov    %edx,%ecx
14022ad05:	42 0f b6 04 28       	movzbl (%rax,%r13,1),%eax
14022ad0a:	42 88 84 04 80 00 00 	mov    %al,0x80(%rsp,%r8,1)
14022ad11:	00
14022ad12:	49 ff c0             	inc    %r8
14022ad15:	85 d2                	test   %edx,%edx
14022ad17:	7e 0b                	jle    0x14022ad24
14022ad19:	49 83 f8 14          	cmp    $0x14,%r8
14022ad1d:	7c c1                	jl     0x14022ace0
14022ad1f:	e9 89 fd ff ff       	jmp    0x14022aaad
14022ad24:	41 83 fb 01          	cmp    $0x1,%r11d
14022ad28:	75 38                	jne    0x14022ad62
14022ad2a:	44 8b 44 24 30       	mov    0x30(%rsp),%r8d
14022ad2f:	33 c0                	xor    %eax,%eax
14022ad31:	85 db                	test   %ebx,%ebx
14022ad33:	c6 84 24 81 00 00 00 	movb   $0x30,0x81(%rsp)
14022ad3a:	30
14022ad3b:	41 bb 02 00 00 00    	mov    $0x2,%r11d
14022ad41:	0f 9f c0             	setg   %al
14022ad44:	44 89 5c 24 38       	mov    %r11d,0x38(%rsp)
14022ad49:	2b f8                	sub    %eax,%edi
14022ad4b:	33 c0                	xor    %eax,%eax
14022ad4d:	45 85 c0             	test   %r8d,%r8d
14022ad50:	0f 95 c0             	setne  %al
14022ad53:	2b f8                	sub    %eax,%edi
14022ad55:	2b 7c 24 40          	sub    0x40(%rsp),%edi
14022ad59:	2b fb                	sub    %ebx,%edi
14022ad5b:	eb 29                	jmp    0x14022ad86
14022ad5d:	44 8b 5c 24 38       	mov    0x38(%rsp),%r11d
14022ad62:	44 8b 44 24 30       	mov    0x30(%rsp),%r8d
14022ad67:	33 c0                	xor    %eax,%eax
14022ad69:	45 85 c0             	test   %r8d,%r8d
14022ad6c:	0f 95 c0             	setne  %al
14022ad6f:	2b f8                	sub    %eax,%edi
14022ad71:	33 c0                	xor    %eax,%eax
14022ad73:	85 db                	test   %ebx,%ebx
14022ad75:	0f 9f c0             	setg   %al
14022ad78:	2b f8                	sub    %eax,%edi
14022ad7a:	2b 7c 24 40          	sub    0x40(%rsp),%edi
14022ad7e:	2b fb                	sub    %ebx,%edi
14022ad80:	41 83 fa 01          	cmp    $0x1,%r10d
14022ad84:	75 0a                	jne    0x14022ad90
14022ad86:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
14022ad8b:	41 2b c3             	sub    %r11d,%eax
14022ad8e:	03 f8                	add    %eax,%edi
14022ad90:	8b c3                	mov    %ebx,%eax
14022ad92:	41 bd 00 00 00 00    	mov    $0x0,%r13d
14022ad98:	41 2b c1             	sub    %r9d,%eax
14022ad9b:	44 8b 8c 24 28 01 00 	mov    0x128(%rsp),%r9d
14022ada2:	00
14022ada3:	44 0f 49 e8          	cmovns %eax,%r13d
14022ada7:	33 c9                	xor    %ecx,%ecx
14022ada9:	85 ff                	test   %edi,%edi
14022adab:	0f 49 cf             	cmovns %edi,%ecx
14022adae:	8b d1                	mov    %ecx,%edx
14022adb0:	f7 da                	neg    %edx
14022adb2:	41 f6 c1 01          	test   $0x1,%r9b
14022adb6:	0f 44 d1             	cmove  %ecx,%edx
14022adb9:	8b fa                	mov    %edx,%edi
14022adbb:	41 f6 c1 10          	test   $0x10,%r9b
14022adbf:	74 68                	je     0x14022ae29
14022adc1:	85 d2                	test   %edx,%edx
14022adc3:	7e 64                	jle    0x14022ae29
14022adc5:	45 85 c0             	test   %r8d,%r8d
14022adc8:	74 36                	je     0x14022ae00
14022adca:	44 89 44 24 20       	mov    %r8d,0x20(%rsp)
14022adcf:	4d 8b cf             	mov    %r15,%r9
14022add2:	4d 8b c6             	mov    %r14,%r8
14022add5:	48 8b d5             	mov    %rbp,%rdx
14022add8:	48 8b ce             	mov    %rsi,%rcx
14022addb:	e8 00 fa ff ff       	call   0x14022a7e0
14022ade0:	85 c0                	test   %eax,%eax
14022ade2:	0f 84 c5 fc ff ff    	je     0x14022aaad
14022ade8:	33 c0                	xor    %eax,%eax
14022adea:	ff cf                	dec    %edi
14022adec:	89 44 24 30          	mov    %eax,0x30(%rsp)
14022adf0:	85 ff                	test   %edi,%edi
14022adf2:	7e 63                	jle    0x14022ae57
14022adf4:	0f 1f 40 00          	nopl   0x0(%rax)
14022adf8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14022adff:	00
14022ae00:	4d 8b cf             	mov    %r15,%r9
14022ae03:	c7 44 24 20 30 00 00 	movl   $0x30,0x20(%rsp)
14022ae0a:	00
14022ae0b:	4d 8b c6             	mov    %r14,%r8
14022ae0e:	48 8b d5             	mov    %rbp,%rdx
14022ae11:	48 8b ce             	mov    %rsi,%rcx
14022ae14:	e8 c7 f9 ff ff       	call   0x14022a7e0
14022ae19:	85 c0                	test   %eax,%eax
14022ae1b:	0f 84 8c fc ff ff    	je     0x14022aaad
14022ae21:	ff cf                	dec    %edi
14022ae23:	85 ff                	test   %edi,%edi
14022ae25:	7f d9                	jg     0x14022ae00
14022ae27:	eb 2e                	jmp    0x14022ae57
14022ae29:	85 ff                	test   %edi,%edi
14022ae2b:	7e 2a                	jle    0x14022ae57
14022ae2d:	0f 1f 00             	nopl   (%rax)
14022ae30:	4d 8b cf             	mov    %r15,%r9
14022ae33:	c7 44 24 20 20 00 00 	movl   $0x20,0x20(%rsp)
14022ae3a:	00
14022ae3b:	4d 8b c6             	mov    %r14,%r8
14022ae3e:	48 8b d5             	mov    %rbp,%rdx
14022ae41:	48 8b ce             	mov    %rsi,%rcx
14022ae44:	e8 97 f9 ff ff       	call   0x14022a7e0
14022ae49:	85 c0                	test   %eax,%eax
14022ae4b:	0f 84 5c fc ff ff    	je     0x14022aaad
14022ae51:	ff cf                	dec    %edi
14022ae53:	85 ff                	test   %edi,%edi
14022ae55:	7f d9                	jg     0x14022ae30
14022ae57:	8b 44 24 30          	mov    0x30(%rsp),%eax
14022ae5b:	85 c0                	test   %eax,%eax
14022ae5d:	74 1d                	je     0x14022ae7c
14022ae5f:	4d 8b cf             	mov    %r15,%r9
14022ae62:	89 44 24 20          	mov    %eax,0x20(%rsp)
14022ae66:	4d 8b c6             	mov    %r14,%r8
14022ae69:	48 8b d5             	mov    %rbp,%rdx
14022ae6c:	48 8b ce             	mov    %rsi,%rcx
14022ae6f:	e8 6c f9 ff ff       	call   0x14022a7e0
14022ae74:	85 c0                	test   %eax,%eax
14022ae76:	0f 84 31 fc ff ff    	je     0x14022aaad
14022ae7c:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
14022ae81:	48 85 c0             	test   %rax,%rax
14022ae84:	7e 3e                	jle    0x14022aec4
14022ae86:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14022ae8d:	00 00 00
14022ae90:	48 ff c8             	dec    %rax
14022ae93:	4d 8b cf             	mov    %r15,%r9
14022ae96:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14022ae9b:	4d 8b c6             	mov    %r14,%r8
14022ae9e:	48 8b d5             	mov    %rbp,%rdx
14022aea1:	48 8b ce             	mov    %rsi,%rcx
14022aea4:	0f be 44 04 50       	movsbl 0x50(%rsp,%rax,1),%eax
14022aea9:	89 44 24 20          	mov    %eax,0x20(%rsp)
14022aead:	e8 2e f9 ff ff       	call   0x14022a7e0