43a672:	55                   	push   %ebp
43a673:	8b ec                	mov    %esp,%ebp
43a675:	83 ec 10             	sub    $0x10,%esp
43a678:	8d 45 f8             	lea    -0x8(%ebp),%eax
43a67b:	50                   	push   %eax
43a67c:	ff 15 40 e0 43 00    	call   *0x43e040
43a682:	85 c0                	test   %eax,%eax
43a684:	74 34                	je     0x43a6ba
43a686:	8d 45 f0             	lea    -0x10(%ebp),%eax
43a689:	50                   	push   %eax
43a68a:	ff 15 80 e1 43 00    	call   *0x43e180
43a690:	85 c0                	test   %eax,%eax
43a692:	74 26                	je     0x43a6ba
43a694:	8b 4d f8             	mov    -0x8(%ebp),%ecx
43a697:	8b c1                	mov    %ecx,%eax
43a699:	8b 55 fc             	mov    -0x4(%ebp),%edx
43a69c:	0b c2                	or     %edx,%eax
43a69e:	74 1a                	je     0x43a6ba
43a6a0:	8b 45 f0             	mov    -0x10(%ebp),%eax
43a6a3:	89 0d 08 72 45 00    	mov    %ecx,0x457208
43a6a9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43a6ac:	89 15 0c 72 45 00    	mov    %edx,0x45720c
43a6b2:	89 0d 14 72 45 00    	mov    %ecx,0x457214
43a6b8:	eb 12                	jmp    0x43a6cc
43a6ba:	83 c8 ff             	or     $0xffffffff,%eax
43a6bd:	a3 08 72 45 00       	mov    %eax,0x457208
43a6c2:	a3 0c 72 45 00       	mov    %eax,0x45720c
43a6c7:	a3 14 72 45 00       	mov    %eax,0x457214
43a6cc:	a3 10 72 45 00       	mov    %eax,0x457210
43a6d1:	33 c0                	xor    %eax,%eax
43a6d3:	c9                   	leave
43a6d4:	c3                   	ret
43a6d5:	55                   	push   %ebp
43a6d6:	8b ec                	mov    %esp,%ebp
43a6d8:	51                   	push   %ecx
43a6d9:	83 3d bc 68 45 00 01 	cmpl   $0x1,0x4568bc
43a6e0:	7c 66                	jl     0x43a748
43a6e2:	81 7d 08 b4 02 00 c0 	cmpl   $0xc00002b4,0x8(%ebp)
43a6e9:	74 09                	je     0x43a6f4
43a6eb:	81 7d 08 b5 02 00 c0 	cmpl   $0xc00002b5,0x8(%ebp)
43a6f2:	75 54                	jne    0x43a748
43a6f4:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
43a6f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a6fb:	83 f0 3f             	xor    $0x3f,%eax
43a6fe:	a8 81                	test   $0x81,%al
43a700:	74 3f                	je     0x43a741
43a702:	a9 04 02 00 00       	test   $0x204,%eax
43a707:	75 07                	jne    0x43a710
43a709:	b8 8e 00 00 c0       	mov    $0xc000008e,%eax
43a70e:	c9                   	leave
43a70f:	c3                   	ret
43a710:	a9 02 01 00 00       	test   $0x102,%eax
43a715:	74 2a                	je     0x43a741
43a717:	a9 08 04 00 00       	test   $0x408,%eax
43a71c:	75 07                	jne    0x43a725
43a71e:	b8 91 00 00 c0       	mov    $0xc0000091,%eax
43a723:	c9                   	leave
43a724:	c3                   	ret
43a725:	a9 10 08 00 00       	test   $0x810,%eax
43a72a:	75 07                	jne    0x43a733
43a72c:	b8 93 00 00 c0       	mov    $0xc0000093,%eax
43a731:	c9                   	leave
43a732:	c3                   	ret
43a733:	a9 20 10 00 00       	test   $0x1020,%eax
43a738:	75 0e                	jne    0x43a748
43a73a:	b8 8f 00 00 c0       	mov    $0xc000008f,%eax
43a73f:	c9                   	leave
43a740:	c3                   	ret
43a741:	b8 90 00 00 c0       	mov    $0xc0000090,%eax
43a746:	c9                   	leave
43a747:	c3                   	ret
43a748:	8b 45 08             	mov    0x8(%ebp),%eax
43a74b:	c9                   	leave
43a74c:	c3                   	ret
43a74d:	cc                   	int3
43a74e:	cc                   	int3
43a74f:	cc                   	int3
43a750:	83 3d bc 68 45 00 06 	cmpl   $0x6,0x4568bc
43a757:	7c 15                	jl     0x43a76e
43a759:	c5 fa 7e c0          	vmovq  %xmm0,%xmm0
43a75d:	62 f1 fd 08 7a c0    	vcvttpd2qq %xmm0,%xmm0
43a763:	c5 f9 7e c0          	vmovd  %xmm0,%eax
43a767:	c4 e3 79 16 c2 01    	vpextrd $0x1,%xmm0,%edx
43a76d:	c3                   	ret
43a76e:	8b cc                	mov    %esp,%ecx
43a770:	83 c4 f8             	add    $0xfffffff8,%esp
43a773:	83 e4 f8             	and    $0xfffffff8,%esp
43a776:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
43a77b:	8b 04 24             	mov    (%esp),%eax
43a77e:	8b 54 24 04          	mov    0x4(%esp),%edx
43a782:	8b e1                	mov    %ecx,%esp
43a784:	0f ba f2 1f          	btr    $0x1f,%edx
43a788:	1b c9                	sbb    %ecx,%ecx
43a78a:	81 fa 00 00 e0 41    	cmp    $0x41e00000,%edx
43a790:	73 3c                	jae    0x43a7ce
43a792:	f2 0f 2c c0          	cvttsd2si %xmm0,%eax
43a796:	99                   	cltd
43a797:	c3                   	ret
43a798:	8b ca                	mov    %edx,%ecx
43a79a:	0f ba ea 14          	bts    $0x14,%edx
43a79e:	c1 e9 14             	shr    $0x14,%ecx
43a7a1:	81 e2 ff ff 1f 00    	and    $0x1fffff,%edx
43a7a7:	81 e9 33 04 00 00    	sub    $0x433,%ecx
43a7ad:	7d 19                	jge    0x43a7c8
43a7af:	f7 d9                	neg    %ecx
43a7b1:	53                   	push   %ebx
43a7b2:	33 db                	xor    %ebx,%ebx
43a7b4:	0f ad c3             	shrd   %cl,%eax,%ebx
43a7b7:	74 08                	je     0x43a7c1
43a7b9:	f3 0f 2c 1d 74 00 45 	cvttss2si 0x450074,%ebx
43a7c0:	00
43a7c1:	5b                   	pop    %ebx
43a7c2:	0f ad d0             	shrd   %cl,%edx,%eax
43a7c5:	d3 ea                	shr    %cl,%edx
43a7c7:	c3                   	ret
43a7c8:	0f a5 c2             	shld   %cl,%eax,%edx
43a7cb:	d3 e0                	shl    %cl,%eax
43a7cd:	c3                   	ret
43a7ce:	81 fa 00 00 e0 43    	cmp    $0x43e00000,%edx
43a7d4:	73 11                	jae    0x43a7e7
43a7d6:	85 c9                	test   %ecx,%ecx
43a7d8:	74 be                	je     0x43a798
43a7da:	e8 b9 ff ff ff       	call   0x43a798
43a7df:	f7 d8                	neg    %eax
43a7e1:	83 d2 00             	adc    $0x0,%edx
43a7e4:	f7 da                	neg    %edx
43a7e6:	c3                   	ret
43a7e7:	e3 06                	jecxz  0x43a7ef
43a7e9:	77 04                	ja     0x43a7ef
43a7eb:	85 c0                	test   %eax,%eax
43a7ed:	74 08                	je     0x43a7f7
43a7ef:	f3 0f 2c 0d 70 00 45 	cvttss2si 0x450070,%ecx
43a7f6:	00
43a7f7:	ba 00 00 00 80       	mov    $0x80000000,%edx
43a7fc:	33 c0                	xor    %eax,%eax
43a7fe:	c3                   	ret
43a7ff:	cc                   	int3
43a800:	83 3d bc 68 45 00 06 	cmpl   $0x6,0x4568bc
43a807:	7c 11                	jl     0x43a81a
43a809:	c5 f9 6e c1          	vmovd  %ecx,%xmm0
43a80d:	c4 e3 79 22 c2 01    	vpinsrd $0x1,%edx,%xmm0,%xmm0
43a813:	62 f1 fe 08 7a c0    	vcvtuqq2pd %xmm0,%xmm0
43a819:	c3                   	ret
43a81a:	0f 57 c0             	xorps  %xmm0,%xmm0
43a81d:	f2 0f 2a c1          	cvtsi2sd %ecx,%xmm0
43a821:	c1 e9 1f             	shr    $0x1f,%ecx
43a824:	f2 0f 58 04 cd 78 00 	addsd  0x450078(,%ecx,8),%xmm0
43a82b:	45 00
43a82d:	85 d2                	test   %edx,%edx
43a82f:	74 1f                	je     0x43a850
43a831:	0f 57 c9             	xorps  %xmm1,%xmm1
43a834:	f2 0f 2a ca          	cvtsi2sd %edx,%xmm1
43a838:	c1 ea 1f             	shr    $0x1f,%edx
43a83b:	f2 0f 58 0c d5 78 00 	addsd  0x450078(,%edx,8),%xmm1
43a842:	45 00
43a844:	f2 0f 59 0d 80 00 45 	mulsd  0x450080,%xmm1
43a84b:	00
43a84c:	f2 0f 58 c1          	addsd  %xmm1,%xmm0
43a850:	c3                   	ret
43a851:	cc                   	int3
43a852:	cc                   	int3
43a853:	cc                   	int3
43a854:	cc                   	int3
43a855:	cc                   	int3
43a856:	cc                   	int3
43a857:	cc                   	int3
43a858:	cc                   	int3
43a859:	cc                   	int3
43a85a:	cc                   	int3
43a85b:	cc                   	int3
43a85c:	cc                   	int3
43a85d:	cc                   	int3
43a85e:	cc                   	int3
43a85f:	cc                   	int3
43a860:	83 ec 10             	sub    $0x10,%esp
43a863:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
43a868:	8b 44 24 04          	mov    0x4(%esp),%eax
43a86c:	25 80 7f 00 00       	and    $0x7f80,%eax
43a871:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
43a876:	0f 85 0f 0b 00 00    	jne    0x43b38b
43a87c:	d9 3c 24             	fnstcw (%esp)
43a87f:	66 8b 04 24          	mov    (%esp),%ax
43a883:	66 83 e0 7f          	and    $0x7f,%ax
43a887:	66 83 f8 7f          	cmp    $0x7f,%ax
43a88b:	0f 85 fa 0a 00 00    	jne    0x43b38b
43a891:	66 0f 13 04 24       	movlpd %xmm0,(%esp)
43a896:	66 0f 13 4c 24 08    	movlpd %xmm1,0x8(%esp)
43a89c:	66 0f 12 3d a0 00 45 	movlpd 0x4500a0,%xmm7
43a8a3:	00
43a8a4:	66 0f 12 15 b0 00 45 	movlpd 0x4500b0,%xmm2
43a8ab:	00
43a8ac:	66 0f 54 f8          	andpd  %xmm0,%xmm7
43a8b0:	f2 0f 10 e0          	movsd  %xmm0,%xmm4
43a8b4:	66 0f 73 d0 2c       	psrlq  $0x2c,%xmm0
43a8b9:	66 0f c5 c0 00       	pextrw $0x0,%xmm0,%eax
43a8be:	66 0f 56 fa          	orpd   %xmm2,%xmm7
43a8c2:	66 0f c5 cc 03       	pextrw $0x3,%xmm4,%ecx
43a8c7:	25 ff 00 00 00       	and    $0xff,%eax
43a8cc:	83 c0 01             	add    $0x1,%eax
43a8cf:	25 fe 01 00 00       	and    $0x1fe,%eax
43a8d4:	f2 0f 59 3c 85 40 59 	mulsd  0x445940(,%eax,4),%xmm7
43a8db:	44 00
43a8dd:	66 0f 12 2c 85 40 59 	movlpd 0x445940(,%eax,4),%xmm5
43a8e4:	44 00
43a8e6:	03 c0                	add    %eax,%eax
43a8e8:	66 0f 28 34 85 50 5d 	movapd 0x445d50(,%eax,4),%xmm6
43a8ef:	44 00
43a8f1:	ba ef 7f 00 00       	mov    $0x7fef,%edx
43a8f6:	2b d1                	sub    %ecx,%edx
43a8f8:	83 e9 10             	sub    $0x10,%ecx
43a8fb:	0b ca                	or     %edx,%ecx
43a8fd:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
43a903:	0f 83 ce 02 00 00    	jae    0x43abd7
43a909:	b9 00 00 00 00       	mov    $0x0,%ecx
43a90e:	ba 7f fe 03 00       	mov    $0x3fe7f,%edx
43a913:	66 0f 6e ca          	movd   %edx,%xmm1
43a917:	66 0f fb c1          	psubq  %xmm1,%xmm0
43a91b:	66 0f 73 d0 08       	psrlq  $0x8,%xmm0
43a920:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
43a924:	66 0f 12 0d f8 00 45 	movlpd 0x4500f8,%xmm1
43a92b:	00
43a92c:	f2 0f 10 df          	movsd  %xmm7,%xmm3
43a930:	66 0f 73 d7 26       	psrlq  $0x26,%xmm7
43a935:	66 0f c5 c7 00       	pextrw $0x0,%xmm7,%eax
43a93a:	66 0f 54 25 a0 00 45 	andpd  0x4500a0,%xmm4
43a941:	00
43a942:	25 ff 00 00 00       	and    $0xff,%eax
43a947:	83 c0 01             	add    $0x1,%eax
43a94a:	25 fe 01 00 00       	and    $0x1fe,%eax
43a94f:	f2 0f 59 1c 85 60 65 	mulsd  0x446560(,%eax,4),%xmm3
43a956:	44 00
43a958:	f2 0f 59 2c 85 60 65 	mulsd  0x446560(,%eax,4),%xmm5
43a95f:	44 00
43a961:	03 c0                	add    %eax,%eax
43a963:	66 0f 58 34 85 70 69 	addpd  0x446970(,%eax,4),%xmm6
43a96a:	44 00
43a96c:	66 0f 56 25 b0 00 45 	orpd   0x4500b0,%xmm4
43a973:	00
43a974:	f2 0f 58 f0          	addsd  %xmm0,%xmm6
43a978:	66 0f 54 cc          	andpd  %xmm4,%xmm1
43a97c:	f2 0f 10 d3          	movsd  %xmm3,%xmm2
43a980:	66 0f 73 d3 1f       	psrlq  $0x1f,%xmm3
43a985:	66 0f c5 c3 00       	pextrw $0x0,%xmm3,%eax
43a98a:	66 0f 12 05 f8 00 45 	movlpd 0x4500f8,%xmm0
43a991:	00
43a992:	f2 0f 5c e1          	subsd  %xmm1,%xmm4
43a996:	66 0f 12 3d 00 01 45 	movlpd 0x450100,%xmm7
43a99d:	00
43a99e:	25 ff 01 00 00       	and    $0x1ff,%eax
43a9a3:	83 c0 01             	add    $0x1,%eax
43a9a6:	25 fe 03 00 00       	and    $0x3fe,%eax
43a9ab:	f2 0f 59 2c 85 80 71 	mulsd  0x447180(,%eax,4),%xmm5
43a9b2:	44 00
43a9b4:	f2 0f 59 14 85 80 71 	mulsd  0x447180(,%eax,4),%xmm2
43a9bb:	44 00
43a9bd:	66 0f 58 34 c5 90 79 	addpd  0x447990(,%eax,8),%xmm6
43a9c4:	44 00
43a9c6:	66 0f 54 c5          	andpd  %xmm5,%xmm0
43a9ca:	f2 0f 5c e8          	subsd  %xmm0,%xmm5
43a9ce:	f2 0f 58 fa          	addsd  %xmm2,%xmm7
43a9d2:	f2 0f 10 d8          	movsd  %xmm0,%xmm3
43a9d6:	f2 0f 59 c1          	mulsd  %xmm1,%xmm0
43a9da:	f2 0f 59 cd          	mulsd  %xmm5,%xmm1
43a9de:	f2 0f 59 dc          	mulsd  %xmm4,%xmm3
43a9e2:	f2 0f 5c d0          	subsd  %xmm0,%xmm2
43a9e6:	f2 0f 59 e5          	mulsd  %xmm5,%xmm4
43a9ea:	f2 0f 10 c6          	movsd  %xmm6,%xmm0
43a9ee:	f2 0f 5c d1          	subsd  %xmm1,%xmm2
43a9f2:	f2 0f 58 f7          	addsd  %xmm7,%xmm6
43a9f6:	66 0f 12 4c 24 08    	movlpd 0x8(%esp),%xmm1
43a9fc:	66 0f c5 c1 03       	pextrw $0x3,%xmm1,%eax
43aa01:	f2 0f 5c d3          	subsd  %xmm3,%xmm2
43aa05:	f2 0f 5c c6          	subsd  %xmm6,%xmm0
43aa09:	66 0f 12 1d f8 00 45 	movlpd 0x4500f8,%xmm3
43aa10:	00
43aa11:	66 0f c5 d6 03       	pextrw $0x3,%xmm6,%edx
43aa16:	f2 0f 5c d4          	subsd  %xmm4,%xmm2
43aa1a:	f2 0f 10 e6          	movsd  %xmm6,%xmm4
43aa1e:	f2 0f 58 c7          	addsd  %xmm7,%xmm0
43aa22:	f2 0f 5c fa          	subsd  %xmm2,%xmm7
43aa26:	f2 0f 5c f2          	subsd  %xmm2,%xmm6
43aa2a:	66 0f 14 ff          	unpcklpd %xmm7,%xmm7
43aa2e:	25 f0 7f 00 00       	and    $0x7ff0,%eax
43aa33:	3d f0 7f 00 00       	cmp    $0x7ff0,%eax
43aa38:	0f 83 1a 05 00 00    	jae    0x43af58
43aa3e:	81 e2 f0 7f 00 00    	and    $0x7ff0,%edx
43aa44:	2d f0 3f 00 00       	sub    $0x3ff0,%eax
43aa49:	03 c2                	add    %edx,%eax
43aa4b:	ba a0 40 00 00       	mov    $0x40a0,%edx
43aa50:	2b d0                	sub    %eax,%edx
43aa52:	2d 70 3c 00 00       	sub    $0x3c70,%eax
43aa57:	0b d0                	or     %eax,%edx
43aa59:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
43aa5f:	0f 83 af 08 00 00    	jae    0x43b314
43aa65:	f2 0f 5c e6          	subsd  %xmm6,%xmm4
43aa69:	f2 0f 5c d4          	subsd  %xmm4,%xmm2
43aa6d:	66 0f 12 25 f8 00 45 	movlpd 0x4500f8,%xmm4
43aa74:	00
43aa75:	66 0f 54 d9          	andpd  %xmm1,%xmm3
43aa79:	66 0f 54 e6          	andpd  %xmm6,%xmm4
43aa7d:	f2 0f 5c c2          	subsd  %xmm2,%xmm0
43aa81:	66 0f 57 d2          	xorpd  %xmm2,%xmm2
43aa85:	ba 60 40 00 00       	mov    $0x4060,%edx
43aa8a:	66 0f c4 d2 03       	pinsrw $0x3,%edx,%xmm2
43aa8f:	f2 0f 10 eb          	movsd  %xmm3,%xmm5
43aa93:	f2 0f 59 dc          	mulsd  %xmm4,%xmm3
43aa97:	f2 0f 5c f4          	subsd  %xmm4,%xmm6
43aa9b:	f2 0f 5c cd          	subsd  %xmm5,%xmm1
43aa9f:	f2 0f 59 da          	mulsd  %xmm2,%xmm3
43aaa3:	f2 0f 59 ee          	mulsd  %xmm6,%xmm5
43aaa7:	66 0f 28 15 a0 89 44 	movapd 0x4489a0,%xmm2
43aaae:	00
43aaaf:	f2 0f 59 e1          	mulsd  %xmm1,%xmm4
43aab3:	f2 0f 2d c3          	cvtsd2si %xmm3,%eax
43aab7:	f2 0f 59 f1          	mulsd  %xmm1,%xmm6
43aabb:	66 0f 28 0d b0 89 44 	movapd 0x4489b0,%xmm1
43aac2:	00
43aac3:	f2 0f 58 ec          	addsd  %xmm4,%xmm5
43aac7:	66 0f 70 e6 ee       	pshufd $0xee,%xmm6,%xmm4
43aacc:	f2 0f 58 ee          	addsd  %xmm6,%xmm5
43aad0:	ba 7f ff 01 00       	mov    $0x1ff7f,%edx
43aad5:	2b d0                	sub    %eax,%edx
43aad7:	05 ff e1 01 00       	add    $0x1e1ff,%eax
43aadc:	0b d0                	or     %eax,%edx
43aade:	2d ff e1 01 00       	sub    $0x1e1ff,%eax
43aae3:	83 fa 00             	cmp    $0x0,%edx
43aae6:	0f 8e c6 05 00 00    	jle    0x43b0b2
43aaec:	03 c8                	add    %eax,%ecx
43aaee:	83 e0 7f             	and    $0x7f,%eax
43aaf1:	83 e1 80             	and    $0xffffff80,%ecx
43aaf4:	81 c1 80 ff 01 00    	add    $0x1ff80,%ecx
43aafa:	f2 0f 58 e0          	addsd  %xmm0,%xmm4
43aafe:	f2 0f 10 c3          	movsd  %xmm3,%xmm0
43ab02:	f2 0f 58 1d 90 00 45 	addsd  0x450090,%xmm3
43ab09:	00
43ab0a:	66 0f 59 d7          	mulpd  %xmm7,%xmm2
43ab0e:	f2 0f 5c 1d 90 00 45 	subsd  0x450090,%xmm3
43ab15:	00
43ab16:	66 0f 59 ff          	mulpd  %xmm7,%xmm7
43ab1a:	f2 0f 5c c3          	subsd  %xmm3,%xmm0
43ab1e:	03 c0                	add    %eax,%eax
43ab20:	03 c0                	add    %eax,%eax
43ab22:	03 c0                	add    %eax,%eax
43ab24:	03 c0                	add    %eax,%eax
43ab26:	66 0f 28 98 c0 89 44 	movapd 0x4489c0(%eax),%xmm3
43ab2d:	00
43ab2e:	66 0f 28 35 d0 00 45 	movapd 0x4500d0,%xmm6
43ab35:	00
43ab36:	66 0f 59 cf          	mulpd  %xmm7,%xmm1
43ab3a:	66 0f 58 d1          	addpd  %xmm1,%xmm2