428b79:	7e e6                	jle    0x428b61
428b7b:	8b 55 d8             	mov    -0x28(%ebp),%edx
428b7e:	8b 7d e0             	mov    -0x20(%ebp),%edi
428b81:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
428b84:	83 c6 02             	add    $0x2,%esi
428b87:	80 3e 00             	cmpb   $0x0,(%esi)
428b8a:	75 a0                	jne    0x428b2c
428b8c:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
428b8f:	33 db                	xor    %ebx,%ebx
428b91:	8b 7d e4             	mov    -0x1c(%ebp),%edi
428b94:	8d b1 00 02 00 00    	lea    0x200(%ecx),%esi
428b9a:	6a 3f                	push   $0x3f
428b9c:	8b 45 e0             	mov    -0x20(%ebp),%eax
428b9f:	59                   	pop    %ecx
428ba0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
428ba2:	6a 1f                	push   $0x1f
428ba4:	59                   	pop    %ecx
428ba5:	6a 1f                	push   $0x1f
428ba7:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
428ba9:	8d b0 00 01 00 00    	lea    0x100(%eax),%esi
428baf:	8b f8                	mov    %eax,%edi
428bb1:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
428bb3:	59                   	pop    %ecx
428bb4:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
428bb6:	a4                   	movsb  %ds:(%esi),%es:(%edi)
428bb7:	8d b2 00 01 00 00    	lea    0x100(%edx),%esi
428bbd:	8b fa                	mov    %edx,%edi
428bbf:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
428bc1:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
428bc3:	a4                   	movsb  %ds:(%esi),%es:(%edi)
428bc4:	8b 75 cc             	mov    -0x34(%ebp),%esi
428bc7:	8b 8e 8c 00 00 00    	mov    0x8c(%esi),%ecx
428bcd:	85 c9                	test   %ecx,%ecx
428bcf:	74 49                	je     0x428c1a
428bd1:	83 c8 ff             	or     $0xffffffff,%eax
428bd4:	f0 0f c1 01          	lock xadd %eax,(%ecx)
428bd8:	75 40                	jne    0x428c1a
428bda:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
428be0:	2d fe 00 00 00       	sub    $0xfe,%eax
428be5:	50                   	push   %eax
428be6:	e8 8c 38 00 00       	call   0x42c477
428beb:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
428bf1:	bf 80 00 00 00       	mov    $0x80,%edi
428bf6:	2b c7                	sub    %edi,%eax
428bf8:	50                   	push   %eax
428bf9:	e8 79 38 00 00       	call   0x42c477
428bfe:	8b 86 98 00 00 00    	mov    0x98(%esi),%eax
428c04:	2b c7                	sub    %edi,%eax
428c06:	50                   	push   %eax
428c07:	e8 6b 38 00 00       	call   0x42c477
428c0c:	ff b6 8c 00 00 00    	push   0x8c(%esi)
428c12:	e8 60 38 00 00       	call   0x42c477
428c17:	83 c4 10             	add    $0x10,%esp
428c1a:	8b 45 d0             	mov    -0x30(%ebp),%eax
428c1d:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
428c23:	89 86 8c 00 00 00    	mov    %eax,0x8c(%esi)
428c29:	8b 45 bc             	mov    -0x44(%ebp),%eax
428c2c:	89 06                	mov    %eax,(%esi)
428c2e:	8b 45 b8             	mov    -0x48(%ebp),%eax
428c31:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
428c37:	8b 45 b4             	mov    -0x4c(%ebp),%eax
428c3a:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
428c40:	8b 45 b0             	mov    -0x50(%ebp),%eax
428c43:	89 86 98 00 00 00    	mov    %eax,0x98(%esi)
428c49:	8b 45 c8             	mov    -0x38(%ebp),%eax
428c4c:	89 46 04             	mov    %eax,0x4(%esi)
428c4f:	eb 24                	jmp    0x428c75
428c51:	ff 75 d0             	push   -0x30(%ebp)
428c54:	e8 1e 38 00 00       	call   0x42c477
428c59:	ff 75 e4             	push   -0x1c(%ebp)
428c5c:	e8 16 38 00 00       	call   0x42c477
428c61:	ff 75 e0             	push   -0x20(%ebp)
428c64:	e8 0e 38 00 00       	call   0x42c477
428c69:	57                   	push   %edi
428c6a:	e8 08 38 00 00       	call   0x42c477
428c6f:	33 db                	xor    %ebx,%ebx
428c71:	83 c4 10             	add    $0x10,%esp
428c74:	43                   	inc    %ebx
428c75:	ff 75 dc             	push   -0x24(%ebp)
428c78:	e8 fa 37 00 00       	call   0x42c477
428c7d:	59                   	pop    %ecx
428c7e:	8b c3                	mov    %ebx,%eax
428c80:	eb 3c                	jmp    0x428cbe
428c82:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
428c88:	85 c0                	test   %eax,%eax
428c8a:	74 03                	je     0x428c8f
428c8c:	f0 ff 08             	lock decl (%eax)
428c8f:	89 9e 8c 00 00 00    	mov    %ebx,0x8c(%esi)
428c95:	33 c0                	xor    %eax,%eax
428c97:	89 9e 90 00 00 00    	mov    %ebx,0x90(%esi)
428c9d:	c7 06 00 20 44 00    	movl   $0x442000,(%esi)
428ca3:	c7 86 94 00 00 00 80 	movl   $0x442280,0x94(%esi)
428caa:	22 44 00
428cad:	c7 86 98 00 00 00 00 	movl   $0x442400,0x98(%esi)
428cb4:	24 44 00
428cb7:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
428cbe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
428cc1:	5f                   	pop    %edi
428cc2:	5e                   	pop    %esi
428cc3:	33 cd                	xor    %ebp,%ecx
428cc5:	5b                   	pop    %ebx
428cc6:	e8 05 2c ff ff       	call   0x41b8d0
428ccb:	c9                   	leave
428ccc:	c3                   	ret
428ccd:	8b ff                	mov    %edi,%edi
428ccf:	55                   	push   %ebp
428cd0:	8b ec                	mov    %esp,%ebp
428cd2:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
428cd6:	53                   	push   %ebx
428cd7:	57                   	push   %edi
428cd8:	74 3f                	je     0x428d19
428cda:	8b 4d 08             	mov    0x8(%ebp),%ecx
428cdd:	33 ff                	xor    %edi,%edi
428cdf:	8d 51 02             	lea    0x2(%ecx),%edx
428ce2:	66 8b 01             	mov    (%ecx),%ax
428ce5:	83 c1 02             	add    $0x2,%ecx
428ce8:	66 3b c7             	cmp    %di,%ax
428ceb:	75 f5                	jne    0x428ce2
428ced:	2b ca                	sub    %edx,%ecx
428cef:	d1 f9                	sar    $1,%ecx
428cf1:	8d 59 01             	lea    0x1(%ecx),%ebx
428cf4:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
428cf7:	50                   	push   %eax
428cf8:	e8 56 d9 ff ff       	call   0x426653
428cfd:	8b f8                	mov    %eax,%edi
428cff:	59                   	pop    %ecx
428d00:	85 ff                	test   %edi,%edi
428d02:	74 15                	je     0x428d19
428d04:	ff 75 08             	push   0x8(%ebp)
428d07:	53                   	push   %ebx
428d08:	57                   	push   %edi
428d09:	e8 68 d7 ff ff       	call   0x426476
428d0e:	83 c4 0c             	add    $0xc,%esp
428d11:	85 c0                	test   %eax,%eax
428d13:	75 0a                	jne    0x428d1f
428d15:	8b c7                	mov    %edi,%eax
428d17:	eb 02                	jmp    0x428d1b
428d19:	33 c0                	xor    %eax,%eax
428d1b:	5f                   	pop    %edi
428d1c:	5b                   	pop    %ebx
428d1d:	5d                   	pop    %ebp
428d1e:	c3                   	ret
428d1f:	33 c0                	xor    %eax,%eax
428d21:	50                   	push   %eax
428d22:	50                   	push   %eax
428d23:	50                   	push   %eax
428d24:	50                   	push   %eax
428d25:	50                   	push   %eax
428d26:	e8 71 7d ff ff       	call   0x420a9c
428d2b:	cc                   	int3
428d2c:	cc                   	int3
428d2d:	cc                   	int3
428d2e:	cc                   	int3
428d2f:	cc                   	int3
428d30:	83 3d 6c 62 45 00 00 	cmpl   $0x0,0x45626c
428d37:	74 32                	je     0x428d6b
428d39:	83 ec 08             	sub    $0x8,%esp
428d3c:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
428d41:	8b 44 24 04          	mov    0x4(%esp),%eax
428d45:	25 80 7f 00 00       	and    $0x7f80,%eax
428d4a:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
428d4f:	75 0f                	jne    0x428d60
428d51:	d9 3c 24             	fnstcw (%esp)
428d54:	66 8b 04 24          	mov    (%esp),%ax
428d58:	66 83 e0 7f          	and    $0x7f,%ax
428d5c:	66 83 f8 7f          	cmp    $0x7f,%ax
428d60:	8d 64 24 08          	lea    0x8(%esp),%esp
428d64:	75 05                	jne    0x428d6b
428d66:	e9 a5 8b 00 00       	jmp    0x431910
428d6b:	83 ec 14             	sub    $0x14,%esp
428d6e:	d9 c9                	fxch   %st(1)
428d70:	dd 1c 24             	fstpl  (%esp)
428d73:	dd 54 24 08          	fstl   0x8(%esp)
428d77:	8b 44 24 0c          	mov    0xc(%esp),%eax
428d7b:	e8 0d 00 00 00       	call   0x428d8d
428d80:	83 c4 14             	add    $0x14,%esp
428d83:	c3                   	ret
428d84:	8d 54 24 0c          	lea    0xc(%esp),%edx
428d88:	e8 b8 9b 00 00       	call   0x432945
428d8d:	8b c8                	mov    %eax,%ecx
428d8f:	50                   	push   %eax
428d90:	9b d9 3c 24          	fstcw  (%esp)
428d94:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
428d9a:	74 05                	je     0x428da1
428d9c:	e8 74 9b 00 00       	call   0x432915
428da1:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
428da7:	8d 54 24 08          	lea    0x8(%esp),%edx
428dab:	81 f9 00 00 f0 7f    	cmp    $0x7ff00000,%ecx
428db1:	0f 84 9c 00 00 00    	je     0x428e53
428db7:	e8 89 9b 00 00       	call   0x432945
428dbc:	0f 84 8d 00 00 00    	je     0x428e4f
428dc2:	a9 00 00 f0 7f       	test   $0x7ff00000,%eax
428dc7:	0f 84 f5 00 00 00    	je     0x428ec2
428dcd:	8a 4c 24 0f          	mov    0xf(%esp),%cl
428dd1:	80 e1 80             	and    $0x80,%cl
428dd4:	0f 85 52 01 00 00    	jne    0x428f2c
428dda:	d9 f1                	fyl2x
428ddc:	e8 1f 9b 00 00       	call   0x432900
428de1:	80 f9 01             	cmp    $0x1,%cl
428de4:	75 02                	jne    0x428de8
428de6:	d9 e0                	fchs
428de8:	83 3d f8 60 45 00 00 	cmpl   $0x0,0x4560f8
428def:	0f 85 a9 9b 00 00    	jne    0x43299e
428df5:	8d 0d 10 27 44 00    	lea    0x442710,%ecx
428dfb:	ba 1d 00 00 00       	mov    $0x1d,%edx
428e00:	e9 e4 9b 00 00       	jmp    0x4329e9
428e05:	83 3d f8 60 45 00 00 	cmpl   $0x0,0x4560f8
428e0c:	0f 85 8c 9b 00 00    	jne    0x43299e
428e12:	8d 0d 10 27 44 00    	lea    0x442710,%ecx
428e18:	ba 1d 00 00 00       	mov    $0x1d,%edx
428e1d:	e8 7e 9a 00 00       	call   0x4328a0
428e22:	5a                   	pop    %edx
428e23:	c3                   	ret
428e24:	8d 54 24 08          	lea    0x8(%esp),%edx
428e28:	e8 18 9b 00 00       	call   0x432945
428e2d:	d9 e8                	fld1
428e2f:	df e9                	fucomip %st(1),%st
428e31:	7a 05                	jp     0x428e38
428e33:	74 0e                	je     0x428e43
428e35:	41                   	inc    %ecx
428e36:	eb 31                	jmp    0x428e69
428e38:	d9 c9                	fxch   %st(1)
428e3a:	d9 e5                	fxam
428e3c:	9b df e0             	fstsw  %ax
428e3f:	9b                   	fwait
428e40:	9e                   	sahf
428e41:	75 08                	jne    0x428e4b
428e43:	dd d8                	fstp   %st(0)
428e45:	dd d8                	fstp   %st(0)
428e47:	d9 e8                	fld1
428e49:	5a                   	pop    %edx
428e4a:	c3                   	ret
428e4b:	de c1                	faddp  %st,%st(1)
428e4d:	5a                   	pop    %edx
428e4e:	c3                   	ret
428e4f:	33 c9                	xor    %ecx,%ecx
428e51:	eb 16                	jmp    0x428e69
428e53:	33 c9                	xor    %ecx,%ecx
428e55:	25 ff ff 0f 00       	and    $0xfffff,%eax
428e5a:	0b 44 24 10          	or     0x10(%esp),%eax
428e5e:	75 c4                	jne    0x428e24
428e60:	8d 54 24 08          	lea    0x8(%esp),%edx
428e64:	e8 dc 9a 00 00       	call   0x432945
428e69:	8b 44 24 0c          	mov    0xc(%esp),%eax
428e6d:	8b d0                	mov    %eax,%edx
428e6f:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
428e74:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
428e7a:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
428e7f:	75 06                	jne    0x428e87
428e81:	0b 54 24 08          	or     0x8(%esp),%edx
428e85:	75 b1                	jne    0x428e38
428e87:	85 c9                	test   %ecx,%ecx
428e89:	75 c0                	jne    0x428e4b
428e8b:	83 ec 74             	sub    $0x74,%esp
428e8e:	8b cc                	mov    %esp,%ecx
428e90:	51                   	push   %ecx
428e91:	83 ec 10             	sub    $0x10,%esp
428e94:	dd 1c 24             	fstpl  (%esp)
428e97:	dd 5c 24 08          	fstpl  0x8(%esp)
428e9b:	9b dd 71 08          	fsave  0x8(%ecx)
428e9f:	e8 50 9c 00 00       	call   0x432af4
428ea4:	83 c4 10             	add    $0x10,%esp
428ea7:	59                   	pop    %ecx
428ea8:	dd 61 08             	frstor 0x8(%ecx)
428eab:	dd 01                	fldl   (%ecx)
428ead:	83 c4 74             	add    $0x74,%esp
428eb0:	85 c0                	test   %eax,%eax
428eb2:	0f 84 e6 9a 00 00    	je     0x43299e
428eb8:	b8 01 00 00 00       	mov    $0x1,%eax
428ebd:	e9 43 ff ff ff       	jmp    0x428e05
428ec2:	8b 44 24 0c          	mov    0xc(%esp),%eax
428ec6:	25 ff ff 0f 00       	and    $0xfffff,%eax
428ecb:	0b 44 24 08          	or     0x8(%esp),%eax
428ecf:	0f 85 f8 fe ff ff    	jne    0x428dcd
428ed5:	dd d8                	fstp   %st(0)
428ed7:	8b 44 24 14          	mov    0x14(%esp),%eax
428edb:	25 ff ff ff 7f       	and    $0x7fffffff,%eax
428ee0:	0b 44 24 10          	or     0x10(%esp),%eax
428ee4:	74 3d                	je     0x428f23
428ee6:	e8 66 00 00 00       	call   0x428f51
428eeb:	8a 6c 24 0f          	mov    0xf(%esp),%ch
428eef:	c0 ed 07             	shr    $0x7,%ch
428ef2:	f7 44 24 17 80 00 00 	testl  $0x80,0x17(%esp)
428ef9:	00
428efa:	74 16                	je     0x428f12
428efc:	db 2d 10 39 44 00    	fldt   0x443910
428f02:	84 cd                	test   %cl,%ch
428f04:	74 02                	je     0x428f08
428f06:	d9 e0                	fchs
428f08:	b8 02 00 00 00       	mov    $0x2,%eax
428f0d:	e9 f3 fe ff ff       	jmp    0x428e05
428f12:	d9 ee                	fldz
428f14:	84 cd                	test   %cl,%ch
428f16:	0f 84 82 9a 00 00    	je     0x43299e
428f1c:	d9 e0                	fchs
428f1e:	e9 7b 9a 00 00       	jmp    0x43299e
428f23:	dd d8                	fstp   %st(0)
428f25:	d9 e8                	fld1
428f27:	e9 72 9a 00 00       	jmp    0x43299e
428f2c:	d9 c1                	fld    %st(1)
428f2e:	e8 1e 00 00 00       	call   0x428f51
428f33:	d9 e0                	fchs
428f35:	84 c9                	test   %cl,%cl
428f37:	0f 85 9d fe ff ff    	jne    0x428dda
428f3d:	dd d8                	fstp   %st(0)
428f3f:	dd d8                	fstp   %st(0)
428f41:	db 2d 70 39 44 00    	fldt   0x443970
428f47:	b8 01 00 00 00       	mov    $0x1,%eax
428f4c:	e9 b4 fe ff ff       	jmp    0x428e05
428f51:	d9 c0                	fld    %st(0)
428f53:	d9 fc                	frndint
428f55:	d8 d9                	fcomp  %st(1)
428f57:	b1 00                	mov    $0x0,%cl
428f59:	9b df e0             	fstsw  %ax
428f5c:	9e                   	sahf
428f5d:	75 17                	jne    0x428f76
428f5f:	dc 0d 14 27 44 00    	fmull  0x442714
428f65:	fe c1                	inc    %cl
428f67:	d9 c0                	fld    %st(0)
428f69:	d9 fc                	frndint
428f6b:	de d9                	fcompp
428f6d:	9b df e0             	fstsw  %ax
428f70:	9e                   	sahf
428f71:	75 02                	jne    0x428f75
428f73:	fe c1                	inc    %cl
428f75:	c3                   	ret
428f76:	dd d8                	fstp   %st(0)
428f78:	c3                   	ret
428f79:	e8 73 9d 00 00       	call   0x432cf1
428f7e:	85 c0                	test   %eax,%eax
428f80:	74 08                	je     0x428f8a
428f82:	6a 16                	push   $0x16
428f84:	e8 ad 9d 00 00       	call   0x432d36
428f89:	59                   	pop    %ecx
428f8a:	f6 05 a0 41 45 00 02 	testb  $0x2,0x4541a0
428f91:	74 22                	je     0x428fb5
428f93:	6a 17                	push   $0x17
428f95:	ff 15 48 f1 43 00    	call   *0x43f148
428f9b:	85 c0                	test   %eax,%eax
428f9d:	74 05                	je     0x428fa4
428f9f:	6a 07                	push   $0x7
428fa1:	59                   	pop    %ecx
428fa2:	cd 29                	int    $0x29
428fa4:	6a 01                	push   $0x1
428fa6:	68 15 00 00 40       	push   $0x40000015
428fab:	6a 03                	push   $0x3
428fad:	e8 c1 78 ff ff       	call   0x420873
428fb2:	83 c4 0c             	add    $0xc,%esp
428fb5:	6a 03                	push   $0x3
428fb7:	e8 08 0f 00 00       	call   0x429ec4