846d78:	8b ec                	mov    %esp,%ebp
846d7a:	8b 45 0c             	mov    0xc(%ebp),%eax
846d7d:	56                   	push   %esi
846d7e:	8b 75 08             	mov    0x8(%ebp),%esi
846d81:	57                   	push   %edi
846d82:	8b f9                	mov    %ecx,%edi
846d84:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846d85:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846d86:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846d87:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846d88:	d9 00                	flds   (%eax)
846d8a:	d9 59 10             	fstps  0x10(%ecx)
846d8d:	d9 40 04             	flds   0x4(%eax)
846d90:	8b c1                	mov    %ecx,%eax
846d92:	5f                   	pop    %edi
846d93:	d9 59 14             	fstps  0x14(%ecx)
846d96:	5e                   	pop    %esi
846d97:	5d                   	pop    %ebp
846d98:	c2 08 00             	ret    $0x8
846d9b:	cc                   	int3
846d9c:	cc                   	int3
846d9d:	cc                   	int3
846d9e:	cc                   	int3
846d9f:	cc                   	int3
846da0:	cc                   	int3
846da1:	cc                   	int3
846da2:	cc                   	int3
846da3:	cc                   	int3
846da4:	55                   	push   %ebp
846da5:	8b ec                	mov    %esp,%ebp
846da7:	8b 45 08             	mov    0x8(%ebp),%eax
846daa:	85 c0                	test   %eax,%eax
846dac:	74 18                	je     0x846dc6
846dae:	56                   	push   %esi
846daf:	57                   	push   %edi
846db0:	8b f0                	mov    %eax,%esi
846db2:	8b f9                	mov    %ecx,%edi
846db4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846db5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846db6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846db7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846db8:	d9 40 10             	flds   0x10(%eax)
846dbb:	d9 59 10             	fstps  0x10(%ecx)
846dbe:	d9 40 14             	flds   0x14(%eax)
846dc1:	5f                   	pop    %edi
846dc2:	d9 59 14             	fstps  0x14(%ecx)
846dc5:	5e                   	pop    %esi
846dc6:	8b c1                	mov    %ecx,%eax
846dc8:	5d                   	pop    %ebp
846dc9:	c2 04 00             	ret    $0x4
846dcc:	cc                   	int3
846dcd:	cc                   	int3
846dce:	cc                   	int3
846dcf:	cc                   	int3
846dd0:	cc                   	int3
846dd1:	cc                   	int3
846dd2:	cc                   	int3
846dd3:	cc                   	int3
846dd4:	cc                   	int3
846dd5:	cc                   	int3
846dd6:	55                   	push   %ebp
846dd7:	8b ec                	mov    %esp,%ebp
846dd9:	8b 45 08             	mov    0x8(%ebp),%eax
846ddc:	d9 00                	flds   (%eax)
846dde:	d9 19                	fstps  (%ecx)
846de0:	d9 40 04             	flds   0x4(%eax)
846de3:	8b c1                	mov    %ecx,%eax
846de5:	d9 59 04             	fstps  0x4(%ecx)
846de8:	5d                   	pop    %ebp
846de9:	c2 04 00             	ret    $0x4
846dec:	cc                   	int3
846ded:	cc                   	int3
846dee:	cc                   	int3
846def:	cc                   	int3
846df0:	cc                   	int3
846df1:	55                   	push   %ebp
846df2:	8b ec                	mov    %esp,%ebp
846df4:	8b 45 08             	mov    0x8(%ebp),%eax
846df7:	db 00                	fildl  (%eax)
846df9:	d9 19                	fstps  (%ecx)
846dfb:	db 40 04             	fildl  0x4(%eax)
846dfe:	8b c1                	mov    %ecx,%eax
846e00:	d9 59 04             	fstps  0x4(%ecx)
846e03:	5d                   	pop    %ebp
846e04:	c2 04 00             	ret    $0x4
846e07:	cc                   	int3
846e08:	cc                   	int3
846e09:	cc                   	int3
846e0a:	cc                   	int3
846e0b:	cc                   	int3
846e0c:	55                   	push   %ebp
846e0d:	8b ec                	mov    %esp,%ebp
846e0f:	d9 45 08             	flds   0x8(%ebp)
846e12:	8b c1                	mov    %ecx,%eax
846e14:	d9 19                	fstps  (%ecx)
846e16:	d9 45 0c             	flds   0xc(%ebp)
846e19:	d9 59 04             	fstps  0x4(%ecx)
846e1c:	5d                   	pop    %ebp
846e1d:	c2 08 00             	ret    $0x8
846e20:	cc                   	int3
846e21:	cc                   	int3
846e22:	cc                   	int3
846e23:	cc                   	int3
846e24:	cc                   	int3
846e25:	55                   	push   %ebp
846e26:	8b ec                	mov    %esp,%ebp
846e28:	51                   	push   %ecx
846e29:	8b 45 08             	mov    0x8(%ebp),%eax
846e2c:	d9 ee                	fldz
846e2e:	85 c0                	test   %eax,%eax
846e30:	75 05                	jne    0x846e37
846e32:	d9 55 fc             	fsts   -0x4(%ebp)
846e35:	eb 05                	jmp    0x846e3c
846e37:	d9 00                	flds   (%eax)
846e39:	d9 5d fc             	fstps  -0x4(%ebp)
846e3c:	d9 45 fc             	flds   -0x4(%ebp)
846e3f:	d9 19                	fstps  (%ecx)
846e41:	85 c0                	test   %eax,%eax
846e43:	74 05                	je     0x846e4a
846e45:	dd d8                	fstp   %st(0)
846e47:	d9 40 04             	flds   0x4(%eax)
846e4a:	d9 5d fc             	fstps  -0x4(%ebp)
846e4d:	d9 45 fc             	flds   -0x4(%ebp)
846e50:	8b c1                	mov    %ecx,%eax
846e52:	d9 59 04             	fstps  0x4(%ecx)
846e55:	8b e5                	mov    %ebp,%esp
846e57:	5d                   	pop    %ebp
846e58:	c2 04 00             	ret    $0x4
846e5b:	cc                   	int3
846e5c:	cc                   	int3
846e5d:	cc                   	int3
846e5e:	cc                   	int3
846e5f:	cc                   	int3
846e60:	cc                   	int3
846e61:	cc                   	int3
846e62:	cc                   	int3
846e63:	cc                   	int3
846e64:	cc                   	int3
846e65:	cc                   	int3
846e66:	cc                   	int3
846e67:	cc                   	int3
846e68:	55                   	push   %ebp
846e69:	8b ec                	mov    %esp,%ebp
846e6b:	8b 55 08             	mov    0x8(%ebp),%edx
846e6e:	8b 02                	mov    (%edx),%eax
846e70:	89 01                	mov    %eax,(%ecx)
846e72:	8b 42 04             	mov    0x4(%edx),%eax
846e75:	89 41 04             	mov    %eax,0x4(%ecx)
846e78:	8b c1                	mov    %ecx,%eax
846e7a:	5d                   	pop    %ebp
846e7b:	c2 04 00             	ret    $0x4
846e7e:	cc                   	int3
846e7f:	cc                   	int3
846e80:	cc                   	int3
846e81:	cc                   	int3
846e82:	cc                   	int3
846e83:	55                   	push   %ebp
846e84:	8b ec                	mov    %esp,%ebp
846e86:	8b 55 08             	mov    0x8(%ebp),%edx
846e89:	8b 02                	mov    (%edx),%eax
846e8b:	89 01                	mov    %eax,(%ecx)
846e8d:	8b 42 04             	mov    0x4(%edx),%eax
846e90:	89 41 04             	mov    %eax,0x4(%ecx)
846e93:	8b c1                	mov    %ecx,%eax
846e95:	5d                   	pop    %ebp
846e96:	c2 04 00             	ret    $0x4
846e99:	cc                   	int3
846e9a:	cc                   	int3
846e9b:	cc                   	int3
846e9c:	cc                   	int3
846e9d:	cc                   	int3
846e9e:	55                   	push   %ebp
846e9f:	8b ec                	mov    %esp,%ebp
846ea1:	8b 45 08             	mov    0x8(%ebp),%eax
846ea4:	89 01                	mov    %eax,(%ecx)
846ea6:	8b 45 0c             	mov    0xc(%ebp),%eax
846ea9:	89 41 04             	mov    %eax,0x4(%ecx)
846eac:	8b c1                	mov    %ecx,%eax
846eae:	5d                   	pop    %ebp
846eaf:	c2 08 00             	ret    $0x8
846eb2:	cc                   	int3
846eb3:	cc                   	int3
846eb4:	cc                   	int3
846eb5:	cc                   	int3
846eb6:	cc                   	int3
846eb7:	55                   	push   %ebp
846eb8:	8b ec                	mov    %esp,%ebp
846eba:	8b 45 08             	mov    0x8(%ebp),%eax
846ebd:	33 d2                	xor    %edx,%edx
846ebf:	56                   	push   %esi
846ec0:	8b f2                	mov    %edx,%esi
846ec2:	85 c0                	test   %eax,%eax
846ec4:	74 02                	je     0x846ec8
846ec6:	8b 30                	mov    (%eax),%esi
846ec8:	89 31                	mov    %esi,(%ecx)
846eca:	5e                   	pop    %esi
846ecb:	85 c0                	test   %eax,%eax
846ecd:	74 03                	je     0x846ed2
846ecf:	8b 50 04             	mov    0x4(%eax),%edx
846ed2:	89 51 04             	mov    %edx,0x4(%ecx)
846ed5:	8b c1                	mov    %ecx,%eax
846ed7:	5d                   	pop    %ebp
846ed8:	c2 04 00             	ret    $0x4
846edb:	cc                   	int3
846edc:	cc                   	int3
846edd:	cc                   	int3
846ede:	cc                   	int3
846edf:	cc                   	int3
846ee0:	cc                   	int3
846ee1:	cc                   	int3
846ee2:	cc                   	int3
846ee3:	cc                   	int3
846ee4:	55                   	push   %ebp
846ee5:	8b ec                	mov    %esp,%ebp
846ee7:	83 ec 24             	sub    $0x24,%esp
846eea:	53                   	push   %ebx
846eeb:	56                   	push   %esi
846eec:	57                   	push   %edi
846eed:	ff 75 18             	push   0x18(%ebp)
846ef0:	8b d9                	mov    %ecx,%ebx
846ef2:	ff 75 14             	push   0x14(%ebp)
846ef5:	89 5d fc             	mov    %ebx,-0x4(%ebp)
846ef8:	ff 75 08             	push   0x8(%ebp)
846efb:	e8 1b 24 be ff       	call   0x42931b
846f00:	ff 75 10             	push   0x10(%ebp)
846f03:	83 63 14 00          	andl   $0x0,0x14(%ebx)
846f07:	8d 45 dc             	lea    -0x24(%ebp),%eax
846f0a:	ff 75 0c             	push   0xc(%ebp)
846f0d:	c7 03 9c d3 c3 00    	movl   $0xc3d39c,(%ebx)
846f13:	50                   	push   %eax
846f14:	e8 ac e9 bc ff       	call   0x4158c5
846f19:	8b f0                	mov    %eax,%esi
846f1b:	8d 7d ec             	lea    -0x14(%ebp),%edi
846f1e:	83 c4 0c             	add    $0xc,%esp
846f21:	8b c3                	mov    %ebx,%eax
846f23:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846f24:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846f25:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846f26:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846f27:	8d 7b 18             	lea    0x18(%ebx),%edi
846f2a:	8d 75 ec             	lea    -0x14(%ebp),%esi
846f2d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846f2e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846f2f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846f30:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846f31:	5f                   	pop    %edi
846f32:	5e                   	pop    %esi
846f33:	5b                   	pop    %ebx
846f34:	8b e5                	mov    %ebp,%esp
846f36:	5d                   	pop    %ebp
846f37:	c2 14 00             	ret    $0x14
846f3a:	cc                   	int3
846f3b:	cc                   	int3
846f3c:	cc                   	int3
846f3d:	cc                   	int3
846f3e:	cc                   	int3
846f3f:	cc                   	int3
846f40:	cc                   	int3
846f41:	cc                   	int3
846f42:	cc                   	int3
846f43:	cc                   	int3
846f44:	cc                   	int3
846f45:	cc                   	int3
846f46:	cc                   	int3
846f47:	cc                   	int3
846f48:	cc                   	int3
846f49:	cc                   	int3
846f4a:	cc                   	int3
846f4b:	cc                   	int3
846f4c:	cc                   	int3
846f4d:	cc                   	int3
846f4e:	cc                   	int3
846f4f:	55                   	push   %ebp
846f50:	8b ec                	mov    %esp,%ebp
846f52:	51                   	push   %ecx
846f53:	53                   	push   %ebx
846f54:	56                   	push   %esi
846f55:	57                   	push   %edi
846f56:	ff 75 20             	push   0x20(%ebp)
846f59:	8b d9                	mov    %ecx,%ebx
846f5b:	ff 75 1c             	push   0x1c(%ebp)
846f5e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
846f61:	ff 75 08             	push   0x8(%ebp)
846f64:	e8 b2 23 be ff       	call   0x42931b
846f69:	83 63 14 00          	andl   $0x0,0x14(%ebx)
846f6d:	8d 7b 18             	lea    0x18(%ebx),%edi
846f70:	8d 75 0c             	lea    0xc(%ebp),%esi
846f73:	c7 03 9c d3 c3 00    	movl   $0xc3d39c,(%ebx)
846f79:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846f7a:	8b c3                	mov    %ebx,%eax
846f7c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846f7d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846f7e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
846f7f:	5f                   	pop    %edi
846f80:	5e                   	pop    %esi
846f81:	5b                   	pop    %ebx
846f82:	8b e5                	mov    %ebp,%esp
846f84:	5d                   	pop    %ebp
846f85:	c2 1c 00             	ret    $0x1c
846f88:	cc                   	int3
846f89:	cc                   	int3
846f8a:	cc                   	int3
846f8b:	cc                   	int3
846f8c:	cc                   	int3
846f8d:	cc                   	int3
846f8e:	cc                   	int3
846f8f:	cc                   	int3
846f90:	cc                   	int3
846f91:	cc                   	int3
846f92:	cc                   	int3
846f93:	cc                   	int3
846f94:	cc                   	int3
846f95:	cc                   	int3
846f96:	6a 04                	push   $0x4
846f98:	b8 b7 ae b9 00       	mov    $0xb9aeb7,%eax
846f9d:	e8 e9 32 bc ff       	call   0x40a28b
846fa2:	8b f9                	mov    %ecx,%edi
846fa4:	89 7d f0             	mov    %edi,-0x10(%ebp)
846fa7:	ff 75 28             	push   0x28(%ebp)
846faa:	ff 75 08             	push   0x8(%ebp)
846fad:	e8 62 4e bd ff       	call   0x41be14
846fb2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
846fb6:	8d 5f 0c             	lea    0xc(%edi),%ebx
846fb9:	83 23 00             	andl   $0x0,(%ebx)
846fbc:	b9 1c cb d7 00       	mov    $0xd7cb1c,%ecx
846fc1:	68 ae 33 41 00       	push   $0x4133ae
846fc6:	c7 07 2c d5 c3 00    	movl   $0xc3d52c,(%edi)
846fcc:	e8 4f 5a be ff       	call   0x42ca20
846fd1:	8b f0                	mov    %eax,%esi
846fd3:	85 f6                	test   %esi,%esi
846fd5:	75 05                	jne    0x846fdc
846fd7:	e8 8a af be ff       	call   0x431f66
846fdc:	6a 00                	push   $0x0
846fde:	6a 00                	push   $0x0
846fe0:	8b ce                	mov    %esi,%ecx
846fe2:	e8 4c 78 bf ff       	call   0x43e833
846fe7:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
846feb:	74 4f                	je     0x84703c
846fed:	68 ae 33 41 00       	push   $0x4133ae
846ff2:	b9 1c cb d7 00       	mov    $0xd7cb1c,%ecx
846ff7:	e8 24 5a be ff       	call   0x42ca20
846ffc:	8b f0                	mov    %eax,%esi
846ffe:	85 f6                	test   %esi,%esi
847000:	74 d5                	je     0x846fd7
847002:	6a 00                	push   $0x0
847004:	6a 00                	push   $0x0
847006:	8b ce                	mov    %esi,%ecx
847008:	e8 26 78 bf ff       	call   0x43e833
84700d:	8b 45 20             	mov    0x20(%ebp),%eax
847010:	8b 4e 10             	mov    0x10(%esi),%ecx