41fc9a:	83 66 04 00          	andl   $0x0,0x4(%esi)
41fc9e:	32 c0                	xor    %al,%al
41fca0:	eb d7                	jmp    0x41fc79
41fca2:	55                   	push   %ebp
41fca3:	8b ec                	mov    %esp,%ebp
41fca5:	8b c1                	mov    %ecx,%eax
41fca7:	85 c9                	test   %ecx,%ecx
41fca9:	78 21                	js     0x41fccc
41fcab:	d9 e8                	fld1
41fcad:	d9 c0                	fld    %st(0)
41fcaf:	dd 45 08             	fldl   0x8(%ebp)
41fcb2:	a8 01                	test   $0x1,%al
41fcb4:	74 02                	je     0x41fcb8
41fcb6:	dc c9                	fmul   %st,%st(1)
41fcb8:	d1 e8                	shr    $1,%eax
41fcba:	74 06                	je     0x41fcc2
41fcbc:	d9 c0                	fld    %st(0)
41fcbe:	de c9                	fmulp  %st,%st(1)
41fcc0:	eb f0                	jmp    0x41fcb2
41fcc2:	dd d8                	fstp   %st(0)
41fcc4:	85 c9                	test   %ecx,%ecx
41fcc6:	78 08                	js     0x41fcd0
41fcc8:	dd d9                	fstp   %st(1)
41fcca:	5d                   	pop    %ebp
41fccb:	c3                   	ret
41fccc:	f7 d8                	neg    %eax
41fcce:	eb db                	jmp    0x41fcab
41fcd0:	de f9                	fdivrp %st,%st(1)
41fcd2:	5d                   	pop    %ebp
41fcd3:	c3                   	ret
41fcd4:	55                   	push   %ebp
41fcd5:	8b ec                	mov    %esp,%ebp
41fcd7:	dd 45 10             	fldl   0x10(%ebp)
41fcda:	83 ec 10             	sub    $0x10,%esp
41fcdd:	d9 ee                	fldz
41fcdf:	dd e1                	fucom  %st(1)
41fce1:	df e0                	fnstsw %ax
41fce3:	f6 c4 44             	test   $0x44,%ah
41fce6:	7b 77                	jnp    0x41fd5f
41fce8:	dd 05 b0 4b 4a 00    	fldl   0x4a4bb0
41fcee:	dd ea                	fucomp %st(2)
41fcf0:	df e0                	fnstsw %ax
41fcf2:	f6 c4 44             	test   $0x44,%ah
41fcf5:	7b 68                	jnp    0x41fd5f
41fcf7:	d9 c9                	fxch   %st(1)
41fcf9:	53                   	push   %ebx
41fcfa:	dd 55 f0             	fstl   -0x10(%ebp)
41fcfd:	56                   	push   %esi
41fcfe:	57                   	push   %edi
41fcff:	d9 c0                	fld    %st(0)
41fd01:	e8 00 b9 01 00       	call   0x43b606
41fd06:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41fd09:	8b f0                	mov    %eax,%esi
41fd0b:	89 75 10             	mov    %esi,0x10(%ebp)
41fd0e:	89 55 14             	mov    %edx,0x14(%ebp)
41fd11:	df 6d 10             	fildll 0x10(%ebp)
41fd14:	dd 55 10             	fstl   0x10(%ebp)
41fd17:	d9 c9                	fxch   %st(1)
41fd19:	d8 da                	fcomp  %st(2)
41fd1b:	df e0                	fnstsw %ax
41fd1d:	dd d9                	fstp   %st(1)
41fd1f:	f6 c4 05             	test   $0x5,%ah
41fd22:	8b 45 f4             	mov    -0xc(%ebp),%eax
41fd25:	0f 8b 0e 5f 03 00    	jnp    0x455c39
41fd2b:	dc 05 a8 4b 4a 00    	faddl  0x4a4ba8
41fd31:	dd 5d f8             	fstpl  -0x8(%ebp)
41fd34:	8b 7d f8             	mov    -0x8(%ebp),%edi
41fd37:	2b 7d 10             	sub    0x10(%ebp),%edi
41fd3a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41fd3d:	1b 4d 14             	sbb    0x14(%ebp),%ecx
41fd40:	83 ef 0a             	sub    $0xa,%edi
41fd43:	83 d9 00             	sbb    $0x0,%ecx
41fd46:	2b 5d 10             	sub    0x10(%ebp),%ebx
41fd49:	1b 45 14             	sbb    0x14(%ebp),%eax
41fd4c:	3b c1                	cmp    %ecx,%eax
41fd4e:	7c 06                	jl     0x41fd56
41fd50:	7f 17                	jg     0x41fd69
41fd52:	3b df                	cmp    %edi,%ebx
41fd54:	73 13                	jae    0x41fd69
41fd56:	5f                   	pop    %edi
41fd57:	8b c6                	mov    %esi,%eax
41fd59:	5e                   	pop    %esi
41fd5a:	5b                   	pop    %ebx
41fd5b:	8b e5                	mov    %ebp,%esp
41fd5d:	5d                   	pop    %ebp
41fd5e:	c3                   	ret
41fd5f:	dd d9                	fstp   %st(1)
41fd61:	33 c0                	xor    %eax,%eax
41fd63:	dd d8                	fstp   %st(0)
41fd65:	33 d2                	xor    %edx,%edx
41fd67:	eb f2                	jmp    0x41fd5b
41fd69:	83 c6 01             	add    $0x1,%esi
41fd6c:	83 d2 00             	adc    $0x0,%edx
41fd6f:	eb e5                	jmp    0x41fd56
41fd71:	55                   	push   %ebp
41fd72:	8b ec                	mov    %esp,%ebp
41fd74:	83 ec 28             	sub    $0x28,%esp
41fd77:	53                   	push   %ebx
41fd78:	56                   	push   %esi
41fd79:	57                   	push   %edi
41fd7a:	8b d9                	mov    %ecx,%ebx
41fd7c:	8d 7d d8             	lea    -0x28(%ebp),%edi
41fd7f:	6a 08                	push   $0x8
41fd81:	59                   	pop    %ecx
41fd82:	be b8 4b 4a 00       	mov    $0x4a4bb8,%esi
41fd87:	8b c2                	mov    %edx,%eax
41fd89:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41fd8b:	8b 55 0c             	mov    0xc(%ebp),%edx
41fd8e:	8d 48 ff             	lea    -0x1(%eax),%ecx
41fd91:	89 45 fc             	mov    %eax,-0x4(%ebp)
41fd94:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
41fd96:	8b 75 08             	mov    0x8(%ebp),%esi
41fd99:	85 c9                	test   %ecx,%ecx
41fd9b:	78 1b                	js     0x41fdb8
41fd9d:	8b c6                	mov    %esi,%eax
41fd9f:	83 e0 0f             	and    $0xf,%eax
41fda2:	0f ac d6 04          	shrd   $0x4,%edx,%esi
41fda6:	c1 ea 04             	shr    $0x4,%edx
41fda9:	66 8b 44 45 d8       	mov    -0x28(%ebp,%eax,2),%ax
41fdae:	66 89 04 4b          	mov    %ax,(%ebx,%ecx,2)
41fdb2:	49                   	dec    %ecx
41fdb3:	79 e8                	jns    0x41fd9d
41fdb5:	8b 45 fc             	mov    -0x4(%ebp),%eax
41fdb8:	33 c9                	xor    %ecx,%ecx
41fdba:	0b f2                	or     %edx,%esi
41fdbc:	5f                   	pop    %edi
41fdbd:	5e                   	pop    %esi
41fdbe:	66 89 0c 43          	mov    %cx,(%ebx,%eax,2)
41fdc2:	5b                   	pop    %ebx
41fdc3:	75 06                	jne    0x41fdcb
41fdc5:	b0 01                	mov    $0x1,%al
41fdc7:	8b e5                	mov    %ebp,%esp
41fdc9:	5d                   	pop    %ebp
41fdca:	c3                   	ret
41fdcb:	32 c0                	xor    %al,%al
41fdcd:	eb f8                	jmp    0x41fdc7
41fdcf:	56                   	push   %esi
41fdd0:	8b f1                	mov    %ecx,%esi
41fdd2:	57                   	push   %edi
41fdd3:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
41fdd7:	0f 85 9a 5e 03 00    	jne    0x455c77
41fddd:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
41fde1:	75 2f                	jne    0x41fe12
41fde3:	8b 7e 04             	mov    0x4(%esi),%edi
41fde6:	53                   	push   %ebx
41fde7:	8b 5f 30             	mov    0x30(%edi),%ebx
41fdea:	85 ff                	test   %edi,%edi
41fdec:	74 17                	je     0x41fe05
41fdee:	8d 4f 20             	lea    0x20(%edi),%ecx
41fdf1:	e8 2a 9c fe ff       	call   0x409a20
41fdf6:	8d 4f 10             	lea    0x10(%edi),%ecx
41fdf9:	e8 22 9c fe ff       	call   0x409a20
41fdfe:	57                   	push   %edi
41fdff:	e8 68 12 00 00       	call   0x42106c
41fe04:	59                   	pop    %ecx
41fe05:	89 5e 04             	mov    %ebx,0x4(%esi)
41fe08:	c6 46 09 00          	movb   $0x0,0x9(%esi)
41fe0c:	5b                   	pop    %ebx
41fe0d:	ff 0e                	decl   (%esi)
41fe0f:	5f                   	pop    %edi
41fe10:	5e                   	pop    %esi
41fe11:	c3                   	ret
41fe12:	c6 46 09 01          	movb   $0x1,0x9(%esi)
41fe16:	eb f5                	jmp    0x41fe0d
41fe18:	80 79 09 00          	cmpb   $0x0,0x9(%ecx)
41fe1c:	8b 41 04             	mov    0x4(%ecx),%eax
41fe1f:	75 01                	jne    0x41fe22
41fe21:	c3                   	ret
41fe22:	8b 40 30             	mov    0x30(%eax),%eax
41fe25:	c3                   	ret
41fe26:	55                   	push   %ebp
41fe27:	8b ec                	mov    %esp,%ebp
41fe29:	56                   	push   %esi
41fe2a:	8b f1                	mov    %ecx,%esi
41fe2c:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
41fe30:	0f 85 5d 5e 03 00    	jne    0x455c93
41fe36:	57                   	push   %edi
41fe37:	6a 38                	push   $0x38
41fe39:	e8 b8 11 00 00       	call   0x420ff6
41fe3e:	8b f8                	mov    %eax,%edi
41fe40:	59                   	pop    %ecx
41fe41:	85 ff                	test   %edi,%edi
41fe43:	74 1b                	je     0x41fe60
41fe45:	ff 75 08             	push   0x8(%ebp)
41fe48:	8b cf                	mov    %edi,%ecx
41fe4a:	e8 15 00 00 00       	call   0x41fe64
41fe4f:	8b 46 04             	mov    0x4(%esi),%eax
41fe52:	89 47 30             	mov    %eax,0x30(%edi)
41fe55:	89 7e 04             	mov    %edi,0x4(%esi)
41fe58:	5f                   	pop    %edi
41fe59:	ff 06                	incl   (%esi)
41fe5b:	5e                   	pop    %esi
41fe5c:	5d                   	pop    %ebp
41fe5d:	c2 04 00             	ret    $0x4
41fe60:	33 ff                	xor    %edi,%edi
41fe62:	eb eb                	jmp    0x41fe4f
41fe64:	55                   	push   %ebp
41fe65:	8b ec                	mov    %esp,%ebp
41fe67:	56                   	push   %esi
41fe68:	8b 75 08             	mov    0x8(%ebp),%esi
41fe6b:	57                   	push   %edi
41fe6c:	8b f9                	mov    %ecx,%edi
41fe6e:	8b 06                	mov    (%esi),%eax
41fe70:	89 07                	mov    %eax,(%edi)
41fe72:	8d 4f 10             	lea    0x10(%edi),%ecx
41fe75:	8b 46 04             	mov    0x4(%esi),%eax
41fe78:	89 47 04             	mov    %eax,0x4(%edi)
41fe7b:	8b 46 08             	mov    0x8(%esi),%eax
41fe7e:	89 47 08             	mov    %eax,0x8(%edi)
41fe81:	8b 46 0c             	mov    0xc(%esi),%eax
41fe84:	89 47 0c             	mov    %eax,0xc(%edi)
41fe87:	8d 46 10             	lea    0x10(%esi),%eax
41fe8a:	83 61 08 00          	andl   $0x0,0x8(%ecx)
41fe8e:	50                   	push   %eax
41fe8f:	e8 2c 9c fe ff       	call   0x409ac0
41fe94:	8d 46 20             	lea    0x20(%esi),%eax
41fe97:	8d 4f 20             	lea    0x20(%edi),%ecx
41fe9a:	83 61 08 00          	andl   $0x0,0x8(%ecx)
41fe9e:	50                   	push   %eax
41fe9f:	e8 1c 9c fe ff       	call   0x409ac0
41fea4:	8b c7                	mov    %edi,%eax
41fea6:	5f                   	pop    %edi
41fea7:	5e                   	pop    %esi
41fea8:	5d                   	pop    %ebp
41fea9:	c2 04 00             	ret    $0x4
41feac:	33 d2                	xor    %edx,%edx
41feae:	33 c0                	xor    %eax,%eax
41feb0:	40                   	inc    %eax
41feb1:	89 51 10             	mov    %edx,0x10(%ecx)
41feb4:	89 41 1c             	mov    %eax,0x1c(%ecx)
41feb7:	89 51 18             	mov    %edx,0x18(%ecx)
41feba:	89 41 2c             	mov    %eax,0x2c(%ecx)
41febd:	8b c1                	mov    %ecx,%eax
41febf:	89 51 20             	mov    %edx,0x20(%ecx)
41fec2:	89 51 28             	mov    %edx,0x28(%ecx)
41fec5:	c3                   	ret
41fec6:	56                   	push   %esi
41fec7:	57                   	push   %edi
41fec8:	8b f9                	mov    %ecx,%edi
41feca:	57                   	push   %edi
41fecb:	e8 6c 2f 00 00       	call   0x422e3c
41fed0:	33 c9                	xor    %ecx,%ecx
41fed2:	40                   	inc    %eax
41fed3:	6a 02                	push   $0x2
41fed5:	5a                   	pop    %edx
41fed6:	f7 e2                	mul    %edx
41fed8:	0f 90 c1             	seto   %cl
41fedb:	f7 d9                	neg    %ecx
41fedd:	0b c8                	or     %eax,%ecx
41fedf:	51                   	push   %ecx
41fee0:	e8 11 11 00 00       	call   0x420ff6
41fee5:	8b f0                	mov    %eax,%esi
41fee7:	57                   	push   %edi
41fee8:	56                   	push   %esi
41fee9:	e8 0e 31 00 00       	call   0x422ffc
41feee:	83 c4 10             	add    $0x10,%esp
41fef1:	8b c6                	mov    %esi,%eax
41fef3:	5f                   	pop    %edi
41fef4:	5e                   	pop    %esi
41fef5:	c3                   	ret
41fef6:	55                   	push   %ebp
41fef7:	8b ec                	mov    %esp,%ebp
41fef9:	8b 45 08             	mov    0x8(%ebp),%eax
41fefc:	85 c0                	test   %eax,%eax
41fefe:	74 0b                	je     0x41ff0b
41ff00:	66 39 11             	cmp    %dx,(%ecx)
41ff03:	74 0a                	je     0x41ff0f
41ff05:	83 c1 02             	add    $0x2,%ecx
41ff08:	48                   	dec    %eax
41ff09:	75 f5                	jne    0x41ff00
41ff0b:	33 c0                	xor    %eax,%eax
41ff0d:	5d                   	pop    %ebp
41ff0e:	c3                   	ret
41ff0f:	8b c1                	mov    %ecx,%eax
41ff11:	5d                   	pop    %ebp
41ff12:	c3                   	ret
41ff13:	55                   	push   %ebp
41ff14:	8b ec                	mov    %esp,%ebp
41ff16:	8b 45 08             	mov    0x8(%ebp),%eax
41ff19:	53                   	push   %ebx
41ff1a:	56                   	push   %esi
41ff1b:	8d 59 04             	lea    0x4(%ecx),%ebx
41ff1e:	57                   	push   %edi
41ff1f:	8b 38                	mov    (%eax),%edi
41ff21:	8b cb                	mov    %ebx,%ecx
41ff23:	e8 72 00 00 00       	call   0x41ff9a
41ff28:	8b f0                	mov    %eax,%esi
41ff2a:	8b ce                	mov    %esi,%ecx
41ff2c:	e8 ef 9a fe ff       	call   0x409a20
41ff31:	8b cb                	mov    %ebx,%ecx
41ff33:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
41ff3a:	89 3e                	mov    %edi,(%esi)
41ff3c:	e8 59 00 00 00       	call   0x41ff9a
41ff41:	5f                   	pop    %edi
41ff42:	5e                   	pop    %esi
41ff43:	5b                   	pop    %ebx
41ff44:	c6 40 10 00          	movb   $0x0,0x10(%eax)
41ff48:	5d                   	pop    %ebp
41ff49:	c2 08 00             	ret    $0x8
41ff4c:	33 c0                	xor    %eax,%eax
41ff4e:	c7 01 c4 1c 49 00    	movl   $0x491cc4,(%ecx)
41ff54:	89 41 04             	mov    %eax,0x4(%ecx)
41ff57:	89 41 08             	mov    %eax,0x8(%ecx)
41ff5a:	66 89 41 0c          	mov    %ax,0xc(%ecx)
41ff5e:	8b c1                	mov    %ecx,%eax
41ff60:	c3                   	ret
41ff61:	55                   	push   %ebp
41ff62:	8b ec                	mov    %esp,%ebp
41ff64:	56                   	push   %esi
41ff65:	57                   	push   %edi
41ff66:	8d 79 04             	lea    0x4(%ecx),%edi
41ff69:	8b cf                	mov    %edi,%ecx
41ff6b:	e8 2a 00 00 00       	call   0x41ff9a
41ff70:	8b f0                	mov    %eax,%esi
41ff72:	8d 4e 20             	lea    0x20(%esi),%ecx
41ff75:	e8 a6 9a fe ff       	call   0x409a20
41ff7a:	8b 55 08             	mov    0x8(%ebp),%edx
41ff7d:	8b cf                	mov    %edi,%ecx
41ff7f:	c7 46 2c 01 00 00 00 	movl   $0x1,0x2c(%esi)
41ff86:	89 56 20             	mov    %edx,0x20(%esi)
41ff89:	e8 0c 00 00 00       	call   0x41ff9a
41ff8e:	8a 4d 0c             	mov    0xc(%ebp),%cl
41ff91:	5f                   	pop    %edi
41ff92:	5e                   	pop    %esi
41ff93:	88 48 30             	mov    %cl,0x30(%eax)
41ff96:	5d                   	pop    %ebp
41ff97:	c2 08 00             	ret    $0x8
41ff9a:	80 79 09 00          	cmpb   $0x0,0x9(%ecx)
41ff9e:	8b 41 04             	mov    0x4(%ecx),%eax
41ffa1:	75 01                	jne    0x41ffa4
41ffa3:	c3                   	ret
41ffa4:	8b 40 38             	mov    0x38(%eax),%eax
41ffa7:	c3                   	ret
41ffa8:	56                   	push   %esi
41ffa9:	8b f1                	mov    %ecx,%esi
41ffab:	57                   	push   %edi
41ffac:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
41ffb0:	0f 85 f1 5c 03 00    	jne    0x455ca7
41ffb6:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
41ffba:	75 1c                	jne    0x41ffd8
41ffbc:	8b 4e 04             	mov    0x4(%esi),%ecx
41ffbf:	8b 79 38             	mov    0x38(%ecx),%edi
41ffc2:	85 c9                	test   %ecx,%ecx
41ffc4:	74 06                	je     0x41ffcc
41ffc6:	51                   	push   %ecx
41ffc7:	e8 50 00 00 00       	call   0x42001c
41ffcc:	89 7e 04             	mov    %edi,0x4(%esi)
41ffcf:	c6 46 09 00          	movb   $0x0,0x9(%esi)
41ffd3:	ff 0e                	decl   (%esi)
41ffd5:	5f                   	pop    %edi