886b84:	0f af c2             	imul   %edx,%eax
886b87:	85 c0                	test   %eax,%eax
886b89:	0f 8e 52 04 00 00    	jle    0x886fe1
886b8f:	83 c6 02             	add    $0x2,%esi
886b92:	80 7e 01 00          	cmpb   $0x0,0x1(%esi)
886b96:	0f 84 27 01 00 00    	je     0x886cc3
886b9c:	0f b6 4e fe          	movzbl -0x2(%esi),%ecx
886ba0:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
886ba6:	50                   	push   %eax
886ba7:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
886bad:	c1 e1 08             	shl    $0x8,%ecx
886bb0:	50                   	push   %eax
886bb1:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
886bb7:	50                   	push   %eax
886bb8:	0f b6 46 ff          	movzbl -0x1(%esi),%eax
886bbc:	0b c8                	or     %eax,%ecx
886bbe:	0f b6 06             	movzbl (%esi),%eax
886bc1:	c1 e1 08             	shl    $0x8,%ecx
886bc4:	0b c8                	or     %eax,%ecx
886bc6:	51                   	push   %ecx
886bc7:	e8 d9 07 b9 ff       	call   0x4173a5
886bcc:	dd 85 5c ff ff ff    	fldl   -0xa4(%ebp)
886bd2:	dc 85 3c ff ff ff    	faddl  -0xc4(%ebp)
886bd8:	d9 e8                	fld1
886bda:	d8 d1                	fcom   %st(1)
886bdc:	df e0                	fnstsw %ax
886bde:	d9 ee                	fldz
886be0:	f6 c4 05             	test   $0x5,%ah
886be3:	7b 0f                	jnp    0x886bf4
886be5:	d8 d2                	fcom   %st(2)
886be7:	df e0                	fnstsw %ax
886be9:	f6 c4 41             	test   $0x41,%ah
886bec:	75 06                	jne    0x886bf4
886bee:	dd da                	fstp   %st(2)
886bf0:	d9 c1                	fld    %st(1)
886bf2:	eb 15                	jmp    0x886c09
886bf4:	d9 c9                	fxch   %st(1)
886bf6:	d8 d2                	fcom   %st(2)
886bf8:	df e0                	fnstsw %ax
886bfa:	f6 c4 05             	test   $0x5,%ah
886bfd:	7a 2e                	jp     0x886c2d
886bff:	dd da                	fstp   %st(2)
886c01:	d9 c1                	fld    %st(1)
886c03:	d9 c9                	fxch   %st(1)
886c05:	d9 ca                	fxch   %st(2)
886c07:	d9 c9                	fxch   %st(1)
886c09:	dd 85 64 ff ff ff    	fldl   -0x9c(%ebp)
886c0f:	dc 85 34 ff ff ff    	faddl  -0xcc(%ebp)
886c15:	d8 d2                	fcom   %st(2)
886c17:	df e0                	fnstsw %ax
886c19:	f6 c4 41             	test   $0x41,%ah
886c1c:	74 15                	je     0x886c33
886c1e:	d8 d3                	fcom   %st(3)
886c20:	df e0                	fnstsw %ax
886c22:	f6 c4 05             	test   $0x5,%ah
886c25:	7a 0c                	jp     0x886c33
886c27:	dd d8                	fstp   %st(0)
886c29:	d9 c2                	fld    %st(2)
886c2b:	eb 13                	jmp    0x886c40
886c2d:	d9 c9                	fxch   %st(1)
886c2f:	d9 ca                	fxch   %st(2)
886c31:	eb d6                	jmp    0x886c09
886c33:	d8 d2                	fcom   %st(2)
886c35:	df e0                	fnstsw %ax
886c37:	f6 c4 41             	test   $0x41,%ah
886c3a:	75 04                	jne    0x886c40
886c3c:	dd d8                	fstp   %st(0)
886c3e:	d9 c1                	fld    %st(1)
886c40:	dd 85 6c ff ff ff    	fldl   -0x94(%ebp)
886c46:	d9 c0                	fld    %st(0)
886c48:	dc 85 2c ff ff ff    	faddl  -0xd4(%ebp)
886c4e:	d8 d4                	fcom   %st(4)
886c50:	df e0                	fnstsw %ax
886c52:	f6 c4 41             	test   $0x41,%ah
886c55:	74 0f                	je     0x886c66
886c57:	d8 d5                	fcom   %st(5)
886c59:	df e0                	fnstsw %ax
886c5b:	f6 c4 05             	test   $0x5,%ah
886c5e:	7a 06                	jp     0x886c66
886c60:	dd dc                	fstp   %st(4)
886c62:	dd db                	fstp   %st(3)
886c64:	eb 13                	jmp    0x886c79
886c66:	dd dd                	fstp   %st(5)
886c68:	d9 cb                	fxch   %st(3)
886c6a:	d8 d4                	fcom   %st(4)
886c6c:	df e0                	fnstsw %ax
886c6e:	f6 c4 05             	test   $0x5,%ah
886c71:	7a 04                	jp     0x886c77
886c73:	dd dc                	fstp   %st(4)
886c75:	eb 02                	jmp    0x886c79
886c77:	dd d8                	fstp   %st(0)
886c79:	dd 05 f0 b7 bd 00    	fldl   0xbdb7f0
886c7f:	dc 9d 54 ff ff ff    	fcompl -0xac(%ebp)
886c85:	df e0                	fnstsw %ax
886c87:	f6 c4 05             	test   $0x5,%ah
886c8a:	7a 04                	jp     0x886c90
886c8c:	dd db                	fstp   %st(3)
886c8e:	eb 08                	jmp    0x886c98
886c90:	dd da                	fstp   %st(2)
886c92:	d9 c9                	fxch   %st(1)
886c94:	d9 ca                	fxch   %st(2)
886c96:	d9 c9                	fxch   %st(1)
886c98:	83 ec 18             	sub    $0x18,%esp
886c9b:	d9 ca                	fxch   %st(2)
886c9d:	dd 5c 24 10          	fstpl  0x10(%esp)
886ca1:	dd 5c 24 08          	fstpl  0x8(%esp)
886ca5:	dd 1c 24             	fstpl  (%esp)
886ca8:	e8 17 f0 ba ff       	call   0x435cc4
886cad:	8b c8                	mov    %eax,%ecx
886caf:	88 06                	mov    %al,(%esi)
886cb1:	c1 e9 08             	shr    $0x8,%ecx
886cb4:	c1 e8 10             	shr    $0x10,%eax
886cb7:	88 4e ff             	mov    %cl,-0x1(%esi)
886cba:	88 46 fe             	mov    %al,-0x2(%esi)
886cbd:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
886cc0:	8b 55 a0             	mov    -0x60(%ebp),%edx
886cc3:	8b c1                	mov    %ecx,%eax
886cc5:	47                   	inc    %edi
886cc6:	0f af c2             	imul   %edx,%eax
886cc9:	83 c6 04             	add    $0x4,%esi
886ccc:	3b f8                	cmp    %eax,%edi
886cce:	0f 8c be fe ff ff    	jl     0x886b92
886cd4:	e9 08 03 00 00       	jmp    0x886fe1
886cd9:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
886cdf:	e8 be 28 b8 ff       	call   0x4095a2
886ce4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
886ce8:	6a 00                	push   $0x0
886cea:	ff 15 2c 32 d8 00    	call   *0xd8322c
886cf0:	50                   	push   %eax
886cf1:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
886cf7:	e8 6f 50 b8 ff       	call   0x40bd6b
886cfc:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
886d02:	50                   	push   %eax
886d03:	6a 18                	push   $0x18
886d05:	ff b7 8c 00 00 00    	push   0x8c(%edi)
886d0b:	ff 15 44 32 d8 00    	call   *0xd83244
886d11:	85 c0                	test   %eax,%eax
886d13:	0f 84 bd 02 00 00    	je     0x886fd6
886d19:	8b 87 8c 00 00 00    	mov    0x8c(%edi),%eax
886d1f:	85 c0                	test   %eax,%eax
886d21:	74 14                	je     0x886d37
886d23:	50                   	push   %eax
886d24:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
886d2a:	ff 15 cc 31 d8 00    	call   *0xd831cc
886d30:	8b f0                	mov    %eax,%esi
886d32:	89 45 8c             	mov    %eax,-0x74(%ebp)
886d35:	eb 05                	jmp    0x886d3c
886d37:	33 f6                	xor    %esi,%esi
886d39:	89 75 8c             	mov    %esi,-0x74(%ebp)
886d3c:	85 f6                	test   %esi,%esi
886d3e:	0f 84 92 02 00 00    	je     0x886fd6
886d44:	8b 8d e4 fe ff ff    	mov    -0x11c(%ebp),%ecx
886d4a:	8b 85 e0 fe ff ff    	mov    -0x120(%ebp),%eax
886d50:	51                   	push   %ecx
886d51:	50                   	push   %eax
886d52:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
886d58:	89 45 98             	mov    %eax,-0x68(%ebp)
886d5b:	89 4d 88             	mov    %ecx,-0x78(%ebp)
886d5e:	ff 15 6c 33 d8 00    	call   *0xd8336c
886d64:	8b d8                	mov    %eax,%ebx
886d66:	89 9d 68 ff ff ff    	mov    %ebx,-0x98(%ebp)
886d6c:	85 db                	test   %ebx,%ebx
886d6e:	75 12                	jne    0x886d82
886d70:	56                   	push   %esi
886d71:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
886d77:	ff 15 cc 31 d8 00    	call   *0xd831cc
886d7d:	e9 54 02 00 00       	jmp    0x886fd6
886d82:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
886d88:	e8 15 28 b8 ff       	call   0x4095a2
886d8d:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
886d93:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
886d97:	ff 15 2c 32 d8 00    	call   *0xd8322c
886d9d:	50                   	push   %eax
886d9e:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
886da4:	e8 c2 4f b8 ff       	call   0x40bd6b
886da9:	53                   	push   %ebx
886daa:	ff b5 48 ff ff ff    	push   -0xb8(%ebp)
886db0:	ff 15 cc 31 d8 00    	call   *0xd831cc
886db6:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
886dbc:	85 c0                	test   %eax,%eax
886dbe:	75 19                	jne    0x886dd9
886dc0:	56                   	push   %esi
886dc1:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
886dc7:	ff 15 cc 31 d8 00    	call   *0xd831cc
886dcd:	53                   	push   %ebx
886dce:	ff 15 78 31 d8 00    	call   *0xd83178
886dd4:	e9 f2 01 00 00       	jmp    0x886fcb
886dd9:	68 20 00 cc 00       	push   $0xcc0020
886dde:	33 c0                	xor    %eax,%eax
886de0:	50                   	push   %eax
886de1:	50                   	push   %eax
886de2:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
886de8:	ff 75 88             	push   -0x78(%ebp)
886deb:	ff 75 98             	push   -0x68(%ebp)
886dee:	50                   	push   %eax
886def:	50                   	push   %eax
886df0:	ff b5 48 ff ff ff    	push   -0xb8(%ebp)
886df6:	ff 15 bc 31 d8 00    	call   *0xd831bc
886dfc:	8b 8f a8 00 00 00    	mov    0xa8(%edi),%ecx
886e02:	89 4d 90             	mov    %ecx,-0x70(%ebp)
886e05:	83 f9 ff             	cmp    $0xffffffff,%ecx
886e08:	75 0b                	jne    0x886e15
886e0a:	e8 27 15 b9 ff       	call   0x418336
886e0f:	8b 40 1c             	mov    0x1c(%eax),%eax
886e12:	89 45 90             	mov    %eax,-0x70(%ebp)
886e15:	83 65 94 00          	andl   $0x0,-0x6c(%ebp)
886e19:	8b 45 98             	mov    -0x68(%ebp),%eax
886e1c:	85 c0                	test   %eax,%eax
886e1e:	0f 8e 58 01 00 00    	jle    0x886f7c
886e24:	8b 7d 94             	mov    -0x6c(%ebp),%edi
886e27:	8b 75 88             	mov    -0x78(%ebp),%esi
886e2a:	33 db                	xor    %ebx,%ebx
886e2c:	85 f6                	test   %esi,%esi
886e2e:	0f 8e 30 01 00 00    	jle    0x886f64
886e34:	53                   	push   %ebx
886e35:	57                   	push   %edi
886e36:	ff b5 48 ff ff ff    	push   -0xb8(%ebp)
886e3c:	ff 15 94 31 d8 00    	call   *0xd83194
886e42:	89 45 94             	mov    %eax,-0x6c(%ebp)
886e45:	3b 45 90             	cmp    -0x70(%ebp),%eax
886e48:	0f 84 0a 01 00 00    	je     0x886f58
886e4e:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
886e54:	51                   	push   %ecx
886e55:	8d 8d fc fe ff ff    	lea    -0x104(%ebp),%ecx
886e5b:	51                   	push   %ecx
886e5c:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
886e5f:	51                   	push   %ecx
886e60:	50                   	push   %eax
886e61:	e8 3f 05 b9 ff       	call   0x4173a5
886e66:	dd 45 84             	fldl   -0x7c(%ebp)
886e69:	dc 85 3c ff ff ff    	faddl  -0xc4(%ebp)
886e6f:	d9 e8                	fld1
886e71:	d8 d1                	fcom   %st(1)
886e73:	df e0                	fnstsw %ax
886e75:	d9 ee                	fldz
886e77:	f6 c4 05             	test   $0x5,%ah
886e7a:	7b 0f                	jnp    0x886e8b
886e7c:	d8 d2                	fcom   %st(2)
886e7e:	df e0                	fnstsw %ax
886e80:	f6 c4 41             	test   $0x41,%ah
886e83:	75 06                	jne    0x886e8b
886e85:	dd da                	fstp   %st(2)
886e87:	d9 c1                	fld    %st(1)
886e89:	eb 15                	jmp    0x886ea0
886e8b:	d9 c9                	fxch   %st(1)
886e8d:	d8 d2                	fcom   %st(2)
886e8f:	df e0                	fnstsw %ax
886e91:	f6 c4 05             	test   $0x5,%ah
886e94:	7a 2e                	jp     0x886ec4
886e96:	dd da                	fstp   %st(2)
886e98:	d9 c1                	fld    %st(1)
886e9a:	d9 c9                	fxch   %st(1)
886e9c:	d9 ca                	fxch   %st(2)
886e9e:	d9 c9                	fxch   %st(1)
886ea0:	dd 85 fc fe ff ff    	fldl   -0x104(%ebp)
886ea6:	dc 85 34 ff ff ff    	faddl  -0xcc(%ebp)
886eac:	d8 d2                	fcom   %st(2)
886eae:	df e0                	fnstsw %ax
886eb0:	f6 c4 41             	test   $0x41,%ah
886eb3:	74 15                	je     0x886eca
886eb5:	d8 d3                	fcom   %st(3)
886eb7:	df e0                	fnstsw %ax
886eb9:	f6 c4 05             	test   $0x5,%ah
886ebc:	7a 0c                	jp     0x886eca
886ebe:	dd d8                	fstp   %st(0)
886ec0:	d9 c2                	fld    %st(2)
886ec2:	eb 13                	jmp    0x886ed7
886ec4:	d9 c9                	fxch   %st(1)
886ec6:	d9 ca                	fxch   %st(2)
886ec8:	eb d6                	jmp    0x886ea0
886eca:	d8 d2                	fcom   %st(2)
886ecc:	df e0                	fnstsw %ax
886ece:	f6 c4 41             	test   $0x41,%ah
886ed1:	75 04                	jne    0x886ed7
886ed3:	dd d8                	fstp   %st(0)
886ed5:	d9 c1                	fld    %st(1)
886ed7:	dd 85 f4 fe ff ff    	fldl   -0x10c(%ebp)
886edd:	d9 c0                	fld    %st(0)
886edf:	dc 85 2c ff ff ff    	faddl  -0xd4(%ebp)
886ee5:	d8 d4                	fcom   %st(4)
886ee7:	df e0                	fnstsw %ax
886ee9:	f6 c4 41             	test   $0x41,%ah
886eec:	74 0f                	je     0x886efd
886eee:	d8 d5                	fcom   %st(5)
886ef0:	df e0                	fnstsw %ax
886ef2:	f6 c4 05             	test   $0x5,%ah
886ef5:	7a 06                	jp     0x886efd
886ef7:	dd d8                	fstp   %st(0)
886ef9:	dd db                	fstp   %st(3)
886efb:	eb 13                	jmp    0x886f10
886efd:	dd dd                	fstp   %st(5)
886eff:	d9 cb                	fxch   %st(3)
886f01:	d8 d4                	fcom   %st(4)
886f03:	df e0                	fnstsw %ax
886f05:	f6 c4 05             	test   $0x5,%ah
886f08:	7a 04                	jp     0x886f0e
886f0a:	dd dc                	fstp   %st(4)
886f0c:	eb 02                	jmp    0x886f10
886f0e:	dd d8                	fstp   %st(0)
886f10:	dd 05 f0 b7 bd 00    	fldl   0xbdb7f0
886f16:	dc 9d 54 ff ff ff    	fcompl -0xac(%ebp)
886f1c:	df e0                	fnstsw %ax
886f1e:	f6 c4 05             	test   $0x5,%ah
886f21:	7a 04                	jp     0x886f27
886f23:	dd db                	fstp   %st(3)
886f25:	eb 08                	jmp    0x886f2f
886f27:	dd da                	fstp   %st(2)
886f29:	d9 c9                	fxch   %st(1)
886f2b:	d9 ca                	fxch   %st(2)
886f2d:	d9 c9                	fxch   %st(1)
886f2f:	83 ec 18             	sub    $0x18,%esp
886f32:	d9 ca                	fxch   %st(2)
886f34:	dd 5c 24 10          	fstpl  0x10(%esp)
886f38:	dd 5c 24 08          	fstpl  0x8(%esp)
886f3c:	dd 1c 24             	fstpl  (%esp)
886f3f:	e8 80 ed ba ff       	call   0x435cc4
886f44:	39 45 94             	cmp    %eax,-0x6c(%ebp)
886f47:	74 0f                	je     0x886f58
886f49:	50                   	push   %eax
886f4a:	53                   	push   %ebx
886f4b:	57                   	push   %edi
886f4c:	ff b5 48 ff ff ff    	push   -0xb8(%ebp)
886f52:	ff 15 80 33 d8 00    	call   *0xd83380
886f58:	43                   	inc    %ebx
886f59:	3b de                	cmp    %esi,%ebx
886f5b:	0f 8c d3 fe ff ff    	jl     0x886e34
886f61:	8b 45 98             	mov    -0x68(%ebp),%eax
886f64:	47                   	inc    %edi
886f65:	3b f8                	cmp    %eax,%edi
886f67:	0f 8c bd fe ff ff    	jl     0x886e2a
886f6d:	8b bd 70 ff ff ff    	mov    -0x90(%ebp),%edi
886f73:	8b 75 8c             	mov    -0x74(%ebp),%esi
886f76:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
886f7c:	ff b5 60 ff ff ff    	push   -0xa0(%ebp)
886f82:	ff b5 48 ff ff ff    	push   -0xb8(%ebp)
886f88:	ff 15 cc 31 d8 00    	call   *0xd831cc
886f8e:	56                   	push   %esi
886f8f:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
886f95:	ff 15 cc 31 d8 00    	call   *0xd831cc
886f9b:	ff b7 8c 00 00 00    	push   0x8c(%edi)
886fa1:	ff 15 78 31 d8 00    	call   *0xd83178
886fa7:	8d b7 90 00 00 00    	lea    0x90(%edi),%esi
886fad:	89 9f 8c 00 00 00    	mov    %ebx,0x8c(%edi)
886fb3:	56                   	push   %esi
886fb4:	e8 9e a0 ba ff       	call   0x431057
886fb9:	83 26 00             	andl   $0x0,(%esi)
886fbc:	8d b7 94 00 00 00    	lea    0x94(%edi),%esi
886fc2:	56                   	push   %esi
886fc3:	e8 8f a0 ba ff       	call   0x431057
886fc8:	83 26 00             	andl   $0x0,(%esi)