647b66:	8d 4d d0             	lea    -0x30(%ebp),%ecx
647b69:	8d 45 d8             	lea    -0x28(%ebp),%eax
647b6c:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
647b70:	51                   	push   %ecx
647b71:	50                   	push   %eax
647b72:	e8 d9 33 ff ff       	call   0x63af50
647b77:	83 c4 08             	add    $0x8,%esp
647b7a:	8b ce                	mov    %esi,%ecx
647b7c:	ff 75 d0             	push   -0x30(%ebp)
647b7f:	e8 5c f7 ff ff       	call   0x6472e0
647b84:	8a d8                	mov    %al,%bl
647b86:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
647b8d:	8b 45 ec             	mov    -0x14(%ebp),%eax
647b90:	83 f8 08             	cmp    $0x8,%eax
647b93:	72 4b                	jb     0x647be0
647b95:	8b 4d d8             	mov    -0x28(%ebp),%ecx
647b98:	40                   	inc    %eax
647b99:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
647b9e:	0f 87 c7 00 00 00    	ja     0x647c6b
647ba4:	03 c0                	add    %eax,%eax
647ba6:	3d 00 10 00 00       	cmp    $0x1000,%eax
647bab:	72 2a                	jb     0x647bd7
647bad:	f6 c1 1f             	test   $0x1f,%cl
647bb0:	0f 85 b5 00 00 00    	jne    0x647c6b
647bb6:	8b 41 fc             	mov    -0x4(%ecx),%eax
647bb9:	3b c1                	cmp    %ecx,%eax
647bbb:	0f 83 aa 00 00 00    	jae    0x647c6b
647bc1:	2b c8                	sub    %eax,%ecx
647bc3:	83 f9 04             	cmp    $0x4,%ecx
647bc6:	0f 82 9f 00 00 00    	jb     0x647c6b
647bcc:	83 f9 23             	cmp    $0x23,%ecx
647bcf:	0f 87 96 00 00 00    	ja     0x647c6b
647bd5:	8b c8                	mov    %eax,%ecx
647bd7:	51                   	push   %ecx
647bd8:	e8 f3 88 ea ff       	call   0x4f04d0
647bdd:	83 c4 04             	add    $0x4,%esp
647be0:	33 c0                	xor    %eax,%eax
647be2:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
647be9:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
647bf0:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
647bf4:	84 db                	test   %bl,%bl
647bf6:	0f 84 b3 00 00 00    	je     0x647caf
647bfc:	83 7e 38 0b          	cmpl   $0xb,0x38(%esi)
647c00:	0f 85 e7 00 00 00    	jne    0x647ced
647c06:	8b 46 24             	mov    0x24(%esi),%eax
647c09:	8b ce                	mov    %esi,%ecx
647c0b:	c6 80 5a 01 00 00 01 	movb   $0x1,0x15a(%eax)
647c12:	e8 09 f0 ff ff       	call   0x646c20
647c17:	80 7d d6 00          	cmpb   $0x0,-0x2a(%ebp)
647c1b:	0f 85 cc 00 00 00    	jne    0x647ced
647c21:	e8 ba e7 fe ff       	call   0x6363e0
647c26:	68 20 38 6e 00       	push   $0x6e3820
647c2b:	50                   	push   %eax
647c2c:	8b 08                	mov    (%eax),%ecx
647c2e:	ff 51 04             	call   *0x4(%ecx)
647c31:	8b 5d cc             	mov    -0x34(%ebp),%ebx
647c34:	83 c4 08             	add    $0x8,%esp
647c37:	c6 45 d6 01          	movb   $0x1,-0x2a(%ebp)
647c3b:	e9 50 fe ff ff       	jmp    0x647a90
647c40:	ff 15 e0 21 68 00    	call   *0x6821e0
647c46:	50                   	push   %eax
647c47:	8b ce                	mov    %esi,%ecx
647c49:	e8 82 f8 ff ff       	call   0x6474d0
647c4e:	e8 8d e7 fe ff       	call   0x6363e0
647c53:	68 58 37 6e 00       	push   $0x6e3758
647c58:	68 fc 56 6e 00       	push   $0x6e56fc
647c5d:	50                   	push   %eax
647c5e:	8b 08                	mov    (%eax),%ecx
647c60:	ff 51 24             	call   *0x24(%ecx)
647c63:	83 c4 0c             	add    $0xc,%esp
647c66:	e9 82 00 00 00       	jmp    0x647ced
647c6b:	e8 bf 52 fa ff       	call   0x5ecf2f
647c70:	8b 45 ec             	mov    -0x14(%ebp),%eax
647c73:	83 f8 08             	cmp    $0x8,%eax
647c76:	72 37                	jb     0x647caf
647c78:	8b 4d d8             	mov    -0x28(%ebp),%ecx
647c7b:	40                   	inc    %eax
647c7c:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
647c81:	77 e8                	ja     0x647c6b
647c83:	03 c0                	add    %eax,%eax
647c85:	3d 00 10 00 00       	cmp    $0x1000,%eax
647c8a:	72 1a                	jb     0x647ca6
647c8c:	f6 c1 1f             	test   $0x1f,%cl
647c8f:	75 da                	jne    0x647c6b
647c91:	8b 41 fc             	mov    -0x4(%ecx),%eax
647c94:	3b c1                	cmp    %ecx,%eax
647c96:	73 d3                	jae    0x647c6b
647c98:	2b c8                	sub    %eax,%ecx
647c9a:	83 f9 04             	cmp    $0x4,%ecx
647c9d:	72 cc                	jb     0x647c6b
647c9f:	83 f9 23             	cmp    $0x23,%ecx
647ca2:	77 c7                	ja     0x647c6b
647ca4:	8b c8                	mov    %eax,%ecx
647ca6:	51                   	push   %ecx
647ca7:	e8 24 88 ea ff       	call   0x4f04d0
647cac:	83 c4 04             	add    $0x4,%esp
647caf:	8a 45 d7             	mov    -0x29(%ebp),%al
647cb2:	eb 3b                	jmp    0x647cef
647cb4:	e8 27 e7 fe ff       	call   0x6363e0
647cb9:	68 a0 37 6e 00       	push   $0x6e37a0
647cbe:	50                   	push   %eax
647cbf:	8b 08                	mov    (%eax),%ecx
647cc1:	ff 51 04             	call   *0x4(%ecx)
647cc4:	83 c4 08             	add    $0x8,%esp
647cc7:	ff 15 e0 21 68 00    	call   *0x6821e0
647ccd:	50                   	push   %eax
647cce:	8b ce                	mov    %esi,%ecx
647cd0:	e8 fb f7 ff ff       	call   0x6474d0
647cd5:	eb 16                	jmp    0x647ced
647cd7:	ff b6 b0 00 00 00    	push   0xb0(%esi)
647cdd:	ff 15 8c 24 68 00    	call   *0x68248c
647ce3:	c7 86 b0 00 00 00 00 	movl   $0x0,0xb0(%esi)
647cea:	00 00 00
647ced:	32 c0                	xor    %al,%al
647cef:	8b 4d f4             	mov    -0xc(%ebp),%ecx
647cf2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
647cf9:	59                   	pop    %ecx
647cfa:	5f                   	pop    %edi
647cfb:	5e                   	pop    %esi
647cfc:	5b                   	pop    %ebx
647cfd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
647d00:	33 cd                	xor    %ebp,%ecx
647d02:	e8 d3 97 f9 ff       	call   0x5e14da
647d07:	8b e5                	mov    %ebp,%esp
647d09:	5d                   	pop    %ebp
647d0a:	c2 08 00             	ret    $0x8
647d0d:	cc                   	int3
647d0e:	cc                   	int3
647d0f:	cc                   	int3
647d10:	55                   	push   %ebp
647d11:	8b ec                	mov    %esp,%ebp
647d13:	6a ff                	push   $0xffffffff
647d15:	68 00 4e 66 00       	push   $0x664e00
647d1a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
647d20:	50                   	push   %eax
647d21:	83 ec 1c             	sub    $0x1c,%esp
647d24:	a1 d4 89 72 00       	mov    0x7289d4,%eax
647d29:	33 c5                	xor    %ebp,%eax
647d2b:	89 45 f0             	mov    %eax,-0x10(%ebp)
647d2e:	56                   	push   %esi
647d2f:	57                   	push   %edi
647d30:	50                   	push   %eax
647d31:	8d 45 f4             	lea    -0xc(%ebp),%eax
647d34:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
647d3a:	8b f1                	mov    %ecx,%esi
647d3c:	8b 45 08             	mov    0x8(%ebp),%eax
647d3f:	8d 4e 44             	lea    0x44(%esi),%ecx
647d42:	89 46 38             	mov    %eax,0x38(%esi)
647d45:	8b 45 0c             	mov    0xc(%ebp),%eax
647d48:	89 46 3c             	mov    %eax,0x3c(%esi)
647d4b:	8d 45 10             	lea    0x10(%ebp),%eax
647d4e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
647d55:	3b c8                	cmp    %eax,%ecx
647d57:	74 0a                	je     0x647d63
647d59:	6a ff                	push   $0xffffffff
647d5b:	6a 00                	push   $0x0
647d5d:	50                   	push   %eax
647d5e:	e8 8d 0b df ff       	call   0x4388f0
647d63:	83 7e 38 0d          	cmpl   $0xd,0x38(%esi)
647d67:	0f 85 92 00 00 00    	jne    0x647dff
647d6d:	33 c0                	xor    %eax,%eax
647d6f:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
647d76:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
647d7d:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
647d81:	8d 45 d8             	lea    -0x28(%ebp),%eax
647d84:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
647d88:	50                   	push   %eax
647d89:	6a 24                	push   $0x24
647d8b:	8b ce                	mov    %esi,%ecx
647d8d:	e8 9e f2 ff ff       	call   0x647030
647d92:	84 c0                	test   %al,%al
647d94:	74 4d                	je     0x647de3
647d96:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
647d9a:	8d 45 d8             	lea    -0x28(%ebp),%eax
647d9d:	8d 7e 40             	lea    0x40(%esi),%edi
647da0:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
647da4:	57                   	push   %edi
647da5:	50                   	push   %eax
647da6:	e8 a5 31 ff ff       	call   0x63af50
647dab:	8b 46 24             	mov    0x24(%esi),%eax
647dae:	83 c4 08             	add    $0x8,%esp
647db1:	8b 80 60 01 00 00    	mov    0x160(%eax),%eax
647db7:	39 07                	cmp    %eax,(%edi)
647db9:	76 2f                	jbe    0x647dea
647dbb:	e8 20 e6 fe ff       	call   0x6363e0
647dc0:	8b 4e 24             	mov    0x24(%esi),%ecx
647dc3:	8b 10                	mov    (%eax),%edx
647dc5:	8b 89 60 01 00 00    	mov    0x160(%ecx),%ecx
647dcb:	51                   	push   %ecx
647dcc:	ff 37                	push   (%edi)
647dce:	68 78 2f 6e 00       	push   $0x6e2f78
647dd3:	50                   	push   %eax
647dd4:	ff 52 14             	call   *0x14(%edx)
647dd7:	83 c4 10             	add    $0x10,%esp
647dda:	c7 46 38 05 00 00 00 	movl   $0x5,0x38(%esi)
647de1:	eb 07                	jmp    0x647dea
647de3:	c7 46 40 00 00 00 00 	movl   $0x0,0x40(%esi)
647dea:	8b 45 ec             	mov    -0x14(%ebp),%eax
647ded:	83 f8 08             	cmp    $0x8,%eax
647df0:	72 0d                	jb     0x647dff
647df2:	40                   	inc    %eax
647df3:	8d 4d d8             	lea    -0x28(%ebp),%ecx
647df6:	50                   	push   %eax
647df7:	ff 75 d8             	push   -0x28(%ebp)
647dfa:	e8 e1 0f df ff       	call   0x438de0
647dff:	8b 45 24             	mov    0x24(%ebp),%eax
647e02:	83 f8 08             	cmp    $0x8,%eax
647e05:	72 0d                	jb     0x647e14
647e07:	40                   	inc    %eax
647e08:	8d 4d 10             	lea    0x10(%ebp),%ecx
647e0b:	50                   	push   %eax
647e0c:	ff 75 10             	push   0x10(%ebp)
647e0f:	e8 cc 0f df ff       	call   0x438de0
647e14:	8b 4d f4             	mov    -0xc(%ebp),%ecx
647e17:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
647e1e:	59                   	pop    %ecx
647e1f:	5f                   	pop    %edi
647e20:	5e                   	pop    %esi
647e21:	8b 4d f0             	mov    -0x10(%ebp),%ecx
647e24:	33 cd                	xor    %ebp,%ecx
647e26:	e8 af 96 f9 ff       	call   0x5e14da
647e2b:	8b e5                	mov    %ebp,%esp
647e2d:	5d                   	pop    %ebp
647e2e:	c2 20 00             	ret    $0x20
647e31:	cc                   	int3
647e32:	cc                   	int3
647e33:	cc                   	int3
647e34:	cc                   	int3
647e35:	cc                   	int3
647e36:	cc                   	int3
647e37:	cc                   	int3
647e38:	cc                   	int3
647e39:	cc                   	int3
647e3a:	cc                   	int3
647e3b:	cc                   	int3
647e3c:	cc                   	int3
647e3d:	cc                   	int3
647e3e:	cc                   	int3
647e3f:	cc                   	int3
647e40:	55                   	push   %ebp
647e41:	8b ec                	mov    %esp,%ebp
647e43:	83 ec 08             	sub    $0x8,%esp
647e46:	56                   	push   %esi
647e47:	57                   	push   %edi
647e48:	8b 7d 08             	mov    0x8(%ebp),%edi
647e4b:	85 ff                	test   %edi,%edi
647e4d:	74 46                	je     0x647e95
647e4f:	8d 45 f8             	lea    -0x8(%ebp),%eax
647e52:	50                   	push   %eax
647e53:	ff 15 48 23 68 00    	call   *0x682348
647e59:	8b 45 fc             	mov    -0x4(%ebp),%eax
647e5c:	33 c9                	xor    %ecx,%ecx
647e5e:	0b 4d f8             	or     -0x8(%ebp),%ecx
647e61:	6a 00                	push   $0x0
647e63:	6a 0a                	push   $0xa
647e65:	50                   	push   %eax
647e66:	51                   	push   %ecx
647e67:	e8 14 a2 f9 ff       	call   0x5e2080
647e6c:	8b f0                	mov    %eax,%esi
647e6e:	6a 00                	push   $0x0
647e70:	81 c6 00 c0 79 b7    	add    $0xb779c000,%esi
647e76:	68 40 42 0f 00       	push   $0xf4240
647e7b:	81 d2 69 a1 d6 ff    	adc    $0xffd6a169,%edx
647e81:	52                   	push   %edx
647e82:	56                   	push   %esi
647e83:	e8 f8 a1 f9 ff       	call   0x5e2080
647e88:	89 07                	mov    %eax,(%edi)
647e8a:	69 c0 40 42 0f 00    	imul   $0xf4240,%eax,%eax
647e90:	2b f0                	sub    %eax,%esi
647e92:	89 77 04             	mov    %esi,0x4(%edi)
647e95:	8b 75 0c             	mov    0xc(%ebp),%esi
647e98:	85 f6                	test   %esi,%esi
647e9a:	74 46                	je     0x647ee2
647e9c:	83 3d 18 26 73 00 00 	cmpl   $0x0,0x732618
647ea3:	75 0b                	jne    0x647eb0
647ea5:	e8 6c 08 fc ff       	call   0x608716
647eaa:	ff 05 18 26 73 00    	incl   0x732618
647eb0:	8d 45 08             	lea    0x8(%ebp),%eax
647eb3:	50                   	push   %eax
647eb4:	e8 12 00 fc ff       	call   0x607ecb
647eb9:	8d 45 0c             	lea    0xc(%ebp),%eax
647ebc:	50                   	push   %eax
647ebd:	e8 b1 ff fb ff       	call   0x607e73
647ec2:	b8 89 88 88 88       	mov    $0x88888889,%eax
647ec7:	83 c4 08             	add    $0x8,%esp
647eca:	f7 6d 08             	imull  0x8(%ebp)
647ecd:	03 55 08             	add    0x8(%ebp),%edx
647ed0:	c1 fa 05             	sar    $0x5,%edx
647ed3:	8b c2                	mov    %edx,%eax
647ed5:	c1 e8 1f             	shr    $0x1f,%eax
647ed8:	03 c2                	add    %edx,%eax
647eda:	89 06                	mov    %eax,(%esi)
647edc:	8b 45 0c             	mov    0xc(%ebp),%eax
647edf:	89 46 04             	mov    %eax,0x4(%esi)
647ee2:	5f                   	pop    %edi
647ee3:	33 c0                	xor    %eax,%eax
647ee5:	5e                   	pop    %esi
647ee6:	8b e5                	mov    %ebp,%esp
647ee8:	5d                   	pop    %ebp
647ee9:	c3                   	ret
647eea:	cc                   	int3
647eeb:	cc                   	int3
647eec:	cc                   	int3
647eed:	cc                   	int3
647eee:	cc                   	int3
647eef:	cc                   	int3
647ef0:	55                   	push   %ebp
647ef1:	8b ec                	mov    %esp,%ebp
647ef3:	8b 55 0c             	mov    0xc(%ebp),%edx
647ef6:	56                   	push   %esi
647ef7:	66 83 3a 00          	cmpw   $0x0,(%edx)
647efb:	75 04                	jne    0x647f01
647efd:	33 c0                	xor    %eax,%eax
647eff:	eb 14                	jmp    0x647f15
647f01:	8b c2                	mov    %edx,%eax
647f03:	8d 70 02             	lea    0x2(%eax),%esi
647f06:	66 8b 08             	mov    (%eax),%cx
647f09:	83 c0 02             	add    $0x2,%eax
647f0c:	66 85 c9             	test   %cx,%cx
647f0f:	75 f5                	jne    0x647f06
647f11:	2b c6                	sub    %esi,%eax
647f13:	d1 f8                	sar    $1,%eax
647f15:	8b 4d 08             	mov    0x8(%ebp),%ecx
647f18:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
647f1c:	8d 71 10             	lea    0x10(%ecx),%esi
647f1f:	72 02                	jb     0x647f23
647f21:	8b 09                	mov    (%ecx),%ecx
647f23:	50                   	push   %eax
647f24:	52                   	push   %edx
647f25:	ff 36                	push   (%esi)
647f27:	51                   	push   %ecx
647f28:	e8 33 a7 df ff       	call   0x442660
647f2d:	83 c4 10             	add    $0x10,%esp
647f30:	f7 d8                	neg    %eax
647f32:	1b c0                	sbb    %eax,%eax
647f34:	40                   	inc    %eax
647f35:	5e                   	pop    %esi
647f36:	5d                   	pop    %ebp
647f37:	c3                   	ret
647f38:	cc                   	int3
647f39:	cc                   	int3
647f3a:	cc                   	int3
647f3b:	cc                   	int3
647f3c:	cc                   	int3
647f3d:	cc                   	int3
647f3e:	cc                   	int3
647f3f:	cc                   	int3
647f40:	55                   	push   %ebp
647f41:	8b ec                	mov    %esp,%ebp
647f43:	6a ff                	push   $0xffffffff