41e596:	dd 45 08             	fldl   0x8(%ebp)
41e599:	b9 00 00 f0 7f       	mov    $0x7ff00000,%ecx
41e59e:	d9 e1                	fabs
41e5a0:	b8 00 00 f0 ff       	mov    $0xfff00000,%eax
41e5a5:	39 4d 14             	cmp    %ecx,0x14(%ebp)
41e5a8:	75 3b                	jne    0x41e5e5
41e5aa:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41e5ae:	75 75                	jne    0x41e625
41e5b0:	d9 e8                	fld1
41e5b2:	d8 d1                	fcom   %st(1)
41e5b4:	df e0                	fnstsw %ax
41e5b6:	f6 c4 05             	test   $0x5,%ah
41e5b9:	7a 0f                	jp     0x41e5ca
41e5bb:	dd d9                	fstp   %st(1)
41e5bd:	dd d8                	fstp   %st(0)
41e5bf:	dd 05 c0 d7 42 00    	fldl   0x42d7c0
41e5c5:	e9 e9 00 00 00       	jmp    0x41e6b3
41e5ca:	d8 d1                	fcom   %st(1)
41e5cc:	df e0                	fnstsw %ax
41e5ce:	dd d9                	fstp   %st(1)
41e5d0:	f6 c4 41             	test   $0x41,%ah
41e5d3:	8b 45 18             	mov    0x18(%ebp),%eax
41e5d6:	0f 85 da 00 00 00    	jne    0x41e6b6
41e5dc:	dd d8                	fstp   %st(0)
41e5de:	d9 ee                	fldz
41e5e0:	e9 d1 00 00 00       	jmp    0x41e6b6
41e5e5:	39 45 14             	cmp    %eax,0x14(%ebp)
41e5e8:	75 3b                	jne    0x41e625
41e5ea:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41e5ee:	75 35                	jne    0x41e625
41e5f0:	d9 e8                	fld1
41e5f2:	d8 d1                	fcom   %st(1)
41e5f4:	df e0                	fnstsw %ax
41e5f6:	f6 c4 05             	test   $0x5,%ah
41e5f9:	7a 0b                	jp     0x41e606
41e5fb:	dd d9                	fstp   %st(1)
41e5fd:	dd d8                	fstp   %st(0)
41e5ff:	d9 ee                	fldz
41e601:	e9 ad 00 00 00       	jmp    0x41e6b3
41e606:	d8 d1                	fcom   %st(1)
41e608:	df e0                	fnstsw %ax
41e60a:	dd d9                	fstp   %st(1)
41e60c:	f6 c4 41             	test   $0x41,%ah
41e60f:	8b 45 18             	mov    0x18(%ebp),%eax
41e612:	0f 85 9e 00 00 00    	jne    0x41e6b6
41e618:	dd d8                	fstp   %st(0)
41e61a:	dd 05 c0 d7 42 00    	fldl   0x42d7c0
41e620:	e9 91 00 00 00       	jmp    0x41e6b6
41e625:	dd d8                	fstp   %st(0)
41e627:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
41e62a:	75 2e                	jne    0x41e65a
41e62c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41e630:	0f 85 82 00 00 00    	jne    0x41e6b8
41e636:	d9 ee                	fldz
41e638:	dd 45 10             	fldl   0x10(%ebp)
41e63b:	d8 d1                	fcom   %st(1)
41e63d:	df e0                	fnstsw %ax
41e63f:	f6 c4 41             	test   $0x41,%ah
41e642:	0f 84 73 ff ff ff    	je     0x41e5bb
41e648:	d8 d9                	fcomp  %st(1)
41e64a:	df e0                	fnstsw %ax
41e64c:	f6 c4 05             	test   $0x5,%ah
41e64f:	8b 45 18             	mov    0x18(%ebp),%eax
41e652:	7b 62                	jnp    0x41e6b6
41e654:	dd d8                	fstp   %st(0)
41e656:	d9 e8                	fld1
41e658:	eb 5c                	jmp    0x41e6b6
41e65a:	39 45 0c             	cmp    %eax,0xc(%ebp)
41e65d:	75 59                	jne    0x41e6b8
41e65f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41e663:	75 53                	jne    0x41e6b8
41e665:	dd 45 10             	fldl   0x10(%ebp)
41e668:	51                   	push   %ecx
41e669:	51                   	push   %ecx
41e66a:	dd 1c 24             	fstpl  (%esp)
41e66d:	e8 b5 fe ff ff       	call   0x41e527
41e672:	d9 ee                	fldz
41e674:	dd 45 10             	fldl   0x10(%ebp)
41e677:	59                   	pop    %ecx
41e678:	59                   	pop    %ecx
41e679:	d8 d1                	fcom   %st(1)
41e67b:	8b c8                	mov    %eax,%ecx
41e67d:	df e0                	fnstsw %ax
41e67f:	f6 c4 41             	test   $0x41,%ah
41e682:	75 13                	jne    0x41e697
41e684:	dd d9                	fstp   %st(1)
41e686:	dd d8                	fstp   %st(0)
41e688:	dd 05 c0 d7 42 00    	fldl   0x42d7c0
41e68e:	83 f9 01             	cmp    $0x1,%ecx
41e691:	75 20                	jne    0x41e6b3
41e693:	d9 e0                	fchs
41e695:	eb 1c                	jmp    0x41e6b3
41e697:	d8 d9                	fcomp  %st(1)
41e699:	df e0                	fnstsw %ax
41e69b:	f6 c4 05             	test   $0x5,%ah
41e69e:	7a 0f                	jp     0x41e6af
41e6a0:	83 f9 01             	cmp    $0x1,%ecx
41e6a3:	75 0e                	jne    0x41e6b3
41e6a5:	dd d8                	fstp   %st(0)
41e6a7:	dd 05 d0 d7 42 00    	fldl   0x42d7d0
41e6ad:	eb 04                	jmp    0x41e6b3
41e6af:	dd d8                	fstp   %st(0)
41e6b1:	d9 e8                	fld1
41e6b3:	8b 45 18             	mov    0x18(%ebp),%eax
41e6b6:	dd 18                	fstpl  (%eax)
41e6b8:	33 c0                	xor    %eax,%eax
41e6ba:	5d                   	pop    %ebp
41e6bb:	c3                   	ret
41e6bc:	8b ff                	mov    %edi,%edi
41e6be:	55                   	push   %ebp
41e6bf:	8b ec                	mov    %esp,%ebp
41e6c1:	a1 dc 9c 83 02       	mov    0x2839cdc,%eax
41e6c6:	85 c0                	test   %eax,%eax
41e6c8:	75 75                	jne    0x41e73f
41e6ca:	8b 55 08             	mov    0x8(%ebp),%edx
41e6cd:	85 d2                	test   %edx,%edx
41e6cf:	75 17                	jne    0x41e6e8
41e6d1:	e8 95 63 ff ff       	call   0x414a6b
41e6d6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41e6dc:	e8 01 d6 fe ff       	call   0x40bce2
41e6e1:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
41e6e6:	5d                   	pop    %ebp
41e6e7:	c3                   	ret
41e6e8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41e6eb:	85 c9                	test   %ecx,%ecx
41e6ed:	74 e2                	je     0x41e6d1
41e6ef:	53                   	push   %ebx
41e6f0:	56                   	push   %esi
41e6f1:	57                   	push   %edi
41e6f2:	6a 41                	push   $0x41
41e6f4:	5f                   	pop    %edi
41e6f5:	6a 5a                	push   $0x5a
41e6f7:	2b d1                	sub    %ecx,%edx
41e6f9:	5b                   	pop    %ebx
41e6fa:	0f b7 04 0a          	movzwl (%edx,%ecx,1),%eax
41e6fe:	66 3b c7             	cmp    %di,%ax
41e701:	72 0d                	jb     0x41e710
41e703:	66 3b c3             	cmp    %bx,%ax
41e706:	77 08                	ja     0x41e710
41e708:	83 c0 20             	add    $0x20,%eax
41e70b:	0f b7 f0             	movzwl %ax,%esi
41e70e:	eb 02                	jmp    0x41e712
41e710:	8b f0                	mov    %eax,%esi
41e712:	0f b7 01             	movzwl (%ecx),%eax
41e715:	66 3b c7             	cmp    %di,%ax
41e718:	72 0b                	jb     0x41e725
41e71a:	66 3b c3             	cmp    %bx,%ax
41e71d:	77 06                	ja     0x41e725
41e71f:	83 c0 20             	add    $0x20,%eax
41e722:	0f b7 c0             	movzwl %ax,%eax
41e725:	83 c1 02             	add    $0x2,%ecx
41e728:	66 85 f6             	test   %si,%si
41e72b:	74 05                	je     0x41e732
41e72d:	66 3b f0             	cmp    %ax,%si
41e730:	74 c8                	je     0x41e6fa
41e732:	0f b7 c8             	movzwl %ax,%ecx
41e735:	5f                   	pop    %edi
41e736:	0f b7 c6             	movzwl %si,%eax
41e739:	5e                   	pop    %esi
41e73a:	2b c1                	sub    %ecx,%eax
41e73c:	5b                   	pop    %ebx
41e73d:	5d                   	pop    %ebp
41e73e:	c3                   	ret
41e73f:	6a 00                	push   $0x0
41e741:	ff 75 0c             	push   0xc(%ebp)
41e744:	ff 75 08             	push   0x8(%ebp)
41e747:	e8 05 00 00 00       	call   0x41e751
41e74c:	83 c4 0c             	add    $0xc,%esp
41e74f:	5d                   	pop    %ebp
41e750:	c3                   	ret
41e751:	8b ff                	mov    %edi,%edi
41e753:	55                   	push   %ebp
41e754:	8b ec                	mov    %esp,%ebp
41e756:	83 ec 10             	sub    $0x10,%esp
41e759:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41e75c:	53                   	push   %ebx
41e75d:	56                   	push   %esi
41e75e:	ff 75 10             	push   0x10(%ebp)
41e761:	e8 62 e0 fe ff       	call   0x40c7c8
41e766:	8b 5d 08             	mov    0x8(%ebp),%ebx
41e769:	85 db                	test   %ebx,%ebx
41e76b:	74 07                	je     0x41e774
41e76d:	8b 75 0c             	mov    0xc(%ebp),%esi
41e770:	85 f6                	test   %esi,%esi
41e772:	75 1a                	jne    0x41e78e
41e774:	e8 f2 62 ff ff       	call   0x414a6b
41e779:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41e77f:	e8 5e d5 fe ff       	call   0x40bce2
41e784:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
41e789:	e9 8b 00 00 00       	jmp    0x41e819
41e78e:	8b 45 f4             	mov    -0xc(%ebp),%eax
41e791:	57                   	push   %edi
41e792:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
41e799:	75 42                	jne    0x41e7dd
41e79b:	6a 41                	push   $0x41
41e79d:	59                   	pop    %ecx
41e79e:	6a 5a                	push   $0x5a
41e7a0:	2b de                	sub    %esi,%ebx
41e7a2:	5a                   	pop    %edx
41e7a3:	0f b7 04 33          	movzwl (%ebx,%esi,1),%eax
41e7a7:	66 3b c1             	cmp    %cx,%ax
41e7aa:	72 0d                	jb     0x41e7b9
41e7ac:	66 3b c2             	cmp    %dx,%ax
41e7af:	77 08                	ja     0x41e7b9
41e7b1:	83 c0 20             	add    $0x20,%eax
41e7b4:	0f b7 f8             	movzwl %ax,%edi
41e7b7:	eb 02                	jmp    0x41e7bb
41e7b9:	8b f8                	mov    %eax,%edi
41e7bb:	0f b7 06             	movzwl (%esi),%eax
41e7be:	66 3b c1             	cmp    %cx,%ax
41e7c1:	72 0b                	jb     0x41e7ce
41e7c3:	66 3b c2             	cmp    %dx,%ax
41e7c6:	77 06                	ja     0x41e7ce
41e7c8:	83 c0 20             	add    $0x20,%eax
41e7cb:	0f b7 c0             	movzwl %ax,%eax
41e7ce:	83 c6 02             	add    $0x2,%esi
41e7d1:	66 85 ff             	test   %di,%di
41e7d4:	74 3a                	je     0x41e810
41e7d6:	66 3b f8             	cmp    %ax,%di
41e7d9:	74 c8                	je     0x41e7a3
41e7db:	eb 33                	jmp    0x41e810
41e7dd:	0f b7 03             	movzwl (%ebx),%eax
41e7e0:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41e7e3:	51                   	push   %ecx
41e7e4:	50                   	push   %eax
41e7e5:	e8 1d 67 00 00       	call   0x424f07
41e7ea:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41e7ed:	0f b7 f8             	movzwl %ax,%edi
41e7f0:	0f b7 06             	movzwl (%esi),%eax
41e7f3:	8d 5b 02             	lea    0x2(%ebx),%ebx
41e7f6:	51                   	push   %ecx
41e7f7:	50                   	push   %eax
41e7f8:	e8 0a 67 00 00       	call   0x424f07
41e7fd:	83 c4 10             	add    $0x10,%esp
41e800:	0f b7 c0             	movzwl %ax,%eax
41e803:	8d 76 02             	lea    0x2(%esi),%esi
41e806:	66 85 ff             	test   %di,%di
41e809:	74 05                	je     0x41e810
41e80b:	66 3b f8             	cmp    %ax,%di
41e80e:	74 cd                	je     0x41e7dd
41e810:	0f b7 d7             	movzwl %di,%edx
41e813:	0f b7 c0             	movzwl %ax,%eax
41e816:	2b d0                	sub    %eax,%edx
41e818:	5f                   	pop    %edi
41e819:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
41e81d:	5e                   	pop    %esi
41e81e:	5b                   	pop    %ebx
41e81f:	74 0a                	je     0x41e82b
41e821:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41e824:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
41e82b:	8b c2                	mov    %edx,%eax
41e82d:	8b e5                	mov    %ebp,%esp
41e82f:	5d                   	pop    %ebp
41e830:	c3                   	ret
41e831:	8b ff                	mov    %edi,%edi
41e833:	55                   	push   %ebp
41e834:	8b ec                	mov    %esp,%ebp
41e836:	8d 41 04             	lea    0x4(%ecx),%eax
41e839:	8b d0                	mov    %eax,%edx
41e83b:	2b d1                	sub    %ecx,%edx
41e83d:	83 c2 03             	add    $0x3,%edx
41e840:	56                   	push   %esi
41e841:	33 f6                	xor    %esi,%esi
41e843:	c1 ea 02             	shr    $0x2,%edx
41e846:	3b c1                	cmp    %ecx,%eax
41e848:	1b c0                	sbb    %eax,%eax
41e84a:	f7 d0                	not    %eax
41e84c:	23 c2                	and    %edx,%eax
41e84e:	74 0d                	je     0x41e85d
41e850:	8b 55 08             	mov    0x8(%ebp),%edx
41e853:	46                   	inc    %esi
41e854:	89 11                	mov    %edx,(%ecx)
41e856:	8d 49 04             	lea    0x4(%ecx),%ecx
41e859:	3b f0                	cmp    %eax,%esi
41e85b:	75 f6                	jne    0x41e853
41e85d:	5e                   	pop    %esi
41e85e:	5d                   	pop    %ebp
41e85f:	c2 04 00             	ret    $0x4
41e862:	8b ff                	mov    %edi,%edi
41e864:	55                   	push   %ebp
41e865:	8b ec                	mov    %esp,%ebp
41e867:	8d 41 04             	lea    0x4(%ecx),%eax
41e86a:	8b d0                	mov    %eax,%edx
41e86c:	2b d1                	sub    %ecx,%edx
41e86e:	83 c2 03             	add    $0x3,%edx
41e871:	56                   	push   %esi
41e872:	33 f6                	xor    %esi,%esi
41e874:	c1 ea 02             	shr    $0x2,%edx
41e877:	3b c1                	cmp    %ecx,%eax
41e879:	1b c0                	sbb    %eax,%eax
41e87b:	f7 d0                	not    %eax
41e87d:	23 c2                	and    %edx,%eax
41e87f:	74 0d                	je     0x41e88e
41e881:	8b 55 08             	mov    0x8(%ebp),%edx
41e884:	46                   	inc    %esi
41e885:	89 11                	mov    %edx,(%ecx)
41e887:	8d 49 04             	lea    0x4(%ecx),%ecx
41e88a:	3b f0                	cmp    %eax,%esi
41e88c:	75 f6                	jne    0x41e884
41e88e:	5e                   	pop    %esi
41e88f:	5d                   	pop    %ebp
41e890:	c2 04 00             	ret    $0x4
41e893:	68 80 70 00 00       	push   $0x7080
41e898:	b9 f0 9f 83 02       	mov    $0x2839ff0,%ecx
41e89d:	e8 c0 ff ff ff       	call   0x41e862
41e8a2:	6a 01                	push   $0x1
41e8a4:	b9 f4 9f 83 02       	mov    $0x2839ff4,%ecx
41e8a9:	e8 83 ff ff ff       	call   0x41e831
41e8ae:	68 f0 f1 ff ff       	push   $0xfffff1f0
41e8b3:	b9 f8 9f 83 02       	mov    $0x2839ff8,%ecx
41e8b8:	e8 a5 ff ff ff       	call   0x41e862
41e8bd:	c7 05 fc 9f 83 02 40 	movl   $0x43bd40,0x2839ffc
41e8c4:	bd 43 00
41e8c7:	33 c0                	xor    %eax,%eax
41e8c9:	c3                   	ret
41e8ca:	8b ff                	mov    %edi,%edi
41e8cc:	55                   	push   %ebp
41e8cd:	8b ec                	mov    %esp,%ebp
41e8cf:	83 ec 10             	sub    $0x10,%esp
41e8d2:	ff 75 0c             	push   0xc(%ebp)
41e8d5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41e8d8:	e8 eb de fe ff       	call   0x40c7c8
41e8dd:	8b 45 f4             	mov    -0xc(%ebp),%eax
41e8e0:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
41e8e4:	8b 00                	mov    (%eax),%eax
41e8e6:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
41e8ea:	25 00 80 00 00       	and    $0x8000,%eax
41e8ef:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
41e8f3:	74 0a                	je     0x41e8ff
41e8f5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41e8f8:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
41e8ff:	8b e5                	mov    %ebp,%esp
41e901:	5d                   	pop    %ebp
41e902:	c3                   	ret
41e903:	8b ff                	mov    %edi,%edi
41e905:	55                   	push   %ebp
41e906:	8b ec                	mov    %esp,%ebp
41e908:	8b 45 0c             	mov    0xc(%ebp),%eax
41e90b:	3b 45 08             	cmp    0x8(%ebp),%eax
41e90e:	76 05                	jbe    0x41e915
41e910:	83 c8 ff             	or     $0xffffffff,%eax
41e913:	5d                   	pop    %ebp
41e914:	c3                   	ret
41e915:	1b c0                	sbb    %eax,%eax
41e917:	f7 d8                	neg    %eax
41e919:	5d                   	pop    %ebp
41e91a:	c3                   	ret
41e91b:	8b ff                	mov    %edi,%edi
41e91d:	55                   	push   %ebp
41e91e:	8b ec                	mov    %esp,%ebp