409b44:	eb f4                	jmp    0x409b3a
409b46:	8a 26                	mov    (%esi),%ah
409b48:	80 fc 2b             	cmp    $0x2b,%ah
409b4b:	74 07                	je     0x409b54
409b4d:	80 fc 2d             	cmp    $0x2d,%ah
409b50:	75 dc                	jne    0x409b2e
409b52:	32 e4                	xor    %ah,%ah
409b54:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
409b59:	41                   	inc    %ecx
409b5a:	46                   	inc    %esi
409b5b:	80 3e 30             	cmpb   $0x30,(%esi)
409b5e:	74 f9                	je     0x409b59
409b60:	83 f9 04             	cmp    $0x4,%ecx
409b63:	72 05                	jb     0x409b6a
409b65:	b9 04 00 00 00       	mov    $0x4,%ecx
409b6a:	53                   	push   %ebx
409b6b:	8a 5d d3             	mov    -0x2d(%ebp),%bl
409b6e:	0f bf 55 d0          	movswl -0x30(%ebp),%edx
409b72:	2b 55 e8             	sub    -0x18(%ebp),%edx
409b75:	e8 6e fa ff ff       	call   0x4095e8
409b7a:	5b                   	pop    %ebx
409b7b:	eb 88                	jmp    0x409b05
409b7d:	89 f8                	mov    %edi,%eax
409b7f:	2b 45 fc             	sub    -0x4(%ebp),%eax
409b82:	c3                   	ret
409b83:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
409b87:	74 1b                	je     0x409ba4
409b89:	7c 0c                	jl     0x409b97
409b8b:	e8 14 00 00 00       	call   0x409ba4
409b90:	ff 4d b8             	decl   -0x48(%ebp)
409b93:	75 f6                	jne    0x409b8b
409b95:	eb 0d                	jmp    0x409ba4
409b97:	ff 45 b8             	incl   -0x48(%ebp)
409b9a:	8b 45 bc             	mov    -0x44(%ebp),%eax
409b9d:	3b 45 c0             	cmp    -0x40(%ebp),%eax
409ba0:	7e 12                	jle    0x409bb4
409ba2:	eb 41                	jmp    0x409be5
409ba4:	8a 03                	mov    (%ebx),%al
409ba6:	43                   	inc    %ebx
409ba7:	08 c0                	or     %al,%al
409ba9:	75 0b                	jne    0x409bb6
409bab:	4b                   	dec    %ebx
409bac:	8b 45 bc             	mov    -0x44(%ebp),%eax
409baf:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
409bb2:	7e 31                	jle    0x409be5
409bb4:	b0 30                	mov    $0x30,%al
409bb6:	83 7d bc 00          	cmpl   $0x0,-0x44(%ebp)
409bba:	75 09                	jne    0x409bc5
409bbc:	88 c4                	mov    %al,%ah
409bbe:	8a 45 f7             	mov    -0x9(%ebp),%al
409bc1:	66 ab                	stos   %ax,%es:(%edi)
409bc3:	eb 20                	jmp    0x409be5
409bc5:	aa                   	stos   %al,%es:(%edi)
409bc6:	80 7d cb 00          	cmpb   $0x0,-0x35(%ebp)
409bca:	74 19                	je     0x409be5
409bcc:	8b 45 bc             	mov    -0x44(%ebp),%eax
409bcf:	83 f8 01             	cmp    $0x1,%eax
409bd2:	7e 11                	jle    0x409be5
409bd4:	b2 03                	mov    $0x3,%dl
409bd6:	f6 f2                	div    %dl
409bd8:	80 fc 01             	cmp    $0x1,%ah
409bdb:	75 08                	jne    0x409be5
409bdd:	8a 45 f6             	mov    -0xa(%ebp),%al
409be0:	84 c0                	test   %al,%al
409be2:	74 01                	je     0x409be5
409be4:	aa                   	stos   %al,%es:(%edi)
409be5:	ff 4d bc             	decl   -0x44(%ebp)
409be8:	c3                   	ret
409be9:	5b                   	pop    %ebx
409bea:	5e                   	pop    %esi
409beb:	5f                   	pop    %edi
409bec:	8b e5                	mov    %ebp,%esp
409bee:	5d                   	pop    %ebp
409bef:	c2 04 00             	ret    $0x4
409bf2:	8b c0                	mov    %eax,%eax
409bf4:	55                   	push   %ebp
409bf5:	8b ec                	mov    %esp,%ebp
409bf7:	83 c4 e0             	add    $0xffffffe0,%esp
409bfa:	57                   	push   %edi
409bfb:	56                   	push   %esi
409bfc:	53                   	push   %ebx
409bfd:	89 c3                	mov    %eax,%ebx
409bff:	89 d6                	mov    %edx,%esi
409c01:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409c08:	80 f9 00             	cmp    $0x0,%cl
409c0b:	74 0a                	je     0x409c17
409c0d:	e8 31 01 00 00       	call   0x409d43
409c12:	e9 00 02 00 00       	jmp    0x409e17
409c17:	e8 05 00 00 00       	call   0x409c21
409c1c:	e9 f6 01 00 00       	jmp    0x409e17
409c21:	66 8b 46 08          	mov    0x8(%esi),%ax
409c25:	89 c2                	mov    %eax,%edx
409c27:	25 ff 7f 00 00       	and    $0x7fff,%eax
409c2c:	74 1e                	je     0x409c4c
409c2e:	3d ff 7f 00 00       	cmp    $0x7fff,%eax
409c33:	75 22                	jne    0x409c57
409c35:	66 f7 46 06 00 80    	testw  $0x8000,0x6(%esi)
409c3b:	74 11                	je     0x409c4e
409c3d:	83 3e 00             	cmpl   $0x0,(%esi)
409c40:	75 09                	jne    0x409c4b
409c42:	81 7e 04 00 00 00 80 	cmpl   $0x80000000,0x4(%esi)
409c49:	74 03                	je     0x409c4e
409c4b:	40                   	inc    %eax
409c4c:	31 d2                	xor    %edx,%edx
409c4e:	c6 43 03 00          	movb   $0x0,0x3(%ebx)
409c52:	e9 cd 00 00 00       	jmp    0x409d24
409c57:	db 2e                	fldt   (%esi)
409c59:	2d ff 3f 00 00       	sub    $0x3fff,%eax
409c5e:	69 c0 10 4d 00 00    	imul   $0x4d10,%eax,%eax
409c64:	c1 f8 10             	sar    $0x10,%eax
409c67:	40                   	inc    %eax
409c68:	89 45 f8             	mov    %eax,-0x8(%ebp)
409c6b:	b8 12 00 00 00       	mov    $0x12,%eax
409c70:	2b 45 f8             	sub    -0x8(%ebp),%eax
409c73:	d9 e1                	fabs
409c75:	53                   	push   %ebx
409c76:	8b 5d fc             	mov    -0x4(%ebp),%ebx
409c79:	e8 b2 92 ff ff       	call   0x402f30
409c7e:	5b                   	pop    %ebx
409c7f:	d9 fc                	frndint
409c81:	8b 7d fc             	mov    -0x4(%ebp),%edi
409c84:	db af 68 d1 48 00    	fldt   0x48d168(%edi)
409c8a:	d8 d9                	fcomp  %st(1)
409c8c:	9b dd 7d f6          	fstsw  -0xa(%ebp)
409c90:	9b                   	fwait
409c91:	66 f7 45 f6 00 41    	testw  $0x4100,-0xa(%ebp)
409c97:	74 09                	je     0x409ca2
409c99:	da b7 74 d1 48 00    	fidivl 0x48d174(%edi)
409c9f:	ff 45 f8             	incl   -0x8(%ebp)
409ca2:	df 75 e8             	fbstp  -0x18(%ebp)
409ca5:	8d 7b 03             	lea    0x3(%ebx),%edi
409ca8:	ba 09 00 00 00       	mov    $0x9,%edx
409cad:	9b                   	fwait
409cae:	8a 44 2a e7          	mov    -0x19(%edx,%ebp,1),%al
409cb2:	88 c4                	mov    %al,%ah
409cb4:	c0 e8 04             	shr    $0x4,%al
409cb7:	80 e4 0f             	and    $0xf,%ah
409cba:	66 05 30 30          	add    $0x3030,%ax
409cbe:	66 ab                	stos   %ax,%es:(%edi)
409cc0:	4a                   	dec    %edx
409cc1:	75 eb                	jne    0x409cae
409cc3:	32 c0                	xor    %al,%al
409cc5:	aa                   	stos   %al,%es:(%edi)
409cc6:	8b 7d f8             	mov    -0x8(%ebp),%edi
409cc9:	03 7d 08             	add    0x8(%ebp),%edi
409ccc:	79 07                	jns    0x409cd5
409cce:	31 c0                	xor    %eax,%eax
409cd0:	e9 77 ff ff ff       	jmp    0x409c4c
409cd5:	3b 7d 0c             	cmp    0xc(%ebp),%edi
409cd8:	72 03                	jb     0x409cdd
409cda:	8b 7d 0c             	mov    0xc(%ebp),%edi
409cdd:	83 ff 12             	cmp    $0x12,%edi
409ce0:	73 27                	jae    0x409d09
409ce2:	80 7c 3b 03 35       	cmpb   $0x35,0x3(%ebx,%edi,1)
409ce7:	72 25                	jb     0x409d0e
409ce9:	c6 44 3b 03 00       	movb   $0x0,0x3(%ebx,%edi,1)
409cee:	4f                   	dec    %edi
409cef:	78 0d                	js     0x409cfe
409cf1:	fe 44 3b 03          	incb   0x3(%ebx,%edi,1)
409cf5:	80 7c 3b 03 39       	cmpb   $0x39,0x3(%ebx,%edi,1)
409cfa:	77 ed                	ja     0x409ce9
409cfc:	eb 1f                	jmp    0x409d1d
409cfe:	66 c7 43 03 31 00    	movw   $0x31,0x3(%ebx)
409d04:	ff 45 f8             	incl   -0x8(%ebp)
409d07:	eb 14                	jmp    0x409d1d
409d09:	bf 12 00 00 00       	mov    $0x12,%edi
409d0e:	c6 44 3b 03 00       	movb   $0x0,0x3(%ebx,%edi,1)
409d13:	4f                   	dec    %edi
409d14:	78 19                	js     0x409d2f
409d16:	80 7c 3b 03 30       	cmpb   $0x30,0x3(%ebx,%edi,1)
409d1b:	74 f1                	je     0x409d0e
409d1d:	66 8b 56 08          	mov    0x8(%esi),%dx
409d21:	8b 45 f8             	mov    -0x8(%ebp),%eax
409d24:	66 c1 ea 0f          	shr    $0xf,%dx
409d28:	66 89 03             	mov    %ax,(%ebx)
409d2b:	88 53 02             	mov    %dl,0x2(%ebx)
409d2e:	c3                   	ret
409d2f:	31 d2                	xor    %edx,%edx
409d31:	eb ee                	jmp    0x409d21
409d33:	0a 00                	or     (%eax),%al
409d35:	00 00                	add    %al,(%eax)
409d37:	64 00 00             	add    %al,%fs:(%eax)
409d3a:	00 e8                	add    %ch,%al
409d3c:	03 00                	add    (%eax),%eax
409d3e:	00 10                	add    %dl,(%eax)
409d40:	27                   	daa
409d41:	00 00                	add    %al,(%eax)
409d43:	8b 06                	mov    (%esi),%eax
409d45:	8b 56 04             	mov    0x4(%esi),%edx
409d48:	89 c1                	mov    %eax,%ecx
409d4a:	09 d1                	or     %edx,%ecx
409d4c:	0f 84 b7 00 00 00    	je     0x409e09
409d52:	09 d2                	or     %edx,%edx
409d54:	79 07                	jns    0x409d5d
409d56:	f7 da                	neg    %edx
409d58:	f7 d8                	neg    %eax
409d5a:	83 da 00             	sbb    $0x0,%edx
409d5d:	31 c9                	xor    %ecx,%ecx
409d5f:	8b 7d 08             	mov    0x8(%ebp),%edi
409d62:	09 ff                	or     %edi,%edi
409d64:	7d 02                	jge    0x409d68
409d66:	31 ff                	xor    %edi,%edi
409d68:	83 ff 04             	cmp    $0x4,%edi
409d6b:	7c 1f                	jl     0x409d8c
409d6d:	bf 04 00 00 00       	mov    $0x4,%edi
409d72:	41                   	inc    %ecx
409d73:	2d 00 00 64 a7       	sub    $0xa7640000,%eax
409d78:	81 da b3 b6 e0 0d    	sbb    $0xde0b6b3,%edx
409d7e:	73 f2                	jae    0x409d72
409d80:	49                   	dec    %ecx
409d81:	05 00 00 64 a7       	add    $0xa7640000,%eax
409d86:	81 d2 b3 b6 e0 0d    	adc    $0xde0b6b3,%edx
409d8c:	89 45 e0             	mov    %eax,-0x20(%ebp)
409d8f:	89 55 e4             	mov    %edx,-0x1c(%ebp)
409d92:	df 6d e0             	fildll -0x20(%ebp)
409d95:	89 fa                	mov    %edi,%edx
409d97:	b8 04 00 00 00       	mov    $0x4,%eax
409d9c:	29 d0                	sub    %edx,%eax
409d9e:	74 0a                	je     0x409daa
409da0:	8b 7d fc             	mov    -0x4(%ebp),%edi
409da3:	da b4 87 2f 9d 40 00 	fidivl 0x409d2f(%edi,%eax,4)
409daa:	df 75 e8             	fbstp  -0x18(%ebp)
409dad:	8d 7b 03             	lea    0x3(%ebx),%edi
409db0:	9b                   	fwait
409db1:	09 c9                	or     %ecx,%ecx
409db3:	75 1b                	jne    0x409dd0
409db5:	b9 09 00 00 00       	mov    $0x9,%ecx
409dba:	8a 44 29 e7          	mov    -0x19(%ecx,%ebp,1),%al
409dbe:	88 c4                	mov    %al,%ah
409dc0:	c0 e8 04             	shr    $0x4,%al
409dc3:	75 1e                	jne    0x409de3
409dc5:	88 e0                	mov    %ah,%al
409dc7:	24 0f                	and    $0xf,%al
409dc9:	75 1f                	jne    0x409dea
409dcb:	49                   	dec    %ecx
409dcc:	75 ec                	jne    0x409dba
409dce:	eb 39                	jmp    0x409e09
409dd0:	88 c8                	mov    %cl,%al
409dd2:	04 30                	add    $0x30,%al
409dd4:	aa                   	stos   %al,%es:(%edi)
409dd5:	b9 09 00 00 00       	mov    $0x9,%ecx
409dda:	8a 44 29 e7          	mov    -0x19(%ecx,%ebp,1),%al
409dde:	88 c4                	mov    %al,%ah
409de0:	c0 e8 04             	shr    $0x4,%al
409de3:	04 30                	add    $0x30,%al
409de5:	aa                   	stos   %al,%es:(%edi)
409de6:	88 e0                	mov    %ah,%al
409de8:	24 0f                	and    $0xf,%al
409dea:	04 30                	add    $0x30,%al
409dec:	aa                   	stos   %al,%es:(%edi)
409ded:	49                   	dec    %ecx
409dee:	75 ea                	jne    0x409dda
409df0:	89 f8                	mov    %edi,%eax
409df2:	8d 4c 13 03          	lea    0x3(%ebx,%edx,1),%ecx
409df6:	29 c8                	sub    %ecx,%eax
409df8:	c6 07 00             	movb   $0x0,(%edi)
409dfb:	4f                   	dec    %edi
409dfc:	80 3f 30             	cmpb   $0x30,(%edi)
409dff:	74 f7                	je     0x409df8
409e01:	8b 56 04             	mov    0x4(%esi),%edx
409e04:	c1 ea 1f             	shr    $0x1f,%edx
409e07:	eb 07                	jmp    0x409e10
409e09:	31 c0                	xor    %eax,%eax
409e0b:	31 d2                	xor    %edx,%edx
409e0d:	88 43 03             	mov    %al,0x3(%ebx)
409e10:	66 89 03             	mov    %ax,(%ebx)
409e13:	88 53 02             	mov    %dl,0x2(%ebx)
409e16:	c3                   	ret
409e17:	5b                   	pop    %ebx
409e18:	5e                   	pop    %esi
409e19:	5f                   	pop    %edi
409e1a:	8b e5                	mov    %ebp,%esp
409e1c:	5d                   	pop    %ebp
409e1d:	c2 08 00             	ret    $0x8
409e20:	55                   	push   %ebp
409e21:	8b ec                	mov    %esp,%ebp
409e23:	83 c4 f4             	add    $0xfffffff4,%esp
409e26:	57                   	push   %edi
409e27:	56                   	push   %esi
409e28:	53                   	push   %ebx
409e29:	89 c6                	mov    %eax,%esi
409e2b:	89 d7                	mov    %edx,%edi
409e2d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409e34:	a0 8b c6 49 00       	mov    0x49c68b,%al
409e39:	88 45 fb             	mov    %al,-0x5(%ebp)
409e3c:	89 cb                	mov    %ecx,%ebx
409e3e:	9b d9 7d f8          	fstcw  -0x8(%ebp)
409e42:	9b db e2             	fclex
409e45:	d9 2d 78 d1 48 00    	fldcw  0x48d178
409e4b:	d9 ee                	fldz
409e4d:	e8 85 00 00 00       	call   0x409ed7
409e52:	8a 3e                	mov    (%esi),%bh
409e54:	80 ff 2b             	cmp    $0x2b,%bh
409e57:	74 05                	je     0x409e5e
409e59:	80 ff 2d             	cmp    $0x2d,%bh
409e5c:	75 01                	jne    0x409e5f
409e5e:	46                   	inc    %esi
409e5f:	89 f1                	mov    %esi,%ecx
409e61:	e8 7c 00 00 00       	call   0x409ee2
409e66:	31 d2                	xor    %edx,%edx
409e68:	8a 06                	mov    (%esi),%al
409e6a:	3a 45 fb             	cmp    -0x5(%ebp),%al
409e6d:	75 08                	jne    0x409e77
409e6f:	46                   	inc    %esi
409e70:	e8 6d 00 00 00       	call   0x409ee2
409e75:	f7 da                	neg    %edx
409e77:	39 f1                	cmp    %esi,%ecx
409e79:	74 4f                	je     0x409eca
409e7b:	8a 06                	mov    (%esi),%al
409e7d:	24 df                	and    $0xdf,%al
409e7f:	3c 45                	cmp    $0x45,%al
409e81:	75 0a                	jne    0x409e8d
409e83:	46                   	inc    %esi
409e84:	52                   	push   %edx
409e85:	e8 74 00 00 00       	call   0x409efe
409e8a:	58                   	pop    %eax
409e8b:	01 c2                	add    %eax,%edx
409e8d:	e8 45 00 00 00       	call   0x409ed7
409e92:	80 3e 00             	cmpb   $0x0,(%esi)
409e95:	75 33                	jne    0x409eca
409e97:	89 d0                	mov    %edx,%eax
409e99:	80 fb 01             	cmp    $0x1,%bl
409e9c:	75 03                	jne    0x409ea1
409e9e:	83 c0 04             	add    $0x4,%eax
409ea1:	53                   	push   %ebx
409ea2:	8b 5d fc             	mov    -0x4(%ebp),%ebx
409ea5:	e8 86 90 ff ff       	call   0x402f30
409eaa:	5b                   	pop    %ebx
409eab:	80 ff 2d             	cmp    $0x2d,%bh
409eae:	75 02                	jne    0x409eb2
409eb0:	d9 e0                	fchs
409eb2:	80 fb 00             	cmp    $0x0,%bl
409eb5:	74 04                	je     0x409ebb
409eb7:	df 3f                	fistpll (%edi)
409eb9:	eb 02                	jmp    0x409ebd
409ebb:	db 3f                	fstpt  (%edi)
409ebd:	9b df e0             	fstsw  %ax
409ec0:	66 a9 09 00          	test   $0x9,%ax
409ec4:	75 06                	jne    0x409ecc
409ec6:	b0 01                	mov    $0x1,%al
409ec8:	eb 04                	jmp    0x409ece
409eca:	dd d8                	fstp   %st(0)
409ecc:	31 c0                	xor    %eax,%eax
409ece:	9b db e2             	fclex
409ed1:	d9 6d f8             	fldcw  -0x8(%ebp)
409ed4:	9b                   	fwait
409ed5:	eb 56                	jmp    0x409f2d
409ed7:	ac                   	lods   %ds:(%esi),%al
409ed8:	08 c0                	or     %al,%al
409eda:	74 04                	je     0x409ee0