608a6b:	75 eb                	jne    0x608a58
608a6d:	83 0e 20             	orl    $0x20,(%esi)
608a70:	b3 01                	mov    $0x1,%bl
608a72:	8a cb                	mov    %bl,%cl
608a74:	eb 5e                	jmp    0x608ad4
608a76:	83 e8 54             	sub    $0x54,%eax
608a79:	74 4d                	je     0x608ac8
608a7b:	83 e8 0e             	sub    $0xe,%eax
608a7e:	74 40                	je     0x608ac0
608a80:	83 e8 01             	sub    $0x1,%eax
608a83:	74 2f                	je     0x608ab4
608a85:	83 e8 0b             	sub    $0xb,%eax
608a88:	74 1e                	je     0x608aa8
608a8a:	83 e8 06             	sub    $0x6,%eax
608a8d:	74 11                	je     0x608aa0
608a8f:	83 e8 04             	sub    $0x4,%eax
608a92:	0f 85 3e 01 00 00    	jne    0x608bd6
608a98:	56                   	push   %esi
608a99:	e8 49 03 00 00       	call   0x608de7
608a9e:	eb 2e                	jmp    0x608ace
608aa0:	56                   	push   %esi
608aa1:	e8 21 03 00 00       	call   0x608dc7
608aa6:	eb 26                	jmp    0x608ace
608aa8:	8d 45 ff             	lea    -0x1(%ebp),%eax
608aab:	50                   	push   %eax
608aac:	56                   	push   %esi
608aad:	e8 bd 02 00 00       	call   0x608d6f
608ab2:	eb b2                	jmp    0x608a66
608ab4:	8d 45 ff             	lea    -0x1(%ebp),%eax
608ab7:	50                   	push   %eax
608ab8:	56                   	push   %esi
608ab9:	e8 8f 02 00 00       	call   0x608d4d
608abe:	eb a6                	jmp    0x608a66
608ac0:	56                   	push   %esi
608ac1:	e8 67 02 00 00       	call   0x608d2d
608ac6:	eb 06                	jmp    0x608ace
608ac8:	56                   	push   %esi
608ac9:	e8 40 02 00 00       	call   0x608d0e
608ace:	59                   	pop    %ecx
608acf:	6a 0a                	push   $0xa
608ad1:	5a                   	pop    %edx
608ad2:	8a c8                	mov    %al,%cl
608ad4:	0f b6 c1             	movzbl %cl,%eax
608ad7:	f7 d8                	neg    %eax
608ad9:	1b c0                	sbb    %eax,%eax
608adb:	83 e0 02             	and    $0x2,%eax
608ade:	03 f8                	add    %eax,%edi
608ae0:	84 c9                	test   %cl,%cl
608ae2:	0f 85 18 ff ff ff    	jne    0x608a00
608ae8:	84 ff                	test   %bh,%bh
608aea:	74 03                	je     0x608aef
608aec:	83 c7 02             	add    $0x2,%edi
608aef:	6a 20                	push   $0x20
608af1:	58                   	pop    %eax
608af2:	eb 03                	jmp    0x608af7
608af4:	83 c7 02             	add    $0x2,%edi
608af7:	66 39 07             	cmp    %ax,(%edi)
608afa:	74 f8                	je     0x608af4
608afc:	84 ff                	test   %bh,%bh
608afe:	75 14                	jne    0x608b14
608b00:	33 c0                	xor    %eax,%eax
608b02:	66 39 07             	cmp    %ax,(%edi)
608b05:	0f 85 cb 00 00 00    	jne    0x608bd6
608b0b:	c6 46 08 01          	movb   $0x1,0x8(%esi)
608b0f:	e9 d2 00 00 00       	jmp    0x608be6
608b14:	6a 03                	push   $0x3
608b16:	68 e8 51 6d 00       	push   $0x6d51e8
608b1b:	57                   	push   %edi
608b1c:	e8 46 26 ff ff       	call   0x5fb167
608b21:	83 c4 0c             	add    $0xc,%esp
608b24:	85 c0                	test   %eax,%eax
608b26:	0f 85 aa 00 00 00    	jne    0x608bd6
608b2c:	83 c7 06             	add    $0x6,%edi
608b2f:	6a 20                	push   $0x20
608b31:	5b                   	pop    %ebx
608b32:	0f b7 07             	movzwl (%edi),%eax
608b35:	8b c8                	mov    %eax,%ecx
608b37:	66 3b c3             	cmp    %bx,%ax
608b3a:	75 0d                	jne    0x608b49
608b3c:	83 c7 02             	add    $0x2,%edi
608b3f:	0f b7 07             	movzwl (%edi),%eax
608b42:	66 3b c3             	cmp    %bx,%ax
608b45:	74 f5                	je     0x608b3c
608b47:	8b c8                	mov    %eax,%ecx
608b49:	66 83 f9 3d          	cmp    $0x3d,%cx
608b4d:	0f 85 83 00 00 00    	jne    0x608bd6
608b53:	83 c7 02             	add    $0x2,%edi
608b56:	66 39 1f             	cmp    %bx,(%edi)
608b59:	74 f8                	je     0x608b53
608b5b:	6a 05                	push   $0x5
608b5d:	68 f0 51 6d 00       	push   $0x6d51f0
608b62:	57                   	push   %edi
608b63:	e8 e6 e6 fe ff       	call   0x5f724e
608b68:	83 c4 0c             	add    $0xc,%esp
608b6b:	85 c0                	test   %eax,%eax
608b6d:	75 0a                	jne    0x608b79
608b6f:	81 0e 00 00 04 00    	orl    $0x40000,(%esi)
608b75:	6a 0a                	push   $0xa
608b77:	eb 3a                	jmp    0x608bb3
608b79:	6a 08                	push   $0x8
608b7b:	68 fc 51 6d 00       	push   $0x6d51fc
608b80:	57                   	push   %edi
608b81:	e8 c8 e6 fe ff       	call   0x5f724e
608b86:	83 c4 0c             	add    $0xc,%esp
608b89:	85 c0                	test   %eax,%eax
608b8b:	75 0a                	jne    0x608b97
608b8d:	81 0e 00 00 02 00    	orl    $0x20000,(%esi)
608b93:	6a 10                	push   $0x10
608b95:	eb 1c                	jmp    0x608bb3
608b97:	6a 07                	push   $0x7
608b99:	68 0c 52 6d 00       	push   $0x6d520c
608b9e:	57                   	push   %edi
608b9f:	e8 aa e6 fe ff       	call   0x5f724e
608ba4:	83 c4 0c             	add    $0xc,%esp
608ba7:	85 c0                	test   %eax,%eax
608ba9:	75 2b                	jne    0x608bd6
608bab:	81 0e 00 00 01 00    	orl    $0x10000,(%esi)
608bb1:	6a 0e                	push   $0xe
608bb3:	58                   	pop    %eax
608bb4:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
608bb7:	0f b7 01             	movzwl (%ecx),%eax
608bba:	8b d0                	mov    %eax,%edx
608bbc:	66 3b c3             	cmp    %bx,%ax
608bbf:	75 0d                	jne    0x608bce
608bc1:	8d 49 02             	lea    0x2(%ecx),%ecx
608bc4:	0f b7 01             	movzwl (%ecx),%eax
608bc7:	66 3b c3             	cmp    %bx,%ax
608bca:	74 f5                	je     0x608bc1
608bcc:	8b d0                	mov    %eax,%edx
608bce:	66 85 d2             	test   %dx,%dx
608bd1:	e9 2f ff ff ff       	jmp    0x608b05
608bd6:	e8 1e 44 fe ff       	call   0x5ecff9
608bdb:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
608be1:	e8 39 43 fe ff       	call   0x5ecf1f
608be6:	5f                   	pop    %edi
608be7:	8b c6                	mov    %esi,%eax
608be9:	5e                   	pop    %esi
608bea:	5b                   	pop    %ebx
608beb:	c9                   	leave
608bec:	c3                   	ret
608bed:	8b ff                	mov    %edi,%edi
608bef:	55                   	push   %ebp
608bf0:	8b ec                	mov    %esp,%ebp
608bf2:	83 ec 1c             	sub    $0x1c,%esp
608bf5:	56                   	push   %esi
608bf6:	57                   	push   %edi
608bf7:	ff 75 0c             	push   0xc(%ebp)
608bfa:	8d 45 e4             	lea    -0x1c(%ebp),%eax
608bfd:	50                   	push   %eax
608bfe:	e8 55 fb ff ff       	call   0x608758
608c03:	8b f0                	mov    %eax,%esi
608c05:	8d 7d f0             	lea    -0x10(%ebp),%edi
608c08:	59                   	pop    %ecx
608c09:	59                   	pop    %ecx
608c0a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
608c0b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
608c0c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
608c0d:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
608c11:	5f                   	pop    %edi
608c12:	5e                   	pop    %esi
608c13:	74 57                	je     0x608c6c
608c15:	68 80 01 00 00       	push   $0x180
608c1a:	ff 75 10             	push   0x10(%ebp)
608c1d:	8d 45 fc             	lea    -0x4(%ebp),%eax
608c20:	ff 75 f0             	push   -0x10(%ebp)
608c23:	ff 75 08             	push   0x8(%ebp)
608c26:	50                   	push   %eax
608c27:	e8 be 14 00 00       	call   0x60a0ea
608c2c:	83 c4 14             	add    $0x14,%esp
608c2f:	85 c0                	test   %eax,%eax
608c31:	75 39                	jne    0x608c6c
608c33:	8b 45 14             	mov    0x14(%ebp),%eax
608c36:	ff 05 d0 0c 73 00    	incl   0x730cd0
608c3c:	83 c0 0c             	add    $0xc,%eax
608c3f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
608c42:	f0 09 08             	lock or %ecx,(%eax)
608c45:	8b 45 14             	mov    0x14(%ebp),%eax
608c48:	33 c9                	xor    %ecx,%ecx
608c4a:	89 48 08             	mov    %ecx,0x8(%eax)
608c4d:	8b 45 14             	mov    0x14(%ebp),%eax
608c50:	89 48 1c             	mov    %ecx,0x1c(%eax)
608c53:	8b 45 14             	mov    0x14(%ebp),%eax
608c56:	89 48 04             	mov    %ecx,0x4(%eax)
608c59:	8b 45 14             	mov    0x14(%ebp),%eax
608c5c:	89 08                	mov    %ecx,(%eax)
608c5e:	8b 4d 14             	mov    0x14(%ebp),%ecx
608c61:	8b 45 fc             	mov    -0x4(%ebp),%eax
608c64:	89 41 10             	mov    %eax,0x10(%ecx)
608c67:	8b 45 14             	mov    0x14(%ebp),%eax
608c6a:	c9                   	leave
608c6b:	c3                   	ret
608c6c:	33 c0                	xor    %eax,%eax
608c6e:	c9                   	leave
608c6f:	c3                   	ret
608c70:	8b ff                	mov    %edi,%edi
608c72:	55                   	push   %ebp
608c73:	8b ec                	mov    %esp,%ebp
608c75:	83 ec 1c             	sub    $0x1c,%esp
608c78:	56                   	push   %esi
608c79:	57                   	push   %edi
608c7a:	ff 75 0c             	push   0xc(%ebp)
608c7d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
608c80:	50                   	push   %eax
608c81:	e8 fc fc ff ff       	call   0x608982
608c86:	8b f0                	mov    %eax,%esi
608c88:	8d 7d f0             	lea    -0x10(%ebp),%edi
608c8b:	59                   	pop    %ecx
608c8c:	59                   	pop    %ecx
608c8d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
608c8e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
608c8f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
608c90:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
608c94:	5f                   	pop    %edi
608c95:	5e                   	pop    %esi
608c96:	74 57                	je     0x608cef
608c98:	68 80 01 00 00       	push   $0x180
608c9d:	ff 75 10             	push   0x10(%ebp)
608ca0:	8d 45 fc             	lea    -0x4(%ebp),%eax
608ca3:	ff 75 f0             	push   -0x10(%ebp)
608ca6:	ff 75 08             	push   0x8(%ebp)
608ca9:	50                   	push   %eax
608caa:	e8 85 17 00 00       	call   0x60a434
608caf:	83 c4 14             	add    $0x14,%esp
608cb2:	85 c0                	test   %eax,%eax
608cb4:	75 39                	jne    0x608cef
608cb6:	8b 45 14             	mov    0x14(%ebp),%eax
608cb9:	ff 05 d0 0c 73 00    	incl   0x730cd0
608cbf:	83 c0 0c             	add    $0xc,%eax
608cc2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
608cc5:	f0 09 08             	lock or %ecx,(%eax)
608cc8:	8b 45 14             	mov    0x14(%ebp),%eax
608ccb:	33 c9                	xor    %ecx,%ecx
608ccd:	89 48 08             	mov    %ecx,0x8(%eax)
608cd0:	8b 45 14             	mov    0x14(%ebp),%eax
608cd3:	89 48 1c             	mov    %ecx,0x1c(%eax)
608cd6:	8b 45 14             	mov    0x14(%ebp),%eax
608cd9:	89 48 04             	mov    %ecx,0x4(%eax)
608cdc:	8b 45 14             	mov    0x14(%ebp),%eax
608cdf:	89 08                	mov    %ecx,(%eax)
608ce1:	8b 4d 14             	mov    0x14(%ebp),%ecx
608ce4:	8b 45 fc             	mov    -0x4(%ebp),%eax
608ce7:	89 41 10             	mov    %eax,0x10(%ecx)
608cea:	8b 45 14             	mov    0x14(%ebp),%eax
608ced:	c9                   	leave
608cee:	c3                   	ret
608cef:	33 c0                	xor    %eax,%eax
608cf1:	c9                   	leave
608cf2:	c3                   	ret
608cf3:	8b ff                	mov    %edi,%edi
608cf5:	55                   	push   %ebp
608cf6:	8b ec                	mov    %esp,%ebp
608cf8:	8b 4d 08             	mov    0x8(%ebp),%ecx
608cfb:	8b 01                	mov    (%ecx),%eax
608cfd:	a8 40                	test   $0x40,%al
608cff:	74 04                	je     0x608d05
608d01:	32 c0                	xor    %al,%al
608d03:	5d                   	pop    %ebp
608d04:	c3                   	ret
608d05:	83 c8 40             	or     $0x40,%eax
608d08:	89 01                	mov    %eax,(%ecx)
608d0a:	b0 01                	mov    $0x1,%al
608d0c:	5d                   	pop    %ebp
608d0d:	c3                   	ret
608d0e:	8b ff                	mov    %edi,%edi
608d10:	55                   	push   %ebp
608d11:	8b ec                	mov    %esp,%ebp
608d13:	8b 4d 08             	mov    0x8(%ebp),%ecx
608d16:	ba 00 10 00 00       	mov    $0x1000,%edx
608d1b:	8b 01                	mov    (%ecx),%eax
608d1d:	85 c2                	test   %eax,%edx
608d1f:	74 04                	je     0x608d25
608d21:	32 c0                	xor    %al,%al
608d23:	5d                   	pop    %ebp
608d24:	c3                   	ret
608d25:	0b c2                	or     %edx,%eax
608d27:	89 01                	mov    %eax,(%ecx)
608d29:	b0 01                	mov    $0x1,%al
608d2b:	5d                   	pop    %ebp
608d2c:	c3                   	ret
608d2d:	8b ff                	mov    %edi,%edi
608d2f:	55                   	push   %ebp
608d30:	8b ec                	mov    %esp,%ebp
608d32:	8b 4d 08             	mov    0x8(%ebp),%ecx
608d35:	8b 01                	mov    (%ecx),%eax
608d37:	a9 00 c0 00 00       	test   $0xc000,%eax
608d3c:	74 04                	je     0x608d42
608d3e:	32 c0                	xor    %al,%al
608d40:	5d                   	pop    %ebp
608d41:	c3                   	ret
608d42:	0d 00 80 00 00       	or     $0x8000,%eax
608d47:	89 01                	mov    %eax,(%ecx)
608d49:	b0 01                	mov    $0x1,%al
608d4b:	5d                   	pop    %ebp
608d4c:	c3                   	ret
608d4d:	8b ff                	mov    %edi,%edi
608d4f:	55                   	push   %ebp
608d50:	8b ec                	mov    %esp,%ebp
608d52:	8b 45 0c             	mov    0xc(%ebp),%eax
608d55:	80 38 00             	cmpb   $0x0,(%eax)
608d58:	74 04                	je     0x608d5e
608d5a:	32 c0                	xor    %al,%al
608d5c:	5d                   	pop    %ebp
608d5d:	c3                   	ret
608d5e:	8b 4d 08             	mov    0x8(%ebp),%ecx
608d61:	c6 00 01             	movb   $0x1,(%eax)
608d64:	b0 01                	mov    $0x1,%al
608d66:	81 49 04 00 08 00 00 	orl    $0x800,0x4(%ecx)
608d6d:	5d                   	pop    %ebp
608d6e:	c3                   	ret
608d6f:	8b ff                	mov    %edi,%edi
608d71:	55                   	push   %ebp
608d72:	8b ec                	mov    %esp,%ebp
608d74:	8b 45 0c             	mov    0xc(%ebp),%eax
608d77:	80 38 00             	cmpb   $0x0,(%eax)
608d7a:	74 04                	je     0x608d80
608d7c:	32 c0                	xor    %al,%al
608d7e:	5d                   	pop    %ebp
608d7f:	c3                   	ret
608d80:	8b 4d 08             	mov    0x8(%ebp),%ecx
608d83:	c6 00 01             	movb   $0x1,(%eax)
608d86:	b0 01                	mov    $0x1,%al
608d88:	81 61 04 ff f7 ff ff 	andl   $0xfffff7ff,0x4(%ecx)
608d8f:	5d                   	pop    %ebp
608d90:	c3                   	ret
608d91:	8b ff                	mov    %edi,%edi
608d93:	55                   	push   %ebp
608d94:	8b ec                	mov    %esp,%ebp
608d96:	8b 45 0c             	mov    0xc(%ebp),%eax
608d99:	80 38 00             	cmpb   $0x0,(%eax)
608d9c:	75 25                	jne    0x608dc3
608d9e:	8b 55 08             	mov    0x8(%ebp),%edx
608da1:	c6 00 01             	movb   $0x1,(%eax)
608da4:	8b 0a                	mov    (%edx),%ecx
608da6:	f6 c1 02             	test   $0x2,%cl
608da9:	75 18                	jne    0x608dc3
608dab:	83 e1 fe             	and    $0xfffffffe,%ecx
608dae:	b0 01                	mov    $0x1,%al
608db0:	83 c9 02             	or     $0x2,%ecx
608db3:	89 0a                	mov    %ecx,(%edx)
608db5:	8b 4a 04             	mov    0x4(%edx),%ecx
608db8:	83 e1 fc             	and    $0xfffffffc,%ecx
608dbb:	83 c9 04             	or     $0x4,%ecx
608dbe:	89 4a 04             	mov    %ecx,0x4(%edx)
608dc1:	5d                   	pop    %ebp
608dc2:	c3                   	ret
608dc3:	32 c0                	xor    %al,%al
608dc5:	5d                   	pop    %ebp
608dc6:	c3                   	ret
608dc7:	8b ff                	mov    %edi,%edi
608dc9:	55                   	push   %ebp