604a64:	8b 4d f0             	mov    -0x10(%ebp),%ecx
604a67:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
604a6e:	59                   	pop    %ecx
604a6f:	5f                   	pop    %edi
604a70:	5e                   	pop    %esi
604a71:	5b                   	pop    %ebx
604a72:	c9                   	leave
604a73:	c3                   	ret
604a74:	8b 75 08             	mov    0x8(%ebp),%esi
604a77:	6a 08                	push   $0x8
604a79:	e8 53 bc ff ff       	call   0x6006d1
604a7e:	59                   	pop    %ecx
604a7f:	c3                   	ret
604a80:	8b ff                	mov    %edi,%edi
604a82:	55                   	push   %ebp
604a83:	8b ec                	mov    %esp,%ebp
604a85:	8b 45 08             	mov    0x8(%ebp),%eax
604a88:	33 c9                	xor    %ecx,%ecx
604a8a:	89 08                	mov    %ecx,(%eax)
604a8c:	8b 45 08             	mov    0x8(%ebp),%eax
604a8f:	89 48 04             	mov    %ecx,0x4(%eax)
604a92:	8b 45 08             	mov    0x8(%ebp),%eax
604a95:	89 48 08             	mov    %ecx,0x8(%eax)
604a98:	8b 45 08             	mov    0x8(%ebp),%eax
604a9b:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
604a9f:	8b 45 08             	mov    0x8(%ebp),%eax
604aa2:	89 48 14             	mov    %ecx,0x14(%eax)
604aa5:	8b 45 08             	mov    0x8(%ebp),%eax
604aa8:	89 48 18             	mov    %ecx,0x18(%eax)
604aab:	8b 45 08             	mov    0x8(%ebp),%eax
604aae:	89 48 1c             	mov    %ecx,0x1c(%eax)
604ab1:	8b 45 08             	mov    0x8(%ebp),%eax
604ab4:	83 c0 0c             	add    $0xc,%eax
604ab7:	87 08                	xchg   %ecx,(%eax)
604ab9:	5d                   	pop    %ebp
604aba:	c3                   	ret
604abb:	8b ff                	mov    %edi,%edi
604abd:	55                   	push   %ebp
604abe:	8b ec                	mov    %esp,%ebp
604ac0:	51                   	push   %ecx
604ac1:	53                   	push   %ebx
604ac2:	8b 1d c8 0c 73 00    	mov    0x730cc8,%ebx
604ac8:	56                   	push   %esi
604ac9:	57                   	push   %edi
604aca:	8b 3d cc 0c 73 00    	mov    0x730ccc,%edi
604ad0:	83 c7 0c             	add    $0xc,%edi
604ad3:	83 c3 fd             	add    $0xfffffffd,%ebx
604ad6:	8d 1c 9f             	lea    (%edi,%ebx,4),%ebx
604ad9:	89 5d fc             	mov    %ebx,-0x4(%ebp)
604adc:	eb 42                	jmp    0x604b20
604ade:	8b 37                	mov    (%edi),%esi
604ae0:	85 f6                	test   %esi,%esi
604ae2:	74 52                	je     0x604b36
604ae4:	8b 46 0c             	mov    0xc(%esi),%eax
604ae7:	90                   	nop
604ae8:	c1 e8 0d             	shr    $0xd,%eax
604aeb:	a8 01                	test   $0x1,%al
604aed:	75 2e                	jne    0x604b1d
604aef:	56                   	push   %esi
604af0:	e8 ad 76 ff ff       	call   0x5fc1a2
604af5:	59                   	pop    %ecx
604af6:	8d 56 0c             	lea    0xc(%esi),%edx
604af9:	bb 00 20 00 00       	mov    $0x2000,%ebx
604afe:	8b 02                	mov    (%edx),%eax
604b00:	8b c8                	mov    %eax,%ecx
604b02:	0b cb                	or     %ebx,%ecx
604b04:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
604b08:	75 f6                	jne    0x604b00
604b0a:	8b 5d fc             	mov    -0x4(%ebp),%ebx
604b0d:	c1 e8 0d             	shr    $0xd,%eax
604b10:	f6 d0                	not    %al
604b12:	a8 01                	test   $0x1,%al
604b14:	75 19                	jne    0x604b2f
604b16:	56                   	push   %esi
604b17:	e8 9a 76 ff ff       	call   0x5fc1b6
604b1c:	59                   	pop    %ecx
604b1d:	83 c7 04             	add    $0x4,%edi
604b20:	3b fb                	cmp    %ebx,%edi
604b22:	75 ba                	jne    0x604ade
604b24:	8b 45 08             	mov    0x8(%ebp),%eax
604b27:	83 20 00             	andl   $0x0,(%eax)
604b2a:	5f                   	pop    %edi
604b2b:	5e                   	pop    %esi
604b2c:	5b                   	pop    %ebx
604b2d:	c9                   	leave
604b2e:	c3                   	ret
604b2f:	8b 45 08             	mov    0x8(%ebp),%eax
604b32:	89 30                	mov    %esi,(%eax)
604b34:	eb f4                	jmp    0x604b2a
604b36:	6a 38                	push   $0x38
604b38:	6a 01                	push   $0x1
604b3a:	e8 9d 0f 00 00       	call   0x605adc
604b3f:	6a 00                	push   $0x0
604b41:	89 07                	mov    %eax,(%edi)
604b43:	e8 e0 fc ff ff       	call   0x604828
604b48:	8b 07                	mov    (%edi),%eax
604b4a:	83 c4 0c             	add    $0xc,%esp
604b4d:	85 c0                	test   %eax,%eax
604b4f:	74 d3                	je     0x604b24
604b51:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
604b55:	8b 07                	mov    (%edi),%eax
604b57:	6a 00                	push   $0x0
604b59:	68 a0 0f 00 00       	push   $0xfa0
604b5e:	83 c0 20             	add    $0x20,%eax
604b61:	50                   	push   %eax
604b62:	e8 de 2b 00 00       	call   0x607745
604b67:	8b 37                	mov    (%edi),%esi
604b69:	b9 00 20 00 00       	mov    $0x2000,%ecx
604b6e:	8d 46 0c             	lea    0xc(%esi),%eax
604b71:	f0 09 08             	lock or %ecx,(%eax)
604b74:	56                   	push   %esi
604b75:	e8 28 76 ff ff       	call   0x5fc1a2
604b7a:	59                   	pop    %ecx
604b7b:	eb b2                	jmp    0x604b2f
604b7d:	8b ff                	mov    %edi,%edi
604b7f:	55                   	push   %ebp
604b80:	8b ec                	mov    %esp,%ebp
604b82:	56                   	push   %esi
604b83:	8b 75 08             	mov    0x8(%ebp),%esi
604b86:	57                   	push   %edi
604b87:	8d 7e 0c             	lea    0xc(%esi),%edi
604b8a:	8b 07                	mov    (%edi),%eax
604b8c:	90                   	nop
604b8d:	c1 e8 0d             	shr    $0xd,%eax
604b90:	a8 01                	test   $0x1,%al
604b92:	74 25                	je     0x604bb9
604b94:	8b 07                	mov    (%edi),%eax
604b96:	90                   	nop
604b97:	c1 e8 06             	shr    $0x6,%eax
604b9a:	a8 01                	test   $0x1,%al
604b9c:	74 1b                	je     0x604bb9
604b9e:	ff 76 04             	push   0x4(%esi)
604ba1:	e8 82 fc ff ff       	call   0x604828
604ba6:	59                   	pop    %ecx
604ba7:	b8 bf fe ff ff       	mov    $0xfffffebf,%eax
604bac:	f0 21 07             	lock and %eax,(%edi)
604baf:	33 c0                	xor    %eax,%eax
604bb1:	89 46 04             	mov    %eax,0x4(%esi)
604bb4:	89 06                	mov    %eax,(%esi)
604bb6:	89 46 08             	mov    %eax,0x8(%esi)
604bb9:	5f                   	pop    %edi
604bba:	5e                   	pop    %esi
604bbb:	5d                   	pop    %ebp
604bbc:	c3                   	ret
604bbd:	8b ff                	mov    %edi,%edi
604bbf:	55                   	push   %ebp
604bc0:	8b ec                	mov    %esp,%ebp
604bc2:	83 ec 1c             	sub    $0x1c,%esp
604bc5:	8b 45 08             	mov    0x8(%ebp),%eax
604bc8:	8b d0                	mov    %eax,%edx
604bca:	53                   	push   %ebx
604bcb:	8b 5d 0c             	mov    0xc(%ebp),%ebx
604bce:	83 e0 3f             	and    $0x3f,%eax
604bd1:	56                   	push   %esi
604bd2:	c1 fa 06             	sar    $0x6,%edx
604bd5:	57                   	push   %edi
604bd6:	6b f8 38             	imul   $0x38,%eax,%edi
604bd9:	89 55 f4             	mov    %edx,-0xc(%ebp)
604bdc:	8b 04 95 b8 10 73 00 	mov    0x7310b8(,%edx,4),%eax
604be3:	8b 4c 38 18          	mov    0x18(%eax,%edi,1),%ecx
604be7:	89 4d e8             	mov    %ecx,-0x18(%ebp)
604bea:	8b 4d 10             	mov    0x10(%ebp),%ecx
604bed:	85 c9                	test   %ecx,%ecx
604bef:	74 0c                	je     0x604bfd
604bf1:	80 3b 0a             	cmpb   $0xa,(%ebx)
604bf4:	75 07                	jne    0x604bfd
604bf6:	80 4c 38 28 04       	orb    $0x4,0x28(%eax,%edi,1)
604bfb:	eb 05                	jmp    0x604c02
604bfd:	80 64 38 28 fb       	andb   $0xfb,0x28(%eax,%edi,1)
604c02:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
604c05:	89 5d f8             	mov    %ebx,-0x8(%ebp)
604c08:	89 45 f0             	mov    %eax,-0x10(%ebp)
604c0b:	8b f3                	mov    %ebx,%esi
604c0d:	3b d8                	cmp    %eax,%ebx
604c0f:	0f 83 00 01 00 00    	jae    0x604d15
604c15:	8b c3                	mov    %ebx,%eax
604c17:	8a 08                	mov    (%eax),%cl
604c19:	80 f9 1a             	cmp    $0x1a,%cl
604c1c:	0f 84 d8 00 00 00    	je     0x604cfa
604c22:	40                   	inc    %eax
604c23:	80 f9 0d             	cmp    $0xd,%cl
604c26:	74 0b                	je     0x604c33
604c28:	88 0e                	mov    %cl,(%esi)
604c2a:	46                   	inc    %esi
604c2b:	89 45 f8             	mov    %eax,-0x8(%ebp)
604c2e:	e9 bc 00 00 00       	jmp    0x604cef
604c33:	3b 45 f0             	cmp    -0x10(%ebp),%eax
604c36:	73 28                	jae    0x604c60
604c38:	8a 28                	mov    (%eax),%ch
604c3a:	8d 46 01             	lea    0x1(%esi),%eax
604c3d:	89 45 ec             	mov    %eax,-0x14(%ebp)
604c40:	80 fd 0a             	cmp    $0xa,%ch
604c43:	75 02                	jne    0x604c47
604c45:	8a cd                	mov    %ch,%cl
604c47:	33 c0                	xor    %eax,%eax
604c49:	88 0e                	mov    %cl,(%esi)
604c4b:	8b 75 ec             	mov    -0x14(%ebp),%esi
604c4e:	80 fd 0a             	cmp    $0xa,%ch
604c51:	0f 94 c0             	sete   %al
604c54:	40                   	inc    %eax
604c55:	03 45 f8             	add    -0x8(%ebp),%eax
604c58:	89 45 f8             	mov    %eax,-0x8(%ebp)
604c5b:	e9 8f 00 00 00       	jmp    0x604cef
604c60:	6a 00                	push   $0x0
604c62:	89 45 f8             	mov    %eax,-0x8(%ebp)
604c65:	8d 45 e4             	lea    -0x1c(%ebp),%eax
604c68:	50                   	push   %eax
604c69:	6a 01                	push   $0x1
604c6b:	8d 45 ff             	lea    -0x1(%ebp),%eax
604c6e:	50                   	push   %eax
604c6f:	ff 75 e8             	push   -0x18(%ebp)
604c72:	ff 15 ec 21 68 00    	call   *0x6821ec
604c78:	85 c0                	test   %eax,%eax
604c7a:	74 69                	je     0x604ce5
604c7c:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
604c80:	74 63                	je     0x604ce5
604c82:	8b 55 f4             	mov    -0xc(%ebp),%edx
604c85:	8b 04 95 b8 10 73 00 	mov    0x7310b8(,%edx,4),%eax
604c8c:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
604c91:	74 27                	je     0x604cba
604c93:	8a 4d ff             	mov    -0x1(%ebp),%cl
604c96:	8d 46 01             	lea    0x1(%esi),%eax
604c99:	89 45 ec             	mov    %eax,-0x14(%ebp)
604c9c:	80 f9 0a             	cmp    $0xa,%cl
604c9f:	75 04                	jne    0x604ca5
604ca1:	88 0e                	mov    %cl,(%esi)
604ca3:	eb 11                	jmp    0x604cb6
604ca5:	c6 06 0d             	movb   $0xd,(%esi)
604ca8:	8b 04 95 b8 10 73 00 	mov    0x7310b8(,%edx,4),%eax
604caf:	88 4c 38 2a          	mov    %cl,0x2a(%eax,%edi,1)
604cb3:	8b 45 ec             	mov    -0x14(%ebp),%eax
604cb6:	8b f0                	mov    %eax,%esi
604cb8:	eb 32                	jmp    0x604cec
604cba:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
604cbe:	75 09                	jne    0x604cc9
604cc0:	3b f3                	cmp    %ebx,%esi
604cc2:	75 05                	jne    0x604cc9
604cc4:	c6 06 0a             	movb   $0xa,(%esi)
604cc7:	eb 22                	jmp    0x604ceb
604cc9:	6a 01                	push   $0x1
604ccb:	6a ff                	push   $0xffffffff
604ccd:	6a ff                	push   $0xffffffff
604ccf:	ff 75 08             	push   0x8(%ebp)
604cd2:	e8 e6 0b 00 00       	call   0x6058bd
604cd7:	8b 55 f4             	mov    -0xc(%ebp),%edx
604cda:	83 c4 10             	add    $0x10,%esp
604cdd:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
604ce1:	74 09                	je     0x604cec
604ce3:	eb 03                	jmp    0x604ce8
604ce5:	8b 55 f4             	mov    -0xc(%ebp),%edx
604ce8:	c6 06 0d             	movb   $0xd,(%esi)
604ceb:	46                   	inc    %esi
604cec:	8b 45 f8             	mov    -0x8(%ebp),%eax
604cef:	3b 45 f0             	cmp    -0x10(%ebp),%eax
604cf2:	0f 82 1f ff ff ff    	jb     0x604c17
604cf8:	eb 1b                	jmp    0x604d15
604cfa:	8b 0c 95 b8 10 73 00 	mov    0x7310b8(,%edx,4),%ecx
604d01:	8a 44 39 28          	mov    0x28(%ecx,%edi,1),%al
604d05:	a8 40                	test   $0x40,%al
604d07:	75 08                	jne    0x604d11
604d09:	0c 02                	or     $0x2,%al
604d0b:	88 44 39 28          	mov    %al,0x28(%ecx,%edi,1)
604d0f:	eb 04                	jmp    0x604d15
604d11:	c6 06 1a             	movb   $0x1a,(%esi)
604d14:	46                   	inc    %esi
604d15:	2b f3                	sub    %ebx,%esi
604d17:	5f                   	pop    %edi
604d18:	8b c6                	mov    %esi,%eax
604d1a:	5e                   	pop    %esi
604d1b:	5b                   	pop    %ebx
604d1c:	c9                   	leave
604d1d:	c3                   	ret
604d1e:	8b ff                	mov    %edi,%edi
604d20:	55                   	push   %ebp
604d21:	8b ec                	mov    %esp,%ebp
604d23:	83 ec 28             	sub    $0x28,%esp
604d26:	8b 45 08             	mov    0x8(%ebp),%eax
604d29:	8b c8                	mov    %eax,%ecx
604d2b:	53                   	push   %ebx
604d2c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
604d2f:	83 e0 3f             	and    $0x3f,%eax
604d32:	56                   	push   %esi
604d33:	c1 f9 06             	sar    $0x6,%ecx
604d36:	57                   	push   %edi
604d37:	6b f8 38             	imul   $0x38,%eax,%edi
604d3a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
604d3d:	8b 04 8d b8 10 73 00 	mov    0x7310b8(,%ecx,4),%eax
604d44:	c7 45 d8 0a 00 00 00 	movl   $0xa,-0x28(%ebp)
604d4b:	8b 54 07 18          	mov    0x18(%edi,%eax,1),%edx
604d4f:	89 55 e0             	mov    %edx,-0x20(%ebp)
604d52:	8b 55 10             	mov    0x10(%ebp),%edx
604d55:	85 d2                	test   %edx,%edx
604d57:	74 0f                	je     0x604d68
604d59:	6a 0a                	push   $0xa
604d5b:	5e                   	pop    %esi
604d5c:	66 39 33             	cmp    %si,(%ebx)
604d5f:	75 07                	jne    0x604d68
604d61:	80 4c 07 28 04       	orb    $0x4,0x28(%edi,%eax,1)
604d66:	eb 05                	jmp    0x604d6d
604d68:	80 64 07 28 fb       	andb   $0xfb,0x28(%edi,%eax,1)
604d6d:	8d 04 53             	lea    (%ebx,%edx,2),%eax
604d70:	8b f3                	mov    %ebx,%esi
604d72:	89 45 f0             	mov    %eax,-0x10(%ebp)
604d75:	8b d3                	mov    %ebx,%edx
604d77:	3b d8                	cmp    %eax,%ebx
604d79:	0f 83 64 01 00 00    	jae    0x604ee3
604d7f:	c7 45 ec 1a 00 00 00 	movl   $0x1a,-0x14(%ebp)
604d86:	c7 45 e8 0d 00 00 00 	movl   $0xd,-0x18(%ebp)
604d8d:	0f b7 02             	movzwl (%edx),%eax
604d90:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
604d94:	0f 84 29 01 00 00    	je     0x604ec3
604d9a:	8d 4a 02             	lea    0x2(%edx),%ecx
604d9d:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
604da1:	74 07                	je     0x604daa
604da3:	8b d1                	mov    %ecx,%edx
604da5:	e9 05 01 00 00       	jmp    0x604eaf
604daa:	3b 4d f0             	cmp    -0x10(%ebp),%ecx
604dad:	73 3b                	jae    0x604dea
604daf:	0f b7 09             	movzwl (%ecx),%ecx
604db2:	89 4d f4             	mov    %ecx,-0xc(%ebp)
604db5:	8d 4e 02             	lea    0x2(%esi),%ecx
604db8:	6a 0a                	push   $0xa
604dba:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
604dbd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
604dc0:	5b                   	pop    %ebx
604dc1:	66 3b cb             	cmp    %bx,%cx
604dc4:	75 02                	jne    0x604dc8
604dc6:	53                   	push   %ebx
604dc7:	58                   	pop    %eax
604dc8:	8b c8                	mov    %eax,%ecx
604dca:	33 c0                	xor    %eax,%eax
604dcc:	66 39 5d f4          	cmp    %bx,-0xc(%ebp)
604dd0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
604dd3:	0f 94 c0             	sete   %al
604dd6:	66 89 0e             	mov    %cx,(%esi)
604dd9:	8b 75 e4             	mov    -0x1c(%ebp),%esi
604ddc:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
604de3:	03 d0                	add    %eax,%edx
604de5:	e9 cb 00 00 00       	jmp    0x604eb5
604dea:	6a 00                	push   $0x0
604dec:	8d 45 dc             	lea    -0x24(%ebp),%eax
604def:	89 4d f4             	mov    %ecx,-0xc(%ebp)
604df2:	50                   	push   %eax
604df3:	6a 02                	push   $0x2
604df5:	8d 45 fc             	lea    -0x4(%ebp),%eax
604df8:	50                   	push   %eax
604df9:	ff 75 e0             	push   -0x20(%ebp)
604dfc:	ff 15 ec 21 68 00    	call   *0x6821ec
604e02:	85 c0                	test   %eax,%eax
604e04:	0f 84 9f 00 00 00    	je     0x604ea9