609a79:	5e                   	pop    %esi
609a7a:	5b                   	pop    %ebx
609a7b:	c9                   	leave
609a7c:	c3                   	ret
609a7d:	8b 75 18             	mov    0x18(%ebp),%esi
609a80:	8b 7d e4             	mov    -0x1c(%ebp),%edi
609a83:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
609a87:	74 25                	je     0x609aae
609a89:	85 ff                	test   %edi,%edi
609a8b:	74 19                	je     0x609aa6
609a8d:	8b 0e                	mov    (%esi),%ecx
609a8f:	8b c1                	mov    %ecx,%eax
609a91:	c1 f8 06             	sar    $0x6,%eax
609a94:	83 e1 3f             	and    $0x3f,%ecx
609a97:	6b c9 38             	imul   $0x38,%ecx,%ecx
609a9a:	8b 04 85 b8 10 73 00 	mov    0x7310b8(,%eax,4),%eax
609aa1:	80 64 08 28 fe       	andb   $0xfe,0x28(%eax,%ecx,1)
609aa6:	ff 36                	push   (%esi)
609aa8:	e8 01 f9 ff ff       	call   0x6093ae
609aad:	59                   	pop    %ecx
609aae:	c3                   	ret
609aaf:	6a 10                	push   $0x10
609ab1:	68 70 21 70 00       	push   $0x702170
609ab6:	e8 55 8a fd ff       	call   0x5e2510
609abb:	8b 75 18             	mov    0x18(%ebp),%esi
609abe:	85 f6                	test   %esi,%esi
609ac0:	75 13                	jne    0x609ad5
609ac2:	e8 32 35 fe ff       	call   0x5ecff9
609ac7:	6a 16                	push   $0x16
609ac9:	5e                   	pop    %esi
609aca:	89 30                	mov    %esi,(%eax)
609acc:	e8 4e 34 fe ff       	call   0x5ecf1f
609ad1:	8b c6                	mov    %esi,%eax
609ad3:	eb 59                	jmp    0x609b2e
609ad5:	83 0e ff             	orl    $0xffffffff,(%esi)
609ad8:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
609adc:	74 e4                	je     0x609ac2
609ade:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
609ae2:	74 09                	je     0x609aed
609ae4:	f7 45 14 7f fe ff ff 	testl  $0xfffffe7f,0x14(%ebp)
609aeb:	75 d5                	jne    0x609ac2
609aed:	33 c0                	xor    %eax,%eax
609aef:	89 45 e0             	mov    %eax,-0x20(%ebp)
609af2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
609af5:	89 45 fc             	mov    %eax,-0x4(%ebp)
609af8:	ff 75 1c             	push   0x1c(%ebp)
609afb:	ff 75 14             	push   0x14(%ebp)
609afe:	ff 75 10             	push   0x10(%ebp)
609b01:	ff 75 0c             	push   0xc(%ebp)
609b04:	ff 75 08             	push   0x8(%ebp)
609b07:	56                   	push   %esi
609b08:	8d 45 e0             	lea    -0x20(%ebp),%eax
609b0b:	50                   	push   %eax
609b0c:	e8 f9 05 00 00       	call   0x60a10a
609b11:	83 c4 1c             	add    $0x1c,%esp
609b14:	8b f8                	mov    %eax,%edi
609b16:	89 7d e4             	mov    %edi,-0x1c(%ebp)
609b19:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
609b20:	e8 1f 00 00 00       	call   0x609b44
609b25:	85 ff                	test   %edi,%edi
609b27:	74 03                	je     0x609b2c
609b29:	83 0e ff             	orl    $0xffffffff,(%esi)
609b2c:	8b c7                	mov    %edi,%eax
609b2e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
609b31:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
609b38:	59                   	pop    %ecx
609b39:	5f                   	pop    %edi
609b3a:	5e                   	pop    %esi
609b3b:	5b                   	pop    %ebx
609b3c:	c9                   	leave
609b3d:	c3                   	ret
609b3e:	8b 75 18             	mov    0x18(%ebp),%esi
609b41:	8b 7d e4             	mov    -0x1c(%ebp),%edi
609b44:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
609b48:	74 25                	je     0x609b6f
609b4a:	85 ff                	test   %edi,%edi
609b4c:	74 19                	je     0x609b67
609b4e:	8b 0e                	mov    (%esi),%ecx
609b50:	8b c1                	mov    %ecx,%eax
609b52:	c1 f8 06             	sar    $0x6,%eax
609b55:	83 e1 3f             	and    $0x3f,%ecx
609b58:	6b c9 38             	imul   $0x38,%ecx,%ecx
609b5b:	8b 04 85 b8 10 73 00 	mov    0x7310b8(,%eax,4),%eax
609b62:	80 64 08 28 fe       	andb   $0xfe,0x28(%eax,%ecx,1)
609b67:	ff 36                	push   (%esi)
609b69:	e8 40 f8 ff ff       	call   0x6093ae
609b6e:	59                   	pop    %ecx
609b6f:	c3                   	ret
609b70:	8b ff                	mov    %edi,%edi
609b72:	55                   	push   %ebp
609b73:	8b ec                	mov    %esp,%ebp
609b75:	51                   	push   %ecx
609b76:	8b 45 08             	mov    0x8(%ebp),%eax
609b79:	8b 55 08             	mov    0x8(%ebp),%edx
609b7c:	83 e0 3f             	and    $0x3f,%eax
609b7f:	53                   	push   %ebx
609b80:	56                   	push   %esi
609b81:	57                   	push   %edi
609b82:	8b 7d 28             	mov    0x28(%ebp),%edi
609b85:	33 db                	xor    %ebx,%ebx
609b87:	c1 fa 06             	sar    $0x6,%edx
609b8a:	6b c8 38             	imul   $0x38,%eax,%ecx
609b8d:	88 1f                	mov    %bl,(%edi)
609b8f:	8b 04 95 b8 10 73 00 	mov    0x7310b8(,%edx,4),%eax
609b96:	38 5c 08 28          	cmp    %bl,0x28(%eax,%ecx,1)
609b9a:	0f 8d 11 02 00 00    	jge    0x609db1
609ba0:	8b 75 24             	mov    0x24(%ebp),%esi
609ba3:	f7 c6 00 40 07 00    	test   $0x74000,%esi
609ba9:	75 25                	jne    0x609bd0
609bab:	8d 45 fc             	lea    -0x4(%ebp),%eax
609bae:	89 5d fc             	mov    %ebx,-0x4(%ebp)
609bb1:	50                   	push   %eax
609bb2:	e8 18 5c ff ff       	call   0x5ff7cf
609bb7:	59                   	pop    %ecx
609bb8:	85 c0                	test   %eax,%eax
609bba:	0f 85 f8 01 00 00    	jne    0x609db8
609bc0:	8b 45 fc             	mov    -0x4(%ebp),%eax
609bc3:	25 00 40 07 00       	and    $0x74000,%eax
609bc8:	75 43                	jne    0x609c0d
609bca:	81 ce 00 40 00 00    	or     $0x4000,%esi
609bd0:	8b c6                	mov    %esi,%eax
609bd2:	25 00 40 07 00       	and    $0x74000,%eax
609bd7:	3d 00 40 00 00       	cmp    $0x4000,%eax
609bdc:	74 45                	je     0x609c23
609bde:	3d 00 00 01 00       	cmp    $0x10000,%eax
609be3:	74 2c                	je     0x609c11
609be5:	3d 00 40 01 00       	cmp    $0x14000,%eax
609bea:	74 25                	je     0x609c11
609bec:	3d 00 00 02 00       	cmp    $0x20000,%eax
609bf1:	74 2b                	je     0x609c1e
609bf3:	3d 00 40 02 00       	cmp    $0x24000,%eax
609bf8:	74 24                	je     0x609c1e
609bfa:	3d 00 00 04 00       	cmp    $0x40000,%eax
609bff:	74 07                	je     0x609c08
609c01:	3d 00 40 04 00       	cmp    $0x44000,%eax
609c06:	75 1d                	jne    0x609c25
609c08:	c6 07 01             	movb   $0x1,(%edi)
609c0b:	eb 18                	jmp    0x609c25
609c0d:	0b f0                	or     %eax,%esi
609c0f:	eb bf                	jmp    0x609bd0
609c11:	b9 01 03 00 00       	mov    $0x301,%ecx
609c16:	8b c6                	mov    %esi,%eax
609c18:	23 c1                	and    %ecx,%eax
609c1a:	3b c1                	cmp    %ecx,%eax
609c1c:	75 07                	jne    0x609c25
609c1e:	c6 07 02             	movb   $0x2,(%edi)
609c21:	eb 02                	jmp    0x609c25
609c23:	88 1f                	mov    %bl,(%edi)
609c25:	f7 c6 00 00 07 00    	test   $0x70000,%esi
609c2b:	0f 84 80 01 00 00    	je     0x609db1
609c31:	f6 45 0c 40          	testb  $0x40,0xc(%ebp)
609c35:	0f 85 76 01 00 00    	jne    0x609db1
609c3b:	8b 45 10             	mov    0x10(%ebp),%eax
609c3e:	ba 00 00 00 c0       	mov    $0xc0000000,%edx
609c43:	23 c2                	and    %edx,%eax
609c45:	8b cb                	mov    %ebx,%ecx
609c47:	8b f3                	mov    %ebx,%esi
609c49:	3d 00 00 00 40       	cmp    $0x40000000,%eax
609c4e:	74 0f                	je     0x609c5f
609c50:	3d 00 00 00 80       	cmp    $0x80000000,%eax
609c55:	74 31                	je     0x609c88
609c57:	3b c2                	cmp    %edx,%eax
609c59:	0f 85 52 01 00 00    	jne    0x609db1
609c5f:	8b 45 14             	mov    0x14(%ebp),%eax
609c62:	85 c0                	test   %eax,%eax
609c64:	0f 84 47 01 00 00    	je     0x609db1
609c6a:	83 f8 02             	cmp    $0x2,%eax
609c6d:	76 0e                	jbe    0x609c7d
609c6f:	83 f8 04             	cmp    $0x4,%eax
609c72:	76 5b                	jbe    0x609ccf
609c74:	83 f8 05             	cmp    $0x5,%eax
609c77:	0f 85 34 01 00 00    	jne    0x609db1
609c7d:	33 f6                	xor    %esi,%esi
609c7f:	46                   	inc    %esi
609c80:	85 c9                	test   %ecx,%ecx
609c82:	0f 84 d4 00 00 00    	je     0x609d5c
609c88:	6a 03                	push   $0x3
609c8a:	8d 45 fc             	lea    -0x4(%ebp),%eax
609c8d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
609c90:	50                   	push   %eax
609c91:	ff 75 08             	push   0x8(%ebp)
609c94:	e8 3c b5 ff ff       	call   0x6051d5
609c99:	83 c4 0c             	add    $0xc,%esp
609c9c:	85 c0                	test   %eax,%eax
609c9e:	7e 09                	jle    0x609ca9
609ca0:	8d 4e ff             	lea    -0x1(%esi),%ecx
609ca3:	f7 d9                	neg    %ecx
609ca5:	1b c9                	sbb    %ecx,%ecx
609ca7:	23 f1                	and    %ecx,%esi
609ca9:	83 f8 ff             	cmp    $0xffffffff,%eax
609cac:	74 49                	je     0x609cf7
609cae:	8b 4d fc             	mov    -0x4(%ebp),%ecx
609cb1:	83 f8 02             	cmp    $0x2,%eax
609cb4:	74 58                	je     0x609d0e
609cb6:	83 f8 03             	cmp    $0x3,%eax
609cb9:	0f 85 88 00 00 00    	jne    0x609d47
609cbf:	81 f9 ef bb bf 00    	cmp    $0xbfbbef,%ecx
609cc5:	75 47                	jne    0x609d0e
609cc7:	c6 07 01             	movb   $0x1,(%edi)
609cca:	e9 8d 00 00 00       	jmp    0x609d5c
609ccf:	6a 02                	push   $0x2
609cd1:	53                   	push   %ebx
609cd2:	53                   	push   %ebx
609cd3:	ff 75 08             	push   0x8(%ebp)
609cd6:	e8 e2 bb ff ff       	call   0x6058bd
609cdb:	83 c4 10             	add    $0x10,%esp
609cde:	0b c2                	or     %edx,%eax
609ce0:	74 7e                	je     0x609d60
609ce2:	53                   	push   %ebx
609ce3:	53                   	push   %ebx
609ce4:	53                   	push   %ebx
609ce5:	ff 75 08             	push   0x8(%ebp)
609ce8:	e8 d0 bb ff ff       	call   0x6058bd
609ced:	23 c2                	and    %edx,%eax
609cef:	83 c4 10             	add    $0x10,%esp
609cf2:	83 f8 ff             	cmp    $0xffffffff,%eax
609cf5:	75 0c                	jne    0x609d03
609cf7:	e8 fd 32 fe ff       	call   0x5ecff9
609cfc:	8b 00                	mov    (%eax),%eax
609cfe:	e9 b0 00 00 00       	jmp    0x609db3
609d03:	8b 4d 10             	mov    0x10(%ebp),%ecx
609d06:	c1 e9 1f             	shr    $0x1f,%ecx
609d09:	e9 72 ff ff ff       	jmp    0x609c80
609d0e:	0f b7 c1             	movzwl %cx,%eax
609d11:	3d fe ff 00 00       	cmp    $0xfffe,%eax
609d16:	75 0d                	jne    0x609d25
609d18:	e8 dc 32 fe ff       	call   0x5ecff9
609d1d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
609d23:	eb d2                	jmp    0x609cf7
609d25:	3d ff fe 00 00       	cmp    $0xfeff,%eax
609d2a:	75 1b                	jne    0x609d47
609d2c:	53                   	push   %ebx
609d2d:	53                   	push   %ebx
609d2e:	6a 02                	push   $0x2
609d30:	ff 75 08             	push   0x8(%ebp)
609d33:	e8 85 bb ff ff       	call   0x6058bd
609d38:	23 c2                	and    %edx,%eax
609d3a:	83 c4 10             	add    $0x10,%esp
609d3d:	83 f8 ff             	cmp    $0xffffffff,%eax
609d40:	74 b5                	je     0x609cf7
609d42:	c6 07 02             	movb   $0x2,(%edi)
609d45:	eb 15                	jmp    0x609d5c
609d47:	53                   	push   %ebx
609d48:	53                   	push   %ebx
609d49:	53                   	push   %ebx
609d4a:	ff 75 08             	push   0x8(%ebp)
609d4d:	e8 6b bb ff ff       	call   0x6058bd
609d52:	23 c2                	and    %edx,%eax
609d54:	83 c4 10             	add    $0x10,%esp
609d57:	83 f8 ff             	cmp    $0xffffffff,%eax
609d5a:	74 9b                	je     0x609cf7
609d5c:	85 f6                	test   %esi,%esi
609d5e:	74 51                	je     0x609db1
609d60:	0f be 07             	movsbl (%edi),%eax
609d63:	8b f3                	mov    %ebx,%esi
609d65:	89 5d fc             	mov    %ebx,-0x4(%ebp)
609d68:	83 e8 01             	sub    $0x1,%eax
609d6b:	74 11                	je     0x609d7e
609d6d:	83 e8 01             	sub    $0x1,%eax
609d70:	75 16                	jne    0x609d88
609d72:	6a 02                	push   $0x2
609d74:	c7 45 fc ff fe 00 00 	movl   $0xfeff,-0x4(%ebp)
609d7b:	5e                   	pop    %esi
609d7c:	eb 0e                	jmp    0x609d8c
609d7e:	6a 03                	push   $0x3
609d80:	c7 45 fc ef bb bf 00 	movl   $0xbfbbef,-0x4(%ebp)
609d87:	5e                   	pop    %esi
609d88:	85 f6                	test   %esi,%esi
609d8a:	74 25                	je     0x609db1
609d8c:	8b c6                	mov    %esi,%eax
609d8e:	2b c3                	sub    %ebx,%eax
609d90:	50                   	push   %eax
609d91:	8d 45 fc             	lea    -0x4(%ebp),%eax
609d94:	03 c3                	add    %ebx,%eax
609d96:	50                   	push   %eax
609d97:	ff 75 08             	push   0x8(%ebp)
609d9a:	e8 4d 0f 00 00       	call   0x60acec
609d9f:	83 c4 0c             	add    $0xc,%esp
609da2:	83 f8 ff             	cmp    $0xffffffff,%eax
609da5:	0f 84 4c ff ff ff    	je     0x609cf7
609dab:	03 d8                	add    %eax,%ebx
609dad:	3b f3                	cmp    %ebx,%esi
609daf:	7f db                	jg     0x609d8c
609db1:	33 c0                	xor    %eax,%eax
609db3:	5f                   	pop    %edi
609db4:	5e                   	pop    %esi
609db5:	5b                   	pop    %ebx
609db6:	c9                   	leave
609db7:	c3                   	ret
609db8:	53                   	push   %ebx
609db9:	53                   	push   %ebx
609dba:	53                   	push   %ebx
609dbb:	53                   	push   %ebx
609dbc:	53                   	push   %ebx
609dbd:	e8 8a 31 fe ff       	call   0x5ecf4c
609dc2:	cc                   	int3
609dc3:	8b ff                	mov    %edi,%edi
609dc5:	55                   	push   %ebp
609dc6:	8b ec                	mov    %esp,%ebp
609dc8:	8b 45 20             	mov    0x20(%ebp),%eax
609dcb:	0b 45 24             	or     0x24(%ebp),%eax
609dce:	6a 00                	push   $0x0
609dd0:	50                   	push   %eax
609dd1:	ff 75 18             	push   0x18(%ebp)
609dd4:	ff 75 0c             	push   0xc(%ebp)
609dd7:	ff 75 1c             	push   0x1c(%ebp)
609dda:	ff 75 14             	push   0x14(%ebp)
609ddd:	ff 75 08             	push   0x8(%ebp)
609de0:	ff 15 f0 21 68 00    	call   *0x6821f0
609de6:	5d                   	pop    %ebp
609de7:	c3                   	ret
609de8:	8b ff                	mov    %edi,%edi
609dea:	55                   	push   %ebp
609deb:	8b ec                	mov    %esp,%ebp
609ded:	8b 45 08             	mov    0x8(%ebp),%eax
609df0:	ba 00 07 00 00       	mov    $0x700,%edx
609df5:	23 c2                	and    %edx,%eax
609df7:	b9 00 04 00 00       	mov    $0x400,%ecx
609dfc:	3b c1                	cmp    %ecx,%eax
609dfe:	77 28                	ja     0x609e28
609e00:	74 21                	je     0x609e23
609e02:	85 c0                	test   %eax,%eax
609e04:	74 1d                	je     0x609e23
609e06:	3d 00 01 00 00       	cmp    $0x100,%eax
609e0b:	74 12                	je     0x609e1f
609e0d:	3d 00 02 00 00       	cmp    $0x200,%eax
609e12:	74 3b                	je     0x609e4f
609e14:	3d 00 03 00 00       	cmp    $0x300,%eax
609e19:	75 1f                	jne    0x609e3a
609e1b:	6a 02                	push   $0x2
609e1d:	eb 06                	jmp    0x609e25
609e1f:	6a 04                	push   $0x4
609e21:	eb 02                	jmp    0x609e25
609e23:	6a 03                	push   $0x3
609e25:	58                   	pop    %eax
609e26:	5d                   	pop    %ebp
609e27:	c3                   	ret
609e28:	3d 00 05 00 00       	cmp    $0x500,%eax
609e2d:	74 24                	je     0x609e53
609e2f:	3d 00 06 00 00       	cmp    $0x600,%eax
609e34:	74 19                	je     0x609e4f
609e36:	3b c2                	cmp    %edx,%eax
609e38:	74 19                	je     0x609e53
609e3a:	e8 ba 31 fe ff       	call   0x5ecff9
609e3f:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
609e45:	e8 d5 30 fe ff       	call   0x5ecf1f
609e4a:	83 c8 ff             	or     $0xffffffff,%eax
609e4d:	5d                   	pop    %ebp
609e4e:	c3                   	ret
609e4f:	6a 05                	push   $0x5