4e8a16:	33 d2                	xor    %edx,%edx
4e8a18:	8a 54 24 27          	mov    0x27(%esp),%dl
4e8a1c:	89 50 18             	mov    %edx,0x18(%eax)
4e8a1f:	33 c9                	xor    %ecx,%ecx
4e8a21:	8a 4c 24 28          	mov    0x28(%esp),%cl
4e8a25:	89 48 1c             	mov    %ecx,0x1c(%eax)
4e8a28:	8b 07                	mov    (%edi),%eax
4e8a2a:	c7 40 14 56 00 00 00 	movl   $0x56,0x14(%eax)
4e8a31:	ba 02 00 00 00       	mov    $0x2,%edx
4e8a36:	8b c7                	mov    %edi,%eax
4e8a38:	8b 08                	mov    (%eax),%ecx
4e8a3a:	ff 51 04             	call   *0x4(%ecx)
4e8a3d:	8b 44 24 08          	mov    0x8(%esp),%eax
4e8a41:	3d 00 01 00 00       	cmp    $0x100,%eax
4e8a46:	7f 0b                	jg     0x4e8a53
4e8a48:	8b 54 24 08          	mov    0x8(%esp),%edx
4e8a4c:	8b 0c 24             	mov    (%esp),%ecx
4e8a4f:	3b d1                	cmp    %ecx,%edx
4e8a51:	7e 0f                	jle    0x4e8a62
4e8a53:	8b 07                	mov    (%edi),%eax
4e8a55:	c7 40 14 08 00 00 00 	movl   $0x8,0x14(%eax)
4e8a5c:	8b c7                	mov    %edi,%eax
4e8a5e:	8b 10                	mov    (%eax),%edx
4e8a60:	ff 12                	call   *(%edx)
4e8a62:	33 ed                	xor    %ebp,%ebp
4e8a64:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4e8a68:	89 44 24 14          	mov    %eax,0x14(%esp)
4e8a6c:	8b 54 24 08          	mov    0x8(%esp),%edx
4e8a70:	3b ea                	cmp    %edx,%ebp
4e8a72:	7d 3c                	jge    0x4e8ab0
4e8a74:	85 f6                	test   %esi,%esi
4e8a76:	75 21                	jne    0x4e8a99
4e8a78:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
4e8a7c:	8b c7                	mov    %edi,%eax
4e8a7e:	ff 53 0c             	call   *0xc(%ebx)
4e8a81:	85 c0                	test   %eax,%eax
4e8a83:	75 07                	jne    0x4e8a8c
4e8a85:	33 c0                	xor    %eax,%eax
4e8a87:	e9 ef 00 00 00       	jmp    0x4e8b7b
4e8a8c:	8b 54 24 0c          	mov    0xc(%esp),%edx
4e8a90:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e8a94:	8b 70 04             	mov    0x4(%eax),%esi
4e8a97:	8b 1a                	mov    (%edx),%ebx
4e8a99:	4e                   	dec    %esi
4e8a9a:	8b 44 24 14          	mov    0x14(%esp),%eax
4e8a9e:	8a 13                	mov    (%ebx),%dl
4e8aa0:	88 10                	mov    %dl,(%eax)
4e8aa2:	43                   	inc    %ebx
4e8aa3:	45                   	inc    %ebp
4e8aa4:	ff 44 24 14          	incl   0x14(%esp)
4e8aa8:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4e8aac:	3b e9                	cmp    %ecx,%ebp
4e8aae:	7c c4                	jl     0x4e8a74
4e8ab0:	8b 44 24 08          	mov    0x8(%esp),%eax
4e8ab4:	29 04 24             	sub    %eax,(%esp)
4e8ab7:	f6 44 24 04 10       	testb  $0x10,0x4(%esp)
4e8abc:	74 16                	je     0x4e8ad4
4e8abe:	83 6c 24 04 10       	subl   $0x10,0x4(%esp)
4e8ac3:	8b 6c 24 04          	mov    0x4(%esp),%ebp
4e8ac7:	c1 e5 02             	shl    $0x2,%ebp
4e8aca:	03 ef                	add    %edi,%ebp
4e8acc:	81 c5 c4 00 00 00    	add    $0xc4,%ebp
4e8ad2:	eb 0f                	jmp    0x4e8ae3
4e8ad4:	8b 6c 24 04          	mov    0x4(%esp),%ebp
4e8ad8:	c1 e5 02             	shl    $0x2,%ebp
4e8adb:	03 ef                	add    %edi,%ebp
4e8add:	81 c5 b4 00 00 00    	add    $0xb4,%ebp
4e8ae3:	8b 44 24 04          	mov    0x4(%esp),%eax
4e8ae7:	85 c0                	test   %eax,%eax
4e8ae9:	7c 09                	jl     0x4e8af4
4e8aeb:	8b 54 24 04          	mov    0x4(%esp),%edx
4e8aef:	83 fa 04             	cmp    $0x4,%edx
4e8af2:	7c 16                	jl     0x4e8b0a
4e8af4:	8b 07                	mov    (%edi),%eax
4e8af6:	c7 40 14 1e 00 00 00 	movl   $0x1e,0x14(%eax)
4e8afd:	8b 54 24 04          	mov    0x4(%esp),%edx
4e8b01:	89 50 18             	mov    %edx,0x18(%eax)
4e8b04:	8b c7                	mov    %edi,%eax
4e8b06:	8b 10                	mov    (%eax),%edx
4e8b08:	ff 12                	call   *(%edx)
4e8b0a:	8b 4d 00             	mov    0x0(%ebp),%ecx
4e8b0d:	85 c9                	test   %ecx,%ecx
4e8b0f:	75 0a                	jne    0x4e8b1b
4e8b11:	8b c7                	mov    %edi,%eax
4e8b13:	e8 7c 15 00 00       	call   0x4ea094
4e8b18:	89 45 00             	mov    %eax,0x0(%ebp)
4e8b1b:	6a 11                	push   $0x11
4e8b1d:	8d 54 24 1c          	lea    0x1c(%esp),%edx
4e8b21:	52                   	push   %edx
4e8b22:	8b 4d 00             	mov    0x0(%ebp),%ecx
4e8b25:	51                   	push   %ecx
4e8b26:	e8 71 16 ff ff       	call   0x4da19c
4e8b2b:	83 c4 0c             	add    $0xc,%esp
4e8b2e:	68 00 01 00 00       	push   $0x100
4e8b33:	8d 44 24 30          	lea    0x30(%esp),%eax
4e8b37:	50                   	push   %eax
4e8b38:	8b 55 00             	mov    0x0(%ebp),%edx
4e8b3b:	83 c2 11             	add    $0x11,%edx
4e8b3e:	52                   	push   %edx
4e8b3f:	e8 58 16 ff ff       	call   0x4da19c
4e8b44:	83 c4 0c             	add    $0xc,%esp
4e8b47:	8b 0c 24             	mov    (%esp),%ecx
4e8b4a:	83 f9 10             	cmp    $0x10,%ecx
4e8b4d:	0f 8f 80 fd ff ff    	jg     0x4e88d3
4e8b53:	8b 04 24             	mov    (%esp),%eax
4e8b56:	85 c0                	test   %eax,%eax
4e8b58:	74 0f                	je     0x4e8b69
4e8b5a:	8b 17                	mov    (%edi),%edx
4e8b5c:	8b c7                	mov    %edi,%eax
4e8b5e:	c7 42 14 0b 00 00 00 	movl   $0xb,0x14(%edx)
4e8b65:	8b 10                	mov    (%eax),%edx
4e8b67:	ff 12                	call   *(%edx)
4e8b69:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4e8b6d:	89 19                	mov    %ebx,(%ecx)
4e8b6f:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e8b73:	89 70 04             	mov    %esi,0x4(%eax)
4e8b76:	b8 01 00 00 00       	mov    $0x1,%eax
4e8b7b:	81 c4 2c 01 00 00    	add    $0x12c,%esp
4e8b81:	5d                   	pop    %ebp
4e8b82:	5f                   	pop    %edi
4e8b83:	5e                   	pop    %esi
4e8b84:	5b                   	pop    %ebx
4e8b85:	c3                   	ret
4e8b86:	90                   	nop
4e8b87:	90                   	nop
4e8b88:	53                   	push   %ebx
4e8b89:	56                   	push   %esi
4e8b8a:	57                   	push   %edi
4e8b8b:	55                   	push   %ebp
4e8b8c:	8b e8                	mov    %eax,%ebp
4e8b8e:	83 c4 e8             	add    $0xffffffe8,%esp
4e8b91:	8b 45 18             	mov    0x18(%ebp),%eax
4e8b94:	89 44 24 10          	mov    %eax,0x10(%esp)
4e8b98:	8b 44 24 10          	mov    0x10(%esp),%eax
4e8b9c:	8b 54 24 10          	mov    0x10(%esp),%edx
4e8ba0:	8b 78 04             	mov    0x4(%eax),%edi
4e8ba3:	8b 32                	mov    (%edx),%esi
4e8ba5:	85 ff                	test   %edi,%edi
4e8ba7:	75 21                	jne    0x4e8bca
4e8ba9:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4e8bad:	8b c5                	mov    %ebp,%eax
4e8baf:	ff 53 0c             	call   *0xc(%ebx)
4e8bb2:	85 c0                	test   %eax,%eax
4e8bb4:	75 07                	jne    0x4e8bbd
4e8bb6:	33 c0                	xor    %eax,%eax
4e8bb8:	e9 69 02 00 00       	jmp    0x4e8e26
4e8bbd:	8b 54 24 10          	mov    0x10(%esp),%edx
4e8bc1:	8b 44 24 10          	mov    0x10(%esp),%eax
4e8bc5:	8b 78 04             	mov    0x4(%eax),%edi
4e8bc8:	8b 32                	mov    (%edx),%esi
4e8bca:	33 c0                	xor    %eax,%eax
4e8bcc:	4f                   	dec    %edi
4e8bcd:	8a 06                	mov    (%esi),%al
4e8bcf:	46                   	inc    %esi
4e8bd0:	c1 e0 08             	shl    $0x8,%eax
4e8bd3:	85 ff                	test   %edi,%edi
4e8bd5:	89 04 24             	mov    %eax,(%esp)
4e8bd8:	75 21                	jne    0x4e8bfb
4e8bda:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4e8bde:	8b c5                	mov    %ebp,%eax
4e8be0:	ff 53 0c             	call   *0xc(%ebx)
4e8be3:	85 c0                	test   %eax,%eax
4e8be5:	75 07                	jne    0x4e8bee
4e8be7:	33 c0                	xor    %eax,%eax
4e8be9:	e9 38 02 00 00       	jmp    0x4e8e26
4e8bee:	8b 54 24 10          	mov    0x10(%esp),%edx
4e8bf2:	8b 44 24 10          	mov    0x10(%esp),%eax
4e8bf6:	8b 78 04             	mov    0x4(%eax),%edi
4e8bf9:	8b 32                	mov    (%edx),%esi
4e8bfb:	4f                   	dec    %edi
4e8bfc:	33 c0                	xor    %eax,%eax
4e8bfe:	8a 06                	mov    (%esi),%al
4e8c00:	01 04 24             	add    %eax,(%esp)
4e8c03:	46                   	inc    %esi
4e8c04:	83 2c 24 02          	subl   $0x2,(%esp)
4e8c08:	8b 14 24             	mov    (%esp),%edx
4e8c0b:	85 d2                	test   %edx,%edx
4e8c0d:	0f 8e ea 01 00 00    	jle    0x4e8dfd
4e8c13:	85 ff                	test   %edi,%edi
4e8c15:	75 21                	jne    0x4e8c38
4e8c17:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4e8c1b:	8b c5                	mov    %ebp,%eax
4e8c1d:	ff 53 0c             	call   *0xc(%ebx)
4e8c20:	85 c0                	test   %eax,%eax
4e8c22:	75 07                	jne    0x4e8c2b
4e8c24:	33 c0                	xor    %eax,%eax
4e8c26:	e9 fb 01 00 00       	jmp    0x4e8e26
4e8c2b:	8b 54 24 10          	mov    0x10(%esp),%edx
4e8c2f:	8b 44 24 10          	mov    0x10(%esp),%eax
4e8c33:	8b 78 04             	mov    0x4(%eax),%edi
4e8c36:	8b 32                	mov    (%edx),%esi
4e8c38:	33 db                	xor    %ebx,%ebx
4e8c3a:	4f                   	dec    %edi
4e8c3b:	8a 1e                	mov    (%esi),%bl
4e8c3d:	46                   	inc    %esi
4e8c3e:	8b c3                	mov    %ebx,%eax
4e8c40:	c1 f8 04             	sar    $0x4,%eax
4e8c43:	83 e3 0f             	and    $0xf,%ebx
4e8c46:	89 44 24 08          	mov    %eax,0x8(%esp)
4e8c4a:	8b 45 00             	mov    0x0(%ebp),%eax
4e8c4d:	c7 40 14 51 00 00 00 	movl   $0x51,0x14(%eax)
4e8c54:	89 58 18             	mov    %ebx,0x18(%eax)
4e8c57:	8b 54 24 08          	mov    0x8(%esp),%edx
4e8c5b:	89 50 1c             	mov    %edx,0x1c(%eax)
4e8c5e:	8b c5                	mov    %ebp,%eax
4e8c60:	ba 01 00 00 00       	mov    $0x1,%edx
4e8c65:	8b 08                	mov    (%eax),%ecx
4e8c67:	ff 51 04             	call   *0x4(%ecx)
4e8c6a:	83 fb 04             	cmp    $0x4,%ebx
4e8c6d:	7c 13                	jl     0x4e8c82
4e8c6f:	8b 45 00             	mov    0x0(%ebp),%eax
4e8c72:	c7 40 14 1f 00 00 00 	movl   $0x1f,0x14(%eax)
4e8c79:	89 58 18             	mov    %ebx,0x18(%eax)
4e8c7c:	8b c5                	mov    %ebp,%eax
4e8c7e:	8b 10                	mov    (%eax),%edx
4e8c80:	ff 12                	call   *(%edx)
4e8c82:	8b 8c 9d a4 00 00 00 	mov    0xa4(%ebp,%ebx,4),%ecx
4e8c89:	85 c9                	test   %ecx,%ecx
4e8c8b:	75 0e                	jne    0x4e8c9b
4e8c8d:	8b c5                	mov    %ebp,%eax
4e8c8f:	e8 e8 13 00 00       	call   0x4ea07c
4e8c94:	89 84 9d a4 00 00 00 	mov    %eax,0xa4(%ebp,%ebx,4)
4e8c9b:	8b 94 9d a4 00 00 00 	mov    0xa4(%ebp,%ebx,4),%edx
4e8ca2:	33 c9                	xor    %ecx,%ecx
4e8ca4:	89 54 24 0c          	mov    %edx,0xc(%esp)
4e8ca8:	89 4c 24 04          	mov    %ecx,0x4(%esp)
4e8cac:	c7 44 24 14 30 cf 68 	movl   $0x68cf30,0x14(%esp)
4e8cb3:	00
4e8cb4:	8b 44 24 08          	mov    0x8(%esp),%eax
4e8cb8:	85 c0                	test   %eax,%eax
4e8cba:	74 5d                	je     0x4e8d19
4e8cbc:	85 ff                	test   %edi,%edi
4e8cbe:	75 21                	jne    0x4e8ce1
4e8cc0:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4e8cc4:	8b c5                	mov    %ebp,%eax
4e8cc6:	ff 53 0c             	call   *0xc(%ebx)
4e8cc9:	85 c0                	test   %eax,%eax
4e8ccb:	75 07                	jne    0x4e8cd4
4e8ccd:	33 c0                	xor    %eax,%eax
4e8ccf:	e9 52 01 00 00       	jmp    0x4e8e26
4e8cd4:	8b 54 24 10          	mov    0x10(%esp),%edx
4e8cd8:	8b 44 24 10          	mov    0x10(%esp),%eax
4e8cdc:	8b 78 04             	mov    0x4(%eax),%edi
4e8cdf:	8b 32                	mov    (%edx),%esi
4e8ce1:	4f                   	dec    %edi
4e8ce2:	33 db                	xor    %ebx,%ebx
4e8ce4:	8a 1e                	mov    (%esi),%bl
4e8ce6:	c1 e3 08             	shl    $0x8,%ebx
4e8ce9:	46                   	inc    %esi
4e8cea:	85 ff                	test   %edi,%edi
4e8cec:	75 21                	jne    0x4e8d0f
4e8cee:	8b 74 24 10          	mov    0x10(%esp),%esi
4e8cf2:	8b c5                	mov    %ebp,%eax
4e8cf4:	ff 56 0c             	call   *0xc(%esi)
4e8cf7:	85 c0                	test   %eax,%eax
4e8cf9:	75 07                	jne    0x4e8d02
4e8cfb:	33 c0                	xor    %eax,%eax
4e8cfd:	e9 24 01 00 00       	jmp    0x4e8e26
4e8d02:	8b 54 24 10          	mov    0x10(%esp),%edx
4e8d06:	8b 44 24 10          	mov    0x10(%esp),%eax
4e8d0a:	8b 78 04             	mov    0x4(%eax),%edi
4e8d0d:	8b 32                	mov    (%edx),%esi
4e8d0f:	4f                   	dec    %edi
4e8d10:	33 c0                	xor    %eax,%eax
4e8d12:	8a 06                	mov    (%esi),%al
4e8d14:	03 d8                	add    %eax,%ebx
4e8d16:	46                   	inc    %esi
4e8d17:	eb 2b                	jmp    0x4e8d44
4e8d19:	85 ff                	test   %edi,%edi
4e8d1b:	75 21                	jne    0x4e8d3e
4e8d1d:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4e8d21:	8b c5                	mov    %ebp,%eax
4e8d23:	ff 53 0c             	call   *0xc(%ebx)
4e8d26:	85 c0                	test   %eax,%eax
4e8d28:	75 07                	jne    0x4e8d31
4e8d2a:	33 c0                	xor    %eax,%eax
4e8d2c:	e9 f5 00 00 00       	jmp    0x4e8e26
4e8d31:	8b 54 24 10          	mov    0x10(%esp),%edx
4e8d35:	8b 44 24 10          	mov    0x10(%esp),%eax
4e8d39:	8b 78 04             	mov    0x4(%eax),%edi
4e8d3c:	8b 32                	mov    (%edx),%esi
4e8d3e:	4f                   	dec    %edi
4e8d3f:	33 db                	xor    %ebx,%ebx
4e8d41:	8a 1e                	mov    (%esi),%bl
4e8d43:	46                   	inc    %esi
4e8d44:	8b 44 24 14          	mov    0x14(%esp),%eax
4e8d48:	8b 10                	mov    (%eax),%edx
4e8d4a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4e8d4e:	66 89 1c 51          	mov    %bx,(%ecx,%edx,2)
4e8d52:	ff 44 24 04          	incl   0x4(%esp)
4e8d56:	83 44 24 14 04       	addl   $0x4,0x14(%esp)
4e8d5b:	8b 44 24 04          	mov    0x4(%esp),%eax
4e8d5f:	83 f8 40             	cmp    $0x40,%eax
4e8d62:	0f 8c 4c ff ff ff    	jl     0x4e8cb4
4e8d68:	8b 55 00             	mov    0x0(%ebp),%edx
4e8d6b:	8b 4a 68             	mov    0x68(%edx),%ecx
4e8d6e:	83 f9 02             	cmp    $0x2,%ecx
4e8d71:	7c 6f                	jl     0x4e8de2
4e8d73:	33 c0                	xor    %eax,%eax
4e8d75:	89 44 24 04          	mov    %eax,0x4(%esp)
4e8d79:	8b 54 24 0c          	mov    0xc(%esp),%edx
4e8d7d:	8b da                	mov    %edx,%ebx
4e8d7f:	8b 45 00             	mov    0x0(%ebp),%eax
4e8d82:	83 c0 18             	add    $0x18,%eax
4e8d85:	0f b7 13             	movzwl (%ebx),%edx
4e8d88:	89 10                	mov    %edx,(%eax)
4e8d8a:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
4e8d8e:	89 48 04             	mov    %ecx,0x4(%eax)
4e8d91:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
4e8d95:	89 50 08             	mov    %edx,0x8(%eax)
4e8d98:	0f b7 4b 06          	movzwl 0x6(%ebx),%ecx
4e8d9c:	89 48 0c             	mov    %ecx,0xc(%eax)
4e8d9f:	0f b7 53 08          	movzwl 0x8(%ebx),%edx
4e8da3:	89 50 10             	mov    %edx,0x10(%eax)
4e8da6:	0f b7 4b 0a          	movzwl 0xa(%ebx),%ecx
4e8daa:	89 48 14             	mov    %ecx,0x14(%eax)
4e8dad:	0f b7 53 0c          	movzwl 0xc(%ebx),%edx
4e8db1:	89 50 18             	mov    %edx,0x18(%eax)
4e8db4:	0f b7 4b 0e          	movzwl 0xe(%ebx),%ecx
4e8db8:	89 48 1c             	mov    %ecx,0x1c(%eax)
4e8dbb:	8b 45 00             	mov    0x0(%ebp),%eax
4e8dbe:	c7 40 14 5d 00 00 00 	movl   $0x5d,0x14(%eax)
4e8dc5:	ba 02 00 00 00       	mov    $0x2,%edx
4e8dca:	8b c5                	mov    %ebp,%eax
4e8dcc:	8b 08                	mov    (%eax),%ecx
4e8dce:	ff 51 04             	call   *0x4(%ecx)
4e8dd1:	83 44 24 04 08       	addl   $0x8,0x4(%esp)
4e8dd6:	83 c3 10             	add    $0x10,%ebx
4e8dd9:	8b 44 24 04          	mov    0x4(%esp),%eax
4e8ddd:	83 f8 40             	cmp    $0x40,%eax
4e8de0:	7c 9d                	jl     0x4e8d7f
4e8de2:	83 2c 24 41          	subl   $0x41,(%esp)
4e8de6:	8b 54 24 08          	mov    0x8(%esp),%edx
4e8dea:	85 d2                	test   %edx,%edx
4e8dec:	74 04                	je     0x4e8df2
4e8dee:	83 2c 24 40          	subl   $0x40,(%esp)
4e8df2:	8b 0c 24             	mov    (%esp),%ecx
4e8df5:	85 c9                	test   %ecx,%ecx
4e8df7:	0f 8f 16 fe ff ff    	jg     0x4e8c13
4e8dfd:	8b 04 24             	mov    (%esp),%eax
4e8e00:	85 c0                	test   %eax,%eax
4e8e02:	74 10                	je     0x4e8e14
4e8e04:	8b 55 00             	mov    0x0(%ebp),%edx
4e8e07:	8b c5                	mov    %ebp,%eax
4e8e09:	c7 42 14 0b 00 00 00 	movl   $0xb,0x14(%edx)
4e8e10:	8b 10                	mov    (%eax),%edx
4e8e12:	ff 12                	call   *(%edx)
4e8e14:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4e8e18:	89 31                	mov    %esi,(%ecx)
4e8e1a:	8b 44 24 10          	mov    0x10(%esp),%eax