468ce3:	8b ec                	mov    %esp,%ebp
468ce5:	53                   	push   %ebx
468ce6:	e8 29 95 01 00       	call   0x482214
468ceb:	8b 5d 08             	mov    0x8(%ebp),%ebx
468cee:	6a 02                	push   $0x2
468cf0:	68 00 01 00 00       	push   $0x100
468cf5:	89 03                	mov    %eax,(%ebx)
468cf7:	e8 85 18 01 00       	call   0x47a581
468cfc:	89 43 04             	mov    %eax,0x4(%ebx)
468cff:	59                   	pop    %ecx
468d00:	59                   	pop    %ecx
468d01:	85 c0                	test   %eax,%eax
468d03:	74 1e                	je     0x468d23
468d05:	56                   	push   %esi
468d06:	57                   	push   %edi
468d07:	e8 60 94 01 00       	call   0x48216c
468d0c:	8b 7b 04             	mov    0x4(%ebx),%edi
468d0f:	b9 80 00 00 00       	mov    $0x80,%ecx
468d14:	8b f0                	mov    %eax,%esi
468d16:	c7 43 08 01 00 00 00 	movl   $0x1,0x8(%ebx)
468d1d:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
468d1f:	5f                   	pop    %edi
468d20:	5e                   	pop    %esi
468d21:	eb 0c                	jmp    0x468d2f
468d23:	e8 44 94 01 00       	call   0x48216c
468d28:	83 63 08 00          	andl   $0x0,0x8(%ebx)
468d2c:	89 43 04             	mov    %eax,0x4(%ebx)
468d2f:	e8 05 95 01 00       	call   0x482239
468d34:	8b 40 04             	mov    0x4(%eax),%eax
468d37:	89 43 0c             	mov    %eax,0xc(%ebx)
468d3a:	85 c0                	test   %eax,%eax
468d3c:	74 0a                	je     0x468d48
468d3e:	50                   	push   %eax
468d3f:	e8 a9 99 01 00       	call   0x4826ed
468d44:	59                   	pop    %ecx
468d45:	89 43 0c             	mov    %eax,0xc(%ebx)
468d48:	8b c3                	mov    %ebx,%eax
468d4a:	5b                   	pop    %ebx
468d4b:	5d                   	pop    %ebp
468d4c:	c3                   	ret
468d4d:	55                   	push   %ebp
468d4e:	8b ec                	mov    %esp,%ebp
468d50:	51                   	push   %ecx
468d51:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
468d55:	75 04                	jne    0x468d5b
468d57:	33 c0                	xor    %eax,%eax
468d59:	c9                   	leave
468d5a:	c3                   	ret
468d5b:	53                   	push   %ebx
468d5c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
468d5f:	8a 13                	mov    (%ebx),%dl
468d61:	84 d2                	test   %dl,%dl
468d63:	75 0f                	jne    0x468d74
468d65:	8b 45 08             	mov    0x8(%ebp),%eax
468d68:	33 c9                	xor    %ecx,%ecx
468d6a:	66 89 08             	mov    %cx,(%eax)
468d6d:	33 c0                	xor    %eax,%eax
468d6f:	e9 08 01 00 00       	jmp    0x468e7c
468d74:	56                   	push   %esi
468d75:	57                   	push   %edi
468d76:	8b 7d 18             	mov    0x18(%ebp),%edi
468d79:	88 55 fc             	mov    %dl,-0x4(%ebp)
468d7c:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
468d80:	0f 85 e8 00 00 00    	jne    0x468e6e
468d86:	8b 47 04             	mov    0x4(%edi),%eax
468d89:	83 e8 01             	sub    $0x1,%eax
468d8c:	0f 84 b5 00 00 00    	je     0x468e47
468d92:	83 e8 01             	sub    $0x1,%eax
468d95:	74 6d                	je     0x468e04
468d97:	48                   	dec    %eax
468d98:	83 e8 01             	sub    $0x1,%eax
468d9b:	0f 85 a6 00 00 00    	jne    0x468e47
468da1:	ff 75 fc             	push   -0x4(%ebp)
468da4:	8d 45 fc             	lea    -0x4(%ebp),%eax
468da7:	50                   	push   %eax
468da8:	e8 d2 00 00 00       	call   0x468e7f
468dad:	59                   	pop    %ecx
468dae:	59                   	pop    %ecx
468daf:	8b c8                	mov    %eax,%ecx
468db1:	85 c9                	test   %ecx,%ecx
468db3:	0f 84 b5 00 00 00    	je     0x468e6e
468db9:	83 f9 02             	cmp    $0x2,%ecx
468dbc:	0f 8f 9c 00 00 00    	jg     0x468e5e
468dc2:	8b 55 fc             	mov    -0x4(%ebp),%edx
468dc5:	33 f6                	xor    %esi,%esi
468dc7:	46                   	inc    %esi
468dc8:	3b 75 10             	cmp    0x10(%ebp),%esi
468dcb:	73 54                	jae    0x468e21
468dcd:	8a 24 1e             	mov    (%esi,%ebx,1),%ah
468dd0:	8a c4                	mov    %ah,%al
468dd2:	24 c0                	and    $0xc0,%al
468dd4:	3c 80                	cmp    $0x80,%al
468dd6:	0f 85 82 00 00 00    	jne    0x468e5e
468ddc:	0f b6 c4             	movzbl %ah,%eax
468ddf:	83 e0 3f             	and    $0x3f,%eax
468de2:	c1 e2 06             	shl    $0x6,%edx
468de5:	0b d0                	or     %eax,%edx
468de7:	46                   	inc    %esi
468de8:	83 e9 01             	sub    $0x1,%ecx
468deb:	75 db                	jne    0x468dc8
468ded:	8d 82 00 28 ff ff    	lea    -0xd800(%edx),%eax
468df3:	3d ff 07 00 00       	cmp    $0x7ff,%eax
468df8:	76 64                	jbe    0x468e5e
468dfa:	8b 4d 08             	mov    0x8(%ebp),%ecx
468dfd:	66 89 11             	mov    %dx,(%ecx)
468e00:	8b c6                	mov    %esi,%eax
468e02:	eb 76                	jmp    0x468e7a
468e04:	0f b6 d2             	movzbl %dl,%edx
468e07:	33 f6                	xor    %esi,%esi
468e09:	8b ca                	mov    %edx,%ecx
468e0b:	46                   	inc    %esi
468e0c:	83 e1 07             	and    $0x7,%ecx
468e0f:	c1 ea 03             	shr    $0x3,%edx
468e12:	8b c6                	mov    %esi,%eax
468e14:	d3 e0                	shl    %cl,%eax
468e16:	84 44 3a 0c          	test   %al,0xc(%edx,%edi,1)
468e1a:	74 0f                	je     0x468e2b
468e1c:	39 75 10             	cmp    %esi,0x10(%ebp)
468e1f:	75 05                	jne    0x468e26
468e21:	6a fe                	push   $0xfffffffe
468e23:	58                   	pop    %eax
468e24:	eb 54                	jmp    0x468e7a
468e26:	6a 02                	push   $0x2
468e28:	5b                   	pop    %ebx
468e29:	eb 02                	jmp    0x468e2d
468e2b:	8b de                	mov    %esi,%ebx
468e2d:	56                   	push   %esi
468e2e:	ff 75 08             	push   0x8(%ebp)
468e31:	53                   	push   %ebx
468e32:	ff 75 0c             	push   0xc(%ebp)
468e35:	6a 09                	push   $0x9
468e37:	ff 37                	push   (%edi)
468e39:	ff 15 6c e0 49 00    	call   *0x49e06c
468e3f:	85 c0                	test   %eax,%eax
468e41:	74 1b                	je     0x468e5e
468e43:	8b c3                	mov    %ebx,%eax
468e45:	eb 33                	jmp    0x468e7a
468e47:	33 f6                	xor    %esi,%esi
468e49:	46                   	inc    %esi
468e4a:	56                   	push   %esi
468e4b:	ff 75 08             	push   0x8(%ebp)
468e4e:	56                   	push   %esi
468e4f:	53                   	push   %ebx
468e50:	6a 09                	push   $0x9
468e52:	ff 37                	push   (%edi)
468e54:	ff 15 6c e0 49 00    	call   *0x49e06c
468e5a:	85 c0                	test   %eax,%eax
468e5c:	75 a2                	jne    0x468e00
468e5e:	e8 d2 10 01 00       	call   0x479f35
468e63:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
468e69:	83 c8 ff             	or     $0xffffffff,%eax
468e6c:	eb 0c                	jmp    0x468e7a
468e6e:	8b 45 08             	mov    0x8(%ebp),%eax
468e71:	0f b6 ca             	movzbl %dl,%ecx
468e74:	66 89 08             	mov    %cx,(%eax)
468e77:	33 c0                	xor    %eax,%eax
468e79:	40                   	inc    %eax
468e7a:	5f                   	pop    %edi
468e7b:	5e                   	pop    %esi
468e7c:	5b                   	pop    %ebx
468e7d:	c9                   	leave
468e7e:	c3                   	ret
468e7f:	55                   	push   %ebp
468e80:	8b ec                	mov    %esp,%ebp
468e82:	8a 4d 0c             	mov    0xc(%ebp),%cl
468e85:	84 c9                	test   %cl,%cl
468e87:	78 04                	js     0x468e8d
468e89:	33 c0                	xor    %eax,%eax
468e8b:	5d                   	pop    %ebp
468e8c:	c3                   	ret
468e8d:	8a c1                	mov    %cl,%al
468e8f:	24 e0                	and    $0xe0,%al
468e91:	3c c0                	cmp    $0xc0,%al
468e93:	75 10                	jne    0x468ea5
468e95:	8b 45 08             	mov    0x8(%ebp),%eax
468e98:	0f b6 c9             	movzbl %cl,%ecx
468e9b:	83 e1 1f             	and    $0x1f,%ecx
468e9e:	89 08                	mov    %ecx,(%eax)
468ea0:	33 c0                	xor    %eax,%eax
468ea2:	40                   	inc    %eax
468ea3:	5d                   	pop    %ebp
468ea4:	c3                   	ret
468ea5:	8a c1                	mov    %cl,%al
468ea7:	24 f0                	and    $0xf0,%al
468ea9:	3c e0                	cmp    $0xe0,%al
468eab:	75 10                	jne    0x468ebd
468ead:	0f b6 c9             	movzbl %cl,%ecx
468eb0:	83 e1 0f             	and    $0xf,%ecx
468eb3:	6a 02                	push   $0x2
468eb5:	8b 45 08             	mov    0x8(%ebp),%eax
468eb8:	89 08                	mov    %ecx,(%eax)
468eba:	58                   	pop    %eax
468ebb:	5d                   	pop    %ebp
468ebc:	c3                   	ret
468ebd:	8a c1                	mov    %cl,%al
468ebf:	24 f8                	and    $0xf8,%al
468ec1:	3c f0                	cmp    $0xf0,%al
468ec3:	75 0a                	jne    0x468ecf
468ec5:	0f b6 c9             	movzbl %cl,%ecx
468ec8:	83 e1 07             	and    $0x7,%ecx
468ecb:	6a 03                	push   $0x3
468ecd:	eb e6                	jmp    0x468eb5
468ecf:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
468ed4:	5d                   	pop    %ebp
468ed5:	c3                   	ret
468ed6:	55                   	push   %ebp
468ed7:	8b ec                	mov    %esp,%ebp
468ed9:	51                   	push   %ecx
468eda:	8d 45 fc             	lea    -0x4(%ebp),%eax
468edd:	50                   	push   %eax
468ede:	6a 01                	push   $0x1
468ee0:	8d 45 08             	lea    0x8(%ebp),%eax
468ee3:	50                   	push   %eax
468ee4:	6a 01                	push   $0x1
468ee6:	ff 15 f8 e1 49 00    	call   *0x49e1f8
468eec:	f7 d8                	neg    %eax
468eee:	1b c0                	sbb    %eax,%eax
468ef0:	66 23 45 fc          	and    -0x4(%ebp),%ax
468ef4:	c9                   	leave
468ef5:	c3                   	ret
468ef6:	55                   	push   %ebp
468ef7:	8b ec                	mov    %esp,%ebp
468ef9:	ff 75 10             	push   0x10(%ebp)
468efc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
468eff:	2b 4d 08             	sub    0x8(%ebp),%ecx
468f02:	d1 f9                	sar    $1,%ecx
468f04:	51                   	push   %ecx
468f05:	ff 75 08             	push   0x8(%ebp)
468f08:	6a 01                	push   $0x1
468f0a:	ff 15 f8 e1 49 00    	call   *0x49e1f8
468f10:	8b 45 0c             	mov    0xc(%ebp),%eax
468f13:	5d                   	pop    %ebp
468f14:	c3                   	ret
468f15:	55                   	push   %ebp
468f16:	8b ec                	mov    %esp,%ebp
468f18:	51                   	push   %ecx
468f19:	66 8b 4d 08          	mov    0x8(%ebp),%cx
468f1d:	b8 ff ff 00 00       	mov    $0xffff,%eax
468f22:	66 89 4d fc          	mov    %cx,-0x4(%ebp)
468f26:	66 3b c8             	cmp    %ax,%cx
468f29:	74 45                	je     0x468f70
468f2b:	8b 45 0c             	mov    0xc(%ebp),%eax
468f2e:	ba 00 01 00 00       	mov    $0x100,%edx
468f33:	8b 40 0c             	mov    0xc(%eax),%eax
468f36:	85 c0                	test   %eax,%eax
468f38:	75 14                	jne    0x468f4e
468f3a:	66 3b ca             	cmp    %dx,%cx
468f3d:	73 0f                	jae    0x468f4e
468f3f:	8d 41 bf             	lea    -0x41(%ecx),%eax
468f42:	66 83 f8 19          	cmp    $0x19,%ax
468f46:	77 28                	ja     0x468f70
468f48:	66 83 c1 20          	add    $0x20,%cx
468f4c:	eb 22                	jmp    0x468f70
468f4e:	6a 01                	push   $0x1
468f50:	8d 4d fc             	lea    -0x4(%ebp),%ecx
468f53:	51                   	push   %ecx
468f54:	6a 01                	push   $0x1
468f56:	8d 4d 08             	lea    0x8(%ebp),%ecx
468f59:	51                   	push   %ecx
468f5a:	52                   	push   %edx
468f5b:	50                   	push   %eax
468f5c:	e8 b7 07 00 00       	call   0x469718
468f61:	66 8b 4d 08          	mov    0x8(%ebp),%cx
468f65:	83 c4 18             	add    $0x18,%esp
468f68:	85 c0                	test   %eax,%eax
468f6a:	74 04                	je     0x468f70
468f6c:	66 8b 4d fc          	mov    -0x4(%ebp),%cx
468f70:	66 8b c1             	mov    %cx,%ax
468f73:	c9                   	leave
468f74:	c3                   	ret
468f75:	55                   	push   %ebp
468f76:	8b ec                	mov    %esp,%ebp
468f78:	56                   	push   %esi
468f79:	57                   	push   %edi
468f7a:	8b 7d 08             	mov    0x8(%ebp),%edi
468f7d:	33 f6                	xor    %esi,%esi
468f7f:	6a 2c                	push   $0x2c
468f81:	56                   	push   %esi
468f82:	57                   	push   %edi
468f83:	e8 28 2c 00 00       	call   0x46bbb0
468f88:	83 c4 0c             	add    $0xc,%esp
468f8b:	e8 84 92 01 00       	call   0x482214
468f90:	89 07                	mov    %eax,(%edi)
468f92:	e8 c9 92 01 00       	call   0x482260
468f97:	89 47 04             	mov    %eax,0x4(%edi)
468f9a:	e8 9a 92 01 00       	call   0x482239
468f9f:	8b 48 08             	mov    0x8(%eax),%ecx
468fa2:	33 c0                	xor    %eax,%eax
468fa4:	85 c9                	test   %ecx,%ecx
468fa6:	0f 94 c0             	sete   %al
468fa9:	89 47 08             	mov    %eax,0x8(%edi)
468fac:	85 c9                	test   %ecx,%ecx
468fae:	74 32                	je     0x468fe2
468fb0:	53                   	push   %ebx
468fb1:	e8 b6 91 01 00       	call   0x48216c
468fb6:	8b d8                	mov    %eax,%ebx
468fb8:	33 c0                	xor    %eax,%eax
468fba:	66 39 04 73          	cmp    %ax,(%ebx,%esi,2)
468fbe:	7d 18                	jge    0x468fd8
468fc0:	8b d6                	mov    %esi,%edx
468fc2:	8b c6                	mov    %esi,%eax
468fc4:	c1 ea 03             	shr    $0x3,%edx
468fc7:	83 e0 07             	and    $0x7,%eax
468fca:	0f b6 4c 3a 0c       	movzbl 0xc(%edx,%edi,1),%ecx
468fcf:	0f ab c1             	bts    %eax,%ecx
468fd2:	33 c0                	xor    %eax,%eax
468fd4:	88 4c 3a 0c          	mov    %cl,0xc(%edx,%edi,1)
468fd8:	46                   	inc    %esi
468fd9:	81 fe 00 01 00 00    	cmp    $0x100,%esi
468fdf:	7c d9                	jl     0x468fba
468fe1:	5b                   	pop    %ebx
468fe2:	8b c7                	mov    %edi,%eax
468fe4:	5f                   	pop    %edi
468fe5:	5e                   	pop    %esi
468fe6:	5d                   	pop    %ebp
468fe7:	c3                   	ret
468fe8:	55                   	push   %ebp
468fe9:	8b ec                	mov    %esp,%ebp
468feb:	51                   	push   %ecx
468fec:	8b 45 14             	mov    0x14(%ebp),%eax
468fef:	8b 4d 08             	mov    0x8(%ebp),%ecx
468ff2:	56                   	push   %esi
468ff3:	33 f6                	xor    %esi,%esi
468ff5:	39 70 08             	cmp    %esi,0x8(%eax)
468ff8:	74 15                	je     0x46900f
468ffa:	66 8b 45 0c          	mov    0xc(%ebp),%ax
468ffe:	ba ff 00 00 00       	mov    $0xff,%edx
469003:	66 3b c2             	cmp    %dx,%ax
469006:	77 2b                	ja     0x469033
469008:	88 01                	mov    %al,(%ecx)
46900a:	33 c0                	xor    %eax,%eax
46900c:	40                   	inc    %eax
46900d:	eb 32                	jmp    0x469041
46900f:	8d 55 fc             	lea    -0x4(%ebp),%edx
469012:	89 75 fc             	mov    %esi,-0x4(%ebp)
469015:	52                   	push   %edx
469016:	56                   	push   %esi
469017:	ff 70 04             	push   0x4(%eax)
46901a:	51                   	push   %ecx
46901b:	6a 01                	push   $0x1
46901d:	8d 4d 0c             	lea    0xc(%ebp),%ecx
469020:	51                   	push   %ecx
469021:	56                   	push   %esi
469022:	ff 30                	push   (%eax)
469024:	ff 15 4c e0 49 00    	call   *0x49e04c
46902a:	85 c0                	test   %eax,%eax
46902c:	74 05                	je     0x469033
46902e:	39 75 fc             	cmp    %esi,-0x4(%ebp)
469031:	74 0e                	je     0x469041
469033:	e8 fd 0e 01 00       	call   0x479f35