416638:	0f b7 55 fc          	movzwl -0x4(%ebp),%edx
41663c:	8b c1                	mov    %ecx,%eax
41663e:	f6 c2 3d             	test   $0x3d,%dl
416641:	74 32                	je     0x416675
416643:	f6 c2 01             	test   $0x1,%dl
416646:	74 05                	je     0x41664d
416648:	b8 10 00 10 00       	mov    $0x100010,%eax
41664d:	f6 c2 04             	test   $0x4,%dl
416650:	74 05                	je     0x416657
416652:	0d 08 00 08 00       	or     $0x80008,%eax
416657:	f6 c2 08             	test   $0x8,%dl
41665a:	74 05                	je     0x416661
41665c:	0d 04 00 04 00       	or     $0x40004,%eax
416661:	f6 c2 10             	test   $0x10,%dl
416664:	74 05                	je     0x41666b
416666:	0d 02 00 02 00       	or     $0x20002,%eax
41666b:	f6 c2 20             	test   $0x20,%dl
41666e:	74 05                	je     0x416675
416670:	0d 01 00 01 00       	or     $0x10001,%eax
416675:	8b 55 f8             	mov    -0x8(%ebp),%edx
416678:	f6 c2 3d             	test   $0x3d,%dl
41667b:	74 36                	je     0x4166b3
41667d:	f6 c2 01             	test   $0x1,%dl
416680:	74 05                	je     0x416687
416682:	b9 10 00 00 10       	mov    $0x10000010,%ecx
416687:	f6 c2 04             	test   $0x4,%dl
41668a:	74 06                	je     0x416692
41668c:	81 c9 08 00 00 08    	or     $0x8000008,%ecx
416692:	f6 c2 08             	test   $0x8,%dl
416695:	74 06                	je     0x41669d
416697:	81 c9 04 00 00 04    	or     $0x4000004,%ecx
41669d:	f6 c2 10             	test   $0x10,%dl
4166a0:	74 06                	je     0x4166a8
4166a2:	81 c9 02 00 00 02    	or     $0x2000002,%ecx
4166a8:	f6 c2 20             	test   $0x20,%dl
4166ab:	74 06                	je     0x4166b3
4166ad:	81 c9 01 00 00 01    	or     $0x1000001,%ecx
4166b3:	0b c1                	or     %ecx,%eax
4166b5:	25 1f 00 1f 1f       	and    $0x1f1f001f,%eax
4166ba:	8b e5                	mov    %ebp,%esp
4166bc:	5d                   	pop    %ebp
4166bd:	c3                   	ret
4166be:	8b ff                	mov    %edi,%edi
4166c0:	55                   	push   %ebp
4166c1:	8b ec                	mov    %esp,%ebp
4166c3:	83 ec 20             	sub    $0x20,%esp
4166c6:	53                   	push   %ebx
4166c7:	56                   	push   %esi
4166c8:	57                   	push   %edi
4166c9:	33 ff                	xor    %edi,%edi
4166cb:	89 7d e0             	mov    %edi,-0x20(%ebp)
4166ce:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4166d1:	89 7d e8             	mov    %edi,-0x18(%ebp)
4166d4:	89 7d ec             	mov    %edi,-0x14(%ebp)
4166d7:	89 7d f0             	mov    %edi,-0x10(%ebp)
4166da:	89 7d f4             	mov    %edi,-0xc(%ebp)
4166dd:	89 7d f8             	mov    %edi,-0x8(%ebp)
4166e0:	d9 75 e0             	fnstenv -0x20(%ebp)
4166e3:	bb 1f 03 00 00       	mov    $0x31f,%ebx
4166e8:	53                   	push   %ebx
4166e9:	e8 32 fd ff ff       	call   0x416420
4166ee:	ff 75 08             	push   0x8(%ebp)
4166f1:	8b f0                	mov    %eax,%esi
4166f3:	f7 d6                	not    %esi
4166f5:	23 75 e0             	and    -0x20(%ebp),%esi
4166f8:	e8 23 fd ff ff       	call   0x416420
4166fd:	59                   	pop    %ecx
4166fe:	0b f0                	or     %eax,%esi
416700:	59                   	pop    %ecx
416701:	89 75 e0             	mov    %esi,-0x20(%ebp)
416704:	d9 65 e0             	fldenv -0x20(%ebp)
416707:	83 3d 14 3e 42 00 01 	cmpl   $0x1,0x423e14
41670e:	7c 27                	jl     0x416737
416710:	89 7d fc             	mov    %edi,-0x4(%ebp)
416713:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
416717:	53                   	push   %ebx
416718:	e8 74 fd ff ff       	call   0x416491
41671d:	ff 75 08             	push   0x8(%ebp)
416720:	8b f0                	mov    %eax,%esi
416722:	f7 d6                	not    %esi
416724:	23 75 fc             	and    -0x4(%ebp),%esi
416727:	e8 65 fd ff ff       	call   0x416491
41672c:	59                   	pop    %ecx
41672d:	0b f0                	or     %eax,%esi
41672f:	59                   	pop    %ecx
416730:	89 75 fc             	mov    %esi,-0x4(%ebp)
416733:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
416737:	5f                   	pop    %edi
416738:	5e                   	pop    %esi
416739:	5b                   	pop    %ebx
41673a:	8b e5                	mov    %ebp,%esp
41673c:	5d                   	pop    %ebp
41673d:	c3                   	ret
41673e:	8b ff                	mov    %edi,%edi
416740:	55                   	push   %ebp
416741:	8b ec                	mov    %esp,%ebp
416743:	83 ec 20             	sub    $0x20,%esp
416746:	53                   	push   %ebx
416747:	56                   	push   %esi
416748:	57                   	push   %edi
416749:	33 ff                	xor    %edi,%edi
41674b:	89 7d e0             	mov    %edi,-0x20(%ebp)
41674e:	89 7d e4             	mov    %edi,-0x1c(%ebp)
416751:	89 7d e8             	mov    %edi,-0x18(%ebp)
416754:	89 7d ec             	mov    %edi,-0x14(%ebp)
416757:	89 7d f0             	mov    %edi,-0x10(%ebp)
41675a:	89 7d f4             	mov    %edi,-0xc(%ebp)
41675d:	89 7d f8             	mov    %edi,-0x8(%ebp)
416760:	d9 75 e0             	fnstenv -0x20(%ebp)
416763:	bb 1f 00 1f 1f       	mov    $0x1f1f001f,%ebx
416768:	53                   	push   %ebx
416769:	e8 04 fe ff ff       	call   0x416572
41676e:	ff 75 08             	push   0x8(%ebp)
416771:	8b f0                	mov    %eax,%esi
416773:	f7 d6                	not    %esi
416775:	23 75 e4             	and    -0x1c(%ebp),%esi
416778:	e8 f5 fd ff ff       	call   0x416572
41677d:	59                   	pop    %ecx
41677e:	0b f0                	or     %eax,%esi
416780:	59                   	pop    %ecx
416781:	89 75 e4             	mov    %esi,-0x1c(%ebp)
416784:	d9 65 e0             	fldenv -0x20(%ebp)
416787:	83 3d 14 3e 42 00 01 	cmpl   $0x1,0x423e14
41678e:	7c 27                	jl     0x4167b7
416790:	89 7d fc             	mov    %edi,-0x4(%ebp)
416793:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
416797:	53                   	push   %ebx
416798:	e8 74 fd ff ff       	call   0x416511
41679d:	ff 75 08             	push   0x8(%ebp)
4167a0:	8b f0                	mov    %eax,%esi
4167a2:	f7 d6                	not    %esi
4167a4:	23 75 fc             	and    -0x4(%ebp),%esi
4167a7:	e8 65 fd ff ff       	call   0x416511
4167ac:	59                   	pop    %ecx
4167ad:	0b f0                	or     %eax,%esi
4167af:	59                   	pop    %ecx
4167b0:	89 75 fc             	mov    %esi,-0x4(%ebp)
4167b3:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
4167b7:	5f                   	pop    %edi
4167b8:	5e                   	pop    %esi
4167b9:	5b                   	pop    %ebx
4167ba:	8b e5                	mov    %ebp,%esp
4167bc:	5d                   	pop    %ebp
4167bd:	c3                   	ret
4167be:	6a 0a                	push   $0xa
4167c0:	e8 cf d6 fe ff       	call   0x403e94
4167c5:	a3 88 47 42 00       	mov    %eax,0x424788
4167ca:	33 c0                	xor    %eax,%eax
4167cc:	c3                   	ret
4167cd:	cc                   	int3
4167ce:	cc                   	int3
4167cf:	cc                   	int3
4167d0:	55                   	push   %ebp
4167d1:	8b ec                	mov    %esp,%ebp
4167d3:	83 ec 08             	sub    $0x8,%esp
4167d6:	83 e4 f0             	and    $0xfffffff0,%esp
4167d9:	dd 1c 24             	fstpl  (%esp)
4167dc:	f3 0f 7e 04 24       	movq   (%esp),%xmm0
4167e1:	e8 08 00 00 00       	call   0x4167ee
4167e6:	c9                   	leave
4167e7:	c3                   	ret
4167e8:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
4167ee:	ba 00 00 00 00       	mov    $0x0,%edx
4167f3:	66 0f 28 e8          	movapd %xmm0,%xmm5
4167f7:	66 0f 14 c0          	unpcklpd %xmm0,%xmm0
4167fb:	66 0f 73 d5 34       	psrlq  $0x34,%xmm5
416800:	66 0f c5 cd 00       	pextrw $0x0,%xmm5,%ecx
416805:	66 0f 28 0d 40 fe 41 	movapd 0x41fe40,%xmm1
41680c:	00
41680d:	66 0f 28 15 50 fe 41 	movapd 0x41fe50,%xmm2
416814:	00
416815:	66 0f 28 1d b0 fe 41 	movapd 0x41feb0,%xmm3
41681c:	00
41681d:	66 0f 28 25 60 fe 41 	movapd 0x41fe60,%xmm4
416824:	00
416825:	66 0f 28 35 70 fe 41 	movapd 0x41fe70,%xmm6
41682c:	00
41682d:	66 0f 54 c1          	andpd  %xmm1,%xmm0
416831:	66 0f 56 c3          	orpd   %xmm3,%xmm0
416835:	66 0f 58 e0          	addpd  %xmm0,%xmm4
416839:	66 0f c5 c4 00       	pextrw $0x0,%xmm4,%eax
41683e:	25 f0 07 00 00       	and    $0x7f0,%eax
416843:	66 0f 28 a0 70 04 42 	movapd 0x420470(%eax),%xmm4
41684a:	00
41684b:	66 0f 28 b8 60 00 42 	movapd 0x420060(%eax),%xmm7
416852:	00
416853:	66 0f 54 f0          	andpd  %xmm0,%xmm6
416857:	66 0f 5c c6          	subpd  %xmm6,%xmm0
41685b:	66 0f 59 f4          	mulpd  %xmm4,%xmm6
41685f:	66 0f 5c f2          	subpd  %xmm2,%xmm6
416863:	f2 0f 58 fe          	addsd  %xmm6,%xmm7
416867:	66 0f 59 c4          	mulpd  %xmm4,%xmm0
41686b:	66 0f 28 e0          	movapd %xmm0,%xmm4
41686f:	66 0f 58 c6          	addpd  %xmm6,%xmm0
416873:	81 e1 ff 0f 00 00    	and    $0xfff,%ecx
416879:	83 e9 01             	sub    $0x1,%ecx
41687c:	81 f9 fd 07 00 00    	cmp    $0x7fd,%ecx
416882:	0f 87 be 00 00 00    	ja     0x416946
416888:	81 e9 fe 03 00 00    	sub    $0x3fe,%ecx
41688e:	03 ca                	add    %edx,%ecx
416890:	f2 0f 2a f1          	cvtsi2sd %ecx,%xmm6
416894:	66 0f 14 f6          	unpcklpd %xmm6,%xmm6
416898:	c1 e1 0a             	shl    $0xa,%ecx
41689b:	03 c1                	add    %ecx,%eax
41689d:	b9 10 00 00 00       	mov    $0x10,%ecx
4168a2:	ba 00 00 00 00       	mov    $0x0,%edx
4168a7:	83 f8 00             	cmp    $0x0,%eax
4168aa:	0f 44 d1             	cmove  %ecx,%edx
4168ad:	66 0f 28 0d 00 ff 41 	movapd 0x41ff00,%xmm1
4168b4:	00
4168b5:	66 0f 28 d8          	movapd %xmm0,%xmm3
4168b9:	66 0f 28 15 10 ff 41 	movapd 0x41ff10,%xmm2
4168c0:	00
4168c1:	66 0f 59 c8          	mulpd  %xmm0,%xmm1
4168c5:	66 0f 59 db          	mulpd  %xmm3,%xmm3
4168c9:	66 0f 58 ca          	addpd  %xmm2,%xmm1
4168cd:	66 0f 28 15 20 ff 41 	movapd 0x41ff20,%xmm2
4168d4:	00
4168d5:	f2 0f 59 db          	mulsd  %xmm3,%xmm3
4168d9:	66 0f 28 2d 80 fe 41 	movapd 0x41fe80,%xmm5
4168e0:	00
4168e1:	66 0f 59 f5          	mulpd  %xmm5,%xmm6
4168e5:	66 0f 28 aa 90 fe 41 	movapd 0x41fe90(%edx),%xmm5
4168ec:	00
4168ed:	66 0f 54 e5          	andpd  %xmm5,%xmm4
4168f1:	66 0f 58 fe          	addpd  %xmm6,%xmm7
4168f5:	66 0f 58 fc          	addpd  %xmm4,%xmm7
4168f9:	66 0f 59 c8          	mulpd  %xmm0,%xmm1
4168fd:	f2 0f 59 d8          	mulsd  %xmm0,%xmm3
416901:	66 0f 58 ca          	addpd  %xmm2,%xmm1
416905:	66 0f 28 15 30 ff 41 	movapd 0x41ff30,%xmm2
41690c:	00
41690d:	66 0f 59 d0          	mulpd  %xmm0,%xmm2
416911:	66 0f 28 f7          	movapd %xmm7,%xmm6
416915:	66 0f 15 f6          	unpckhpd %xmm6,%xmm6
416919:	66 0f 59 cb          	mulpd  %xmm3,%xmm1
41691d:	83 ec 10             	sub    $0x10,%esp
416920:	66 0f 28 c1          	movapd %xmm1,%xmm0
416924:	66 0f 58 ca          	addpd  %xmm2,%xmm1
416928:	66 0f 15 c0          	unpckhpd %xmm0,%xmm0
41692c:	f2 0f 58 c1          	addsd  %xmm1,%xmm0
416930:	f2 0f 58 c6          	addsd  %xmm6,%xmm0
416934:	f2 0f 58 c7          	addsd  %xmm7,%xmm0
416938:	66 0f 13 44 24 04    	movlpd %xmm0,0x4(%esp)
41693e:	dd 44 24 04          	fldl   0x4(%esp)
416942:	83 c4 10             	add    $0x10,%esp
416945:	c3                   	ret
416946:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
41694c:	66 0f 28 0d c0 fe 41 	movapd 0x41fec0,%xmm1
416953:	00
416954:	f2 0f c2 c8 00       	cmpeqsd %xmm0,%xmm1
416959:	66 0f c5 c1 00       	pextrw $0x0,%xmm1,%eax
41695e:	83 f8 00             	cmp    $0x0,%eax
416961:	77 48                	ja     0x4169ab
416963:	83 f9 ff             	cmp    $0xffffffff,%ecx
416966:	74 5e                	je     0x4169c6
416968:	81 f9 fe 07 00 00    	cmp    $0x7fe,%ecx
41696e:	77 6c                	ja     0x4169dc
416970:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
416976:	66 0f 28 0d 40 fe 41 	movapd 0x41fe40,%xmm1
41697d:	00
41697e:	66 0f 28 15 b0 fe 41 	movapd 0x41feb0,%xmm2
416985:	00
416986:	66 0f 54 c1          	andpd  %xmm1,%xmm0
41698a:	66 0f 56 c2          	orpd   %xmm2,%xmm0
41698e:	f2 0f c2 d0 00       	cmpeqsd %xmm0,%xmm2
416993:	66 0f c5 c2 00       	pextrw $0x0,%xmm2,%eax
416998:	83 f8 00             	cmp    $0x0,%eax
41699b:	74 07                	je     0x4169a4
41699d:	dd 05 e8 fe 41 00    	fldl   0x41fee8
4169a3:	c3                   	ret
4169a4:	ba e9 03 00 00       	mov    $0x3e9,%edx
4169a9:	eb 4f                	jmp    0x4169fa
4169ab:	66 0f 12 15 b0 fe 41 	movlpd 0x41feb0,%xmm2
4169b2:	00
4169b3:	f2 0f 5e d0          	divsd  %xmm0,%xmm2
4169b7:	66 0f 12 0d e0 fe 41 	movlpd 0x41fee0,%xmm1
4169be:	00
4169bf:	ba 08 00 00 00       	mov    $0x8,%edx
4169c4:	eb 34                	jmp    0x4169fa
4169c6:	66 0f 12 0d d0 fe 41 	movlpd 0x41fed0,%xmm1
4169cd:	00
4169ce:	f2 0f 59 c1          	mulsd  %xmm1,%xmm0
4169d2:	ba cc ff ff ff       	mov    $0xffffffcc,%edx
4169d7:	e9 17 fe ff ff       	jmp    0x4167f3
4169dc:	83 c1 01             	add    $0x1,%ecx
4169df:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
4169e5:	81 f9 ff 07 00 00    	cmp    $0x7ff,%ecx
4169eb:	73 3a                	jae    0x416a27
4169ed:	66 0f 57 c9          	xorpd  %xmm1,%xmm1
4169f1:	f2 0f 5e c9          	divsd  %xmm1,%xmm1
4169f5:	ba 09 00 00 00       	mov    $0x9,%edx
4169fa:	83 ec 1c             	sub    $0x1c,%esp
4169fd:	66 0f 13 4c 24 10    	movlpd %xmm1,0x10(%esp)
416a03:	89 54 24 0c          	mov    %edx,0xc(%esp)
416a07:	8b d4                	mov    %esp,%edx
416a09:	83 c2 10             	add    $0x10,%edx
416a0c:	89 54 24 08          	mov    %edx,0x8(%esp)
416a10:	83 c2 10             	add    $0x10,%edx
416a13:	89 54 24 04          	mov    %edx,0x4(%esp)
416a17:	89 14 24             	mov    %edx,(%esp)
416a1a:	e8 24 06 00 00       	call   0x417043
416a1f:	dd 44 24 10          	fldl   0x10(%esp)
416a23:	83 c4 1c             	add    $0x1c,%esp
416a26:	c3                   	ret
416a27:	66 0f 12 54 24 04    	movlpd 0x4(%esp),%xmm2
416a2d:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
416a33:	66 0f 7e d0          	movd   %xmm2,%eax
416a37:	66 0f 73 d2 20       	psrlq  $0x20,%xmm2
416a3c:	66 0f 7e d1          	movd   %xmm2,%ecx
416a40:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
416a46:	0b c1                	or     %ecx,%eax
416a48:	83 f8 00             	cmp    $0x0,%eax
416a4b:	74 a0                	je     0x4169ed
416a4d:	ba e9 03 00 00       	mov    $0x3e9,%edx
416a52:	eb a6                	jmp    0x4169fa
416a54:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
416a5b:	eb 03                	jmp    0x416a60
416a5d:	cc                   	int3
416a5e:	cc                   	int3
416a5f:	cc                   	int3
416a60:	c6 85 70 ff ff ff fe 	movb   $0xfe,-0x90(%ebp)
416a67:	0a ed                	or     %ch,%ch
416a69:	75 3b                	jne    0x416aa6
416a6b:	d9 c9                	fxch   %st(1)
416a6d:	d9 f1                	fyl2x
416a6f:	eb 0d                	jmp    0x416a7e
416a71:	c6 85 70 ff ff ff fe 	movb   $0xfe,-0x90(%ebp)
416a78:	32 ed                	xor    %ch,%ch
416a7a:	d9 ea                	fldl2e
416a7c:	de c9                	fmulp  %st,%st(1)
416a7e:	e8 2b 01 00 00       	call   0x416bae
416a83:	d9 e8                	fld1
416a85:	de c1                	faddp  %st,%st(1)
416a87:	f6 85 61 ff ff ff 01 	testb  $0x1,-0x9f(%ebp)
416a8e:	74 04                	je     0x416a94
416a90:	d9 e8                	fld1
416a92:	de f1                	fdivp  %st,%st(1)
416a94:	f6 c2 40             	test   $0x40,%dl
416a97:	75 02                	jne    0x416a9b
416a99:	d9 fd                	fscale
416a9b:	0a ed                	or     %ch,%ch
416a9d:	74 02                	je     0x416aa1
416a9f:	d9 e0                	fchs
416aa1:	e9 b2 02 00 00       	jmp    0x416d58
416aa6:	e8 46 01 00 00       	call   0x416bf1
416aab:	0b c0                	or     %eax,%eax
416aad:	74 14                	je     0x416ac3
416aaf:	32 ed                	xor    %ch,%ch
416ab1:	83 f8 02             	cmp    $0x2,%eax