489d06:	eb 25                	jmp    0x489d2d
489d08:	c1 6d e0 03          	shrl   $0x3,-0x20(%ebp)
489d0c:	8b 5d e0             	mov    -0x20(%ebp),%ebx
489d0f:	8b c8                	mov    %eax,%ecx
489d11:	83 e1 07             	and    $0x7,%ecx
489d14:	b8 01 00 00 00       	mov    $0x1,%eax
489d19:	d3 e0                	shl    %cl,%eax
489d1b:	8b 4d c8             	mov    -0x38(%ebp),%ecx
489d1e:	84 04 0b             	test   %al,(%ebx,%ecx,1)
489d21:	8b 5d 10             	mov    0x10(%ebp),%ebx
489d24:	0f 84 4a 08 f8 ff    	je     0x40a574
489d2a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
489d2d:	8b 45 18             	mov    0x18(%ebp),%eax
489d30:	40                   	inc    %eax
489d31:	50                   	push   %eax
489d32:	ff 75 14             	push   0x14(%ebp)
489d35:	42                   	inc    %edx
489d36:	53                   	push   %ebx
489d37:	ff 75 0c             	push   0xc(%ebp)
489d3a:	89 55 d8             	mov    %edx,-0x28(%ebp)
489d3d:	ff 75 08             	push   0x8(%ebp)
489d40:	8b d7                	mov    %edi,%edx
489d42:	e8 b9 05 f8 ff       	call   0x40a300
489d47:	83 c4 14             	add    $0x14,%esp
489d4a:	85 c0                	test   %eax,%eax
489d4c:	0f 84 48 ff ff ff    	je     0x489c9a
489d52:	e9 70 07 f8 ff       	jmp    0x40a4c7
489d57:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
489d5e:	0f 84 10 08 f8 ff    	je     0x40a574
489d64:	3b 8b 88 00 00 00    	cmp    0x88(%ebx),%ecx
489d6a:	e9 84 fd ff ff       	jmp    0x489af3
489d6f:	e8 8c 05 f8 ff       	call   0x40a300
489d74:	83 c4 14             	add    $0x14,%esp
489d77:	85 c0                	test   %eax,%eax
489d79:	0f 85 48 07 f8 ff    	jne    0x40a4c7
489d7f:	8b 55 d8             	mov    -0x28(%ebp),%edx
489d82:	3b 55 e8             	cmp    -0x18(%ebp),%edx
489d85:	0f 8d e9 07 f8 ff    	jge    0x40a574
489d8b:	8b 45 f8             	mov    -0x8(%ebp),%eax
489d8e:	3b 43 7c             	cmp    0x7c(%ebx),%eax
489d91:	0f 83 0e 0e f8 ff    	jae    0x40aba5
489d97:	0f b7 08             	movzwl (%eax),%ecx
489d9a:	83 c0 02             	add    $0x2,%eax
489d9d:	89 4d ec             	mov    %ecx,-0x14(%ebp)
489da0:	89 45 f8             	mov    %eax,-0x8(%ebp)
489da3:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
489da9:	76 0b                	jbe    0x489db6
489dab:	83 fe 6e             	cmp    $0x6e,%esi
489dae:	0f 84 c0 07 f8 ff    	je     0x40a574
489db4:	eb 20                	jmp    0x489dd6
489db6:	c1 6d ec 03          	shrl   $0x3,-0x14(%ebp)
489dba:	8b 5d ec             	mov    -0x14(%ebp),%ebx
489dbd:	83 e1 07             	and    $0x7,%ecx
489dc0:	b8 01 00 00 00       	mov    $0x1,%eax
489dc5:	d3 e0                	shl    %cl,%eax
489dc7:	8b 4d c8             	mov    -0x38(%ebp),%ecx
489dca:	84 04 0b             	test   %al,(%ebx,%ecx,1)
489dcd:	8b 5d 10             	mov    0x10(%ebp),%ebx
489dd0:	0f 84 9e 07 f8 ff    	je     0x40a574
489dd6:	8b 45 18             	mov    0x18(%ebp),%eax
489dd9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
489ddc:	40                   	inc    %eax
489ddd:	50                   	push   %eax
489dde:	ff 75 14             	push   0x14(%ebp)
489de1:	42                   	inc    %edx
489de2:	53                   	push   %ebx
489de3:	ff 75 0c             	push   0xc(%ebp)
489de6:	89 55 d8             	mov    %edx,-0x28(%ebp)
489de9:	ff 75 08             	push   0x8(%ebp)
489dec:	8b d7                	mov    %edi,%edx
489dee:	e8 0d 05 f8 ff       	call   0x40a300
489df3:	83 c4 14             	add    $0x14,%esp
489df6:	85 c0                	test   %eax,%eax
489df8:	74 85                	je     0x489d7f
489dfa:	e9 c8 06 f8 ff       	jmp    0x40a4c7
489dff:	8b 45 18             	mov    0x18(%ebp),%eax
489e02:	40                   	inc    %eax
489e03:	50                   	push   %eax
489e04:	ff 75 14             	push   0x14(%ebp)
489e07:	8b d7                	mov    %edi,%edx
489e09:	53                   	push   %ebx
489e0a:	ff 75 0c             	push   0xc(%ebp)
489e0d:	8b ce                	mov    %esi,%ecx
489e0f:	ff 75 08             	push   0x8(%ebp)
489e12:	e8 e9 04 f8 ff       	call   0x40a300
489e17:	83 c4 14             	add    $0x14,%esp
489e1a:	85 c0                	test   %eax,%eax
489e1c:	0f 85 a5 06 f8 ff    	jne    0x40a4c7
489e22:	8b 45 e0             	mov    -0x20(%ebp),%eax
489e25:	39 45 d8             	cmp    %eax,-0x28(%ebp)
489e28:	0f 8d 46 07 f8 ff    	jge    0x40a574
489e2e:	3b 73 7c             	cmp    0x7c(%ebx),%esi
489e31:	73 7f                	jae    0x489eb2
489e33:	0f b7 16             	movzwl (%esi),%edx
489e36:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
489e39:	83 c6 02             	add    $0x2,%esi
489e3c:	89 55 f4             	mov    %edx,-0xc(%ebp)
489e3f:	85 c9                	test   %ecx,%ecx
489e41:	74 2b                	je     0x489e6e
489e43:	8b c2                	mov    %edx,%eax
489e45:	25 00 fc 00 00       	and    $0xfc00,%eax
489e4a:	3d 00 d8 00 00       	cmp    $0xd800,%eax
489e4f:	75 1d                	jne    0x489e6e
489e51:	0f b7 06             	movzwl (%esi),%eax
489e54:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
489e5a:	25 ff 03 00 00       	and    $0x3ff,%eax
489e5f:	c1 e2 0a             	shl    $0xa,%edx
489e62:	0b c2                	or     %edx,%eax
489e64:	05 00 00 01 00       	add    $0x10000,%eax
489e69:	83 c6 02             	add    $0x2,%esi
489e6c:	eb 03                	jmp    0x489e71
489e6e:	8b 45 f4             	mov    -0xc(%ebp),%eax
489e71:	8b 55 ec             	mov    -0x14(%ebp),%edx
489e74:	51                   	push   %ecx
489e75:	8b c8                	mov    %eax,%ecx
489e77:	e8 99 75 fe ff       	call   0x471415
489e7c:	83 c4 04             	add    $0x4,%esp
489e7f:	85 c0                	test   %eax,%eax
489e81:	0f 84 ed 06 f8 ff    	je     0x40a574
489e87:	8b 45 18             	mov    0x18(%ebp),%eax
489e8a:	ff 45 d8             	incl   -0x28(%ebp)
489e8d:	40                   	inc    %eax
489e8e:	50                   	push   %eax
489e8f:	ff 75 14             	push   0x14(%ebp)
489e92:	8b d7                	mov    %edi,%edx
489e94:	53                   	push   %ebx
489e95:	ff 75 0c             	push   0xc(%ebp)
489e98:	8b ce                	mov    %esi,%ecx
489e9a:	ff 75 08             	push   0x8(%ebp)
489e9d:	e8 5e 04 f8 ff       	call   0x40a300
489ea2:	83 c4 14             	add    $0x14,%esp
489ea5:	85 c0                	test   %eax,%eax
489ea7:	0f 84 75 ff ff ff    	je     0x489e22
489ead:	e9 15 06 f8 ff       	jmp    0x40a4c7
489eb2:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
489eb9:	0f 84 b5 06 f8 ff    	je     0x40a574
489ebf:	3b b3 88 00 00 00    	cmp    0x88(%ebx),%esi
489ec5:	e9 29 fc ff ff       	jmp    0x489af3
489eca:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
489ed1:	0f 84 9d 06 f8 ff    	je     0x40a574
489ed7:	3b 53 7c             	cmp    0x7c(%ebx),%edx
489eda:	0f 82 94 06 f8 ff    	jb     0x40a574
489ee0:	3b 93 88 00 00 00    	cmp    0x88(%ebx),%edx
489ee6:	e9 08 fc ff ff       	jmp    0x489af3
489eeb:	39 93 8c 00 00 00    	cmp    %edx,0x8c(%ebx)
489ef1:	0f 84 7d 06 f8 ff    	je     0x40a574
489ef7:	3b 8b 88 00 00 00    	cmp    0x88(%ebx),%ecx
489efd:	e9 f1 fb ff ff       	jmp    0x489af3
489f02:	8b 4d f8             	mov    -0x8(%ebp),%ecx
489f05:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
489f0c:	0f 84 62 06 f8 ff    	je     0x40a574
489f12:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
489f15:	0f 82 59 06 f8 ff    	jb     0x40a574
489f1b:	e9 cd fb ff ff       	jmp    0x489aed
489f20:	8b 45 18             	mov    0x18(%ebp),%eax
489f23:	8b 75 f8             	mov    -0x8(%ebp),%esi
489f26:	40                   	inc    %eax
489f27:	50                   	push   %eax
489f28:	ff 75 14             	push   0x14(%ebp)
489f2b:	8b d7                	mov    %edi,%edx
489f2d:	53                   	push   %ebx
489f2e:	ff 75 0c             	push   0xc(%ebp)
489f31:	8b ce                	mov    %esi,%ecx
489f33:	ff 75 08             	push   0x8(%ebp)
489f36:	e8 c5 03 f8 ff       	call   0x40a300
489f3b:	83 c4 14             	add    $0x14,%esp
489f3e:	85 c0                	test   %eax,%eax
489f40:	0f 85 81 05 f8 ff    	jne    0x40a4c7
489f46:	8b 55 f0             	mov    -0x10(%ebp),%edx
489f49:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
489f4c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
489f4f:	8b 45 e8             	mov    -0x18(%ebp),%eax
489f52:	39 45 d8             	cmp    %eax,-0x28(%ebp)
489f55:	0f 8d 19 06 f8 ff    	jge    0x40a574
489f5b:	8b 43 7c             	mov    0x7c(%ebx),%eax
489f5e:	2b c1                	sub    %ecx,%eax
489f60:	3b f0                	cmp    %eax,%esi
489f62:	77 19                	ja     0x489f7d
489f64:	8d 04 12             	lea    (%edx,%edx,1),%eax
489f67:	50                   	push   %eax
489f68:	ff 75 d4             	push   -0x2c(%ebp)
489f6b:	56                   	push   %esi
489f6c:	e8 f2 55 f9 ff       	call   0x41f563
489f71:	83 c4 0c             	add    $0xc,%esp
489f74:	85 c0                	test   %eax,%eax
489f76:	75 05                	jne    0x489f7d
489f78:	03 75 f4             	add    -0xc(%ebp),%esi
489f7b:	eb 3a                	jmp    0x489fb7
489f7d:	8b 4d dc             	mov    -0x24(%ebp),%ecx
489f80:	85 c9                	test   %ecx,%ecx
489f82:	0f 8e a1 fb ff ff    	jle    0x489b29
489f88:	8b 43 7c             	mov    0x7c(%ebx),%eax
489f8b:	8d 14 09             	lea    (%ecx,%ecx,1),%edx
489f8e:	2b c2                	sub    %edx,%eax
489f90:	89 55 ec             	mov    %edx,-0x14(%ebp)
489f93:	3b f0                	cmp    %eax,%esi
489f95:	0f 87 8e fb ff ff    	ja     0x489b29
489f9b:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
489f9e:	50                   	push   %eax
489f9f:	8d 45 90             	lea    -0x70(%ebp),%eax
489fa2:	50                   	push   %eax
489fa3:	56                   	push   %esi
489fa4:	e8 ba 55 f9 ff       	call   0x41f563
489fa9:	83 c4 0c             	add    $0xc,%esp
489fac:	85 c0                	test   %eax,%eax
489fae:	0f 85 75 fb ff ff    	jne    0x489b29
489fb4:	03 75 ec             	add    -0x14(%ebp),%esi
489fb7:	8b 45 18             	mov    0x18(%ebp),%eax
489fba:	ff 45 d8             	incl   -0x28(%ebp)
489fbd:	40                   	inc    %eax
489fbe:	50                   	push   %eax
489fbf:	ff 75 14             	push   0x14(%ebp)
489fc2:	8b d7                	mov    %edi,%edx
489fc4:	53                   	push   %ebx
489fc5:	ff 75 0c             	push   0xc(%ebp)
489fc8:	8b ce                	mov    %esi,%ecx
489fca:	ff 75 08             	push   0x8(%ebp)
489fcd:	e8 2e 03 f8 ff       	call   0x40a300
489fd2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
489fd5:	8b 55 f0             	mov    -0x10(%ebp),%edx
489fd8:	83 c4 14             	add    $0x14,%esp
489fdb:	85 c0                	test   %eax,%eax
489fdd:	0f 84 6c ff ff ff    	je     0x489f4f
489fe3:	e9 df 04 f8 ff       	jmp    0x40a4c7
489fe8:	8b 45 18             	mov    0x18(%ebp),%eax
489feb:	8b 75 f8             	mov    -0x8(%ebp),%esi
489fee:	40                   	inc    %eax
489fef:	50                   	push   %eax
489ff0:	ff 75 14             	push   0x14(%ebp)
489ff3:	8b d7                	mov    %edi,%edx
489ff5:	53                   	push   %ebx
489ff6:	ff 75 0c             	push   0xc(%ebp)
489ff9:	8b ce                	mov    %esi,%ecx
489ffb:	ff 75 08             	push   0x8(%ebp)
489ffe:	e8 fd 02 f8 ff       	call   0x40a300
48a003:	83 c4 14             	add    $0x14,%esp
48a006:	85 c0                	test   %eax,%eax
48a008:	0f 85 b9 04 f8 ff    	jne    0x40a4c7
48a00e:	8b 45 d8             	mov    -0x28(%ebp),%eax
48a011:	3b 45 e8             	cmp    -0x18(%ebp),%eax
48a014:	0f 8d 5a 05 f8 ff    	jge    0x40a574
48a01a:	3b 73 7c             	cmp    0x7c(%ebx),%esi
48a01d:	0f 83 8f fe ff ff    	jae    0x489eb2
48a023:	0f b7 0e             	movzwl (%esi),%ecx
48a026:	39 4d dc             	cmp    %ecx,-0x24(%ebp)
48a029:	74 09                	je     0x48a034
48a02b:	39 4d f0             	cmp    %ecx,-0x10(%ebp)
48a02e:	0f 85 40 05 f8 ff    	jne    0x40a574
48a034:	40                   	inc    %eax
48a035:	89 45 d8             	mov    %eax,-0x28(%ebp)
48a038:	8b 45 18             	mov    0x18(%ebp),%eax
48a03b:	40                   	inc    %eax
48a03c:	50                   	push   %eax
48a03d:	ff 75 14             	push   0x14(%ebp)
48a040:	83 c6 02             	add    $0x2,%esi
48a043:	53                   	push   %ebx
48a044:	ff 75 0c             	push   0xc(%ebp)
48a047:	8b d7                	mov    %edi,%edx
48a049:	ff 75 08             	push   0x8(%ebp)
48a04c:	8b ce                	mov    %esi,%ecx
48a04e:	e8 ad 02 f8 ff       	call   0x40a300
48a053:	83 c4 14             	add    $0x14,%esp
48a056:	85 c0                	test   %eax,%eax
48a058:	74 b4                	je     0x48a00e
48a05a:	e9 68 04 f8 ff       	jmp    0x40a4c7
48a05f:	8b 45 18             	mov    0x18(%ebp),%eax
48a062:	40                   	inc    %eax
48a063:	50                   	push   %eax
48a064:	ff 75 14             	push   0x14(%ebp)
48a067:	8b d7                	mov    %edi,%edx
48a069:	53                   	push   %ebx
48a06a:	ff 75 0c             	push   0xc(%ebp)
48a06d:	8b ce                	mov    %esi,%ecx
48a06f:	ff 75 08             	push   0x8(%ebp)
48a072:	e8 89 02 f8 ff       	call   0x40a300
48a077:	83 c4 14             	add    $0x14,%esp
48a07a:	85 c0                	test   %eax,%eax
48a07c:	0f 85 45 04 f8 ff    	jne    0x40a4c7
48a082:	8b 4d d8             	mov    -0x28(%ebp),%ecx
48a085:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
48a088:	0f 8d e6 04 f8 ff    	jge    0x40a574
48a08e:	3b 73 7c             	cmp    0x7c(%ebx),%esi
48a091:	0f 83 1b fe ff ff    	jae    0x489eb2
48a097:	0f b7 06             	movzwl (%esi),%eax
48a09a:	83 c6 02             	add    $0x2,%esi
48a09d:	39 45 dc             	cmp    %eax,-0x24(%ebp)
48a0a0:	0f 85 ce 04 f8 ff    	jne    0x40a574
48a0a6:	8b 45 18             	mov    0x18(%ebp),%eax
48a0a9:	40                   	inc    %eax
48a0aa:	50                   	push   %eax
48a0ab:	ff 75 14             	push   0x14(%ebp)
48a0ae:	41                   	inc    %ecx
48a0af:	53                   	push   %ebx
48a0b0:	ff 75 0c             	push   0xc(%ebp)
48a0b3:	89 4d d8             	mov    %ecx,-0x28(%ebp)
48a0b6:	ff 75 08             	push   0x8(%ebp)
48a0b9:	8b d7                	mov    %edi,%edx
48a0bb:	8b ce                	mov    %esi,%ecx
48a0bd:	e8 3e 02 f8 ff       	call   0x40a300
48a0c2:	83 c4 14             	add    $0x14,%esp
48a0c5:	85 c0                	test   %eax,%eax
48a0c7:	74 b9                	je     0x48a082
48a0c9:	e9 f9 03 f8 ff       	jmp    0x40a4c7
48a0ce:	8b 45 18             	mov    0x18(%ebp),%eax
48a0d1:	40                   	inc    %eax
48a0d2:	50                   	push   %eax
48a0d3:	ff 75 14             	push   0x14(%ebp)
48a0d6:	85 f6                	test   %esi,%esi
48a0d8:	8b 75 f8             	mov    -0x8(%ebp),%esi
48a0db:	53                   	push   %ebx
48a0dc:	ff 75 0c             	push   0xc(%ebp)
48a0df:	8b d7                	mov    %edi,%edx
48a0e1:	ff 75 08             	push   0x8(%ebp)
48a0e4:	8b ce                	mov    %esi,%ecx
48a0e6:	0f 84 8f 00 00 00    	je     0x48a17b
48a0ec:	e8 0f 02 f8 ff       	call   0x40a300
48a0f1:	83 c4 14             	add    $0x14,%esp
48a0f4:	85 c0                	test   %eax,%eax
48a0f6:	0f 85 cb 03 f8 ff    	jne    0x40a4c7
48a0fc:	8b 4d dc             	mov    -0x24(%ebp),%ecx
48a0ff:	3b 4d f0             	cmp    -0x10(%ebp),%ecx
48a102:	0f 8d 6c 04 f8 ff    	jge    0x40a574
48a108:	3b 73 7c             	cmp    0x7c(%ebx),%esi
48a10b:	0f 83 a1 fd ff ff    	jae    0x489eb2
48a111:	0f b7 16             	movzwl (%esi),%edx
48a114:	8b c2                	mov    %edx,%eax
48a116:	25 00 fc 00 00       	and    $0xfc00,%eax
48a11b:	83 c6 02             	add    $0x2,%esi
48a11e:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48a123:	75 1c                	jne    0x48a141
48a125:	0f b7 06             	movzwl (%esi),%eax
48a128:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
48a12e:	c1 e2 0a             	shl    $0xa,%edx
48a131:	25 ff 03 00 00       	and    $0x3ff,%eax
48a136:	0b d0                	or     %eax,%edx
48a138:	81 c2 00 00 01 00    	add    $0x10000,%edx
48a13e:	83 c6 02             	add    $0x2,%esi
48a141:	39 55 e8             	cmp    %edx,-0x18(%ebp)
48a144:	0f 84 2a 04 f8 ff    	je     0x40a574
48a14a:	39 55 e0             	cmp    %edx,-0x20(%ebp)
48a14d:	0f 84 21 04 f8 ff    	je     0x40a574
48a153:	8b 45 18             	mov    0x18(%ebp),%eax
48a156:	40                   	inc    %eax
48a157:	50                   	push   %eax
48a158:	ff 75 14             	push   0x14(%ebp)
48a15b:	41                   	inc    %ecx
48a15c:	53                   	push   %ebx
48a15d:	ff 75 0c             	push   0xc(%ebp)
48a160:	89 4d dc             	mov    %ecx,-0x24(%ebp)
48a163:	ff 75 08             	push   0x8(%ebp)