415ad8:	d3 e8                	shr    %cl,%eax
415ada:	0f b6 8c 18 b8 00 00 	movzbl 0xb8(%eax,%ebx,1),%ecx
415ae1:	00
415ae2:	03 4e 04             	add    0x4(%esi),%ecx
415ae5:	8b d1                	mov    %ecx,%edx
415ae7:	c1 ea 03             	shr    $0x3,%edx
415aea:	01 16                	add    %edx,(%esi)
415aec:	83 e1 07             	and    $0x7,%ecx
415aef:	89 4e 04             	mov    %ecx,0x4(%esi)
415af2:	0f b7 84 43 b8 04 00 	movzwl 0x4b8(%ebx,%eax,2),%eax
415af9:	00
415afa:	eb 57                	jmp    0x415b53
415afc:	42                   	inc    %edx
415afd:	c7 45 08 0f 00 00 00 	movl   $0xf,0x8(%ebp)
415b04:	83 fa 0f             	cmp    $0xf,%edx
415b07:	73 16                	jae    0x415b1f
415b09:	8d 4c 93 34          	lea    0x34(%ebx,%edx,4),%ecx
415b0d:	3b 01                	cmp    (%ecx),%eax
415b0f:	72 0b                	jb     0x415b1c
415b11:	42                   	inc    %edx
415b12:	83 c1 04             	add    $0x4,%ecx
415b15:	83 fa 0f             	cmp    $0xf,%edx
415b18:	72 f3                	jb     0x415b0d
415b1a:	eb 03                	jmp    0x415b1f
415b1c:	89 55 08             	mov    %edx,0x8(%ebp)
415b1f:	8b 4e 04             	mov    0x4(%esi),%ecx
415b22:	03 4d 08             	add    0x8(%ebp),%ecx
415b25:	6a 10                	push   $0x10
415b27:	8b d1                	mov    %ecx,%edx
415b29:	c1 ea 03             	shr    $0x3,%edx
415b2c:	01 16                	add    %edx,(%esi)
415b2e:	8b 55 08             	mov    0x8(%ebp),%edx
415b31:	83 e1 07             	and    $0x7,%ecx
415b34:	89 4e 04             	mov    %ecx,0x4(%esi)
415b37:	2b 44 93 30          	sub    0x30(%ebx,%edx,4),%eax
415b3b:	59                   	pop    %ecx
415b3c:	2b ca                	sub    %edx,%ecx
415b3e:	d3 e8                	shr    %cl,%eax
415b40:	03 44 93 74          	add    0x74(%ebx,%edx,4),%eax
415b44:	3b 43 30             	cmp    0x30(%ebx),%eax
415b47:	72 02                	jb     0x415b4b
415b49:	33 c0                	xor    %eax,%eax
415b4b:	0f b7 84 43 b8 0c 00 	movzwl 0xcb8(%ebx,%eax,2),%eax
415b52:	00
415b53:	b9 00 01 00 00       	mov    $0x100,%ecx
415b58:	3b c1                	cmp    %ecx,%eax
415b5a:	73 14                	jae    0x415b70
415b5c:	8b 57 70             	mov    0x70(%edi),%edx
415b5f:	8b 8f 34 4b 00 00    	mov    0x4b34(%edi),%ecx
415b65:	88 04 11             	mov    %al,(%ecx,%edx,1)
415b68:	ff 47 70             	incl   0x70(%edi)
415b6b:	e9 bc fe ff ff       	jmp    0x415a2c
415b70:	3d 06 01 00 00       	cmp    $0x106,%eax
415b75:	0f 82 14 04 00 00    	jb     0x415f8f
415b7b:	05 fa fe ff ff       	add    $0xfffffefa,%eax
415b80:	83 f8 08             	cmp    $0x8,%eax
415b83:	73 08                	jae    0x415b8d
415b85:	83 c0 02             	add    $0x2,%eax
415b88:	89 45 f8             	mov    %eax,-0x8(%ebp)
415b8b:	eb 3f                	jmp    0x415bcc
415b8d:	8b c8                	mov    %eax,%ecx
415b8f:	83 e0 03             	and    $0x3,%eax
415b92:	c1 e9 02             	shr    $0x2,%ecx
415b95:	49                   	dec    %ecx
415b96:	83 c8 04             	or     $0x4,%eax
415b99:	d3 e0                	shl    %cl,%eax
415b9b:	89 4d 08             	mov    %ecx,0x8(%ebp)
415b9e:	40                   	inc    %eax
415b9f:	40                   	inc    %eax
415ba0:	89 45 f8             	mov    %eax,-0x8(%ebp)
415ba3:	85 c9                	test   %ecx,%ecx
415ba5:	76 25                	jbe    0x415bcc
415ba7:	8b ce                	mov    %esi,%ecx
415ba9:	e8 5c 3b ff ff       	call   0x40970a
415bae:	6a 10                	push   $0x10
415bb0:	59                   	pop    %ecx
415bb1:	2b 4d 08             	sub    0x8(%ebp),%ecx
415bb4:	d3 e8                	shr    %cl,%eax
415bb6:	01 45 f8             	add    %eax,-0x8(%ebp)
415bb9:	8b 46 04             	mov    0x4(%esi),%eax
415bbc:	03 45 08             	add    0x8(%ebp),%eax
415bbf:	8b c8                	mov    %eax,%ecx
415bc1:	c1 e9 03             	shr    $0x3,%ecx
415bc4:	01 0e                	add    %ecx,(%esi)
415bc6:	83 e0 07             	and    $0x7,%eax
415bc9:	89 46 04             	mov    %eax,0x4(%esi)
415bcc:	8b 45 f8             	mov    -0x8(%ebp),%eax
415bcf:	8b ce                	mov    %esi,%ecx
415bd1:	89 45 f4             	mov    %eax,-0xc(%ebp)
415bd4:	e8 31 3b ff ff       	call   0x40970a
415bd9:	8b 93 a0 0f 00 00    	mov    0xfa0(%ebx),%edx
415bdf:	25 fe ff 00 00       	and    $0xfffe,%eax
415be4:	3b 84 93 20 0f 00 00 	cmp    0xf20(%ebx,%edx,4),%eax
415beb:	73 29                	jae    0x415c16
415bed:	6a 10                	push   $0x10
415bef:	59                   	pop    %ecx
415bf0:	2b ca                	sub    %edx,%ecx
415bf2:	d3 e8                	shr    %cl,%eax
415bf4:	0f b6 8c 18 a4 0f 00 	movzbl 0xfa4(%eax,%ebx,1),%ecx
415bfb:	00
415bfc:	03 4e 04             	add    0x4(%esi),%ecx
415bff:	8b d1                	mov    %ecx,%edx
415c01:	c1 ea 03             	shr    $0x3,%edx
415c04:	01 16                	add    %edx,(%esi)
415c06:	83 e1 07             	and    $0x7,%ecx
415c09:	89 4e 04             	mov    %ecx,0x4(%esi)
415c0c:	0f b7 84 43 a4 13 00 	movzwl 0x13a4(%ebx,%eax,2),%eax
415c13:	00
415c14:	eb 63                	jmp    0x415c79
415c16:	42                   	inc    %edx
415c17:	c7 45 08 0f 00 00 00 	movl   $0xf,0x8(%ebp)
415c1e:	83 fa 0f             	cmp    $0xf,%edx
415c21:	73 19                	jae    0x415c3c
415c23:	8d 8c 93 20 0f 00 00 	lea    0xf20(%ebx,%edx,4),%ecx
415c2a:	3b 01                	cmp    (%ecx),%eax
415c2c:	72 0b                	jb     0x415c39
415c2e:	42                   	inc    %edx
415c2f:	83 c1 04             	add    $0x4,%ecx
415c32:	83 fa 0f             	cmp    $0xf,%edx
415c35:	72 f3                	jb     0x415c2a
415c37:	eb 03                	jmp    0x415c3c
415c39:	89 55 08             	mov    %edx,0x8(%ebp)
415c3c:	8b 4e 04             	mov    0x4(%esi),%ecx
415c3f:	03 4d 08             	add    0x8(%ebp),%ecx
415c42:	6a 10                	push   $0x10
415c44:	8b d1                	mov    %ecx,%edx
415c46:	c1 ea 03             	shr    $0x3,%edx
415c49:	01 16                	add    %edx,(%esi)
415c4b:	8b 55 08             	mov    0x8(%ebp),%edx
415c4e:	83 e1 07             	and    $0x7,%ecx
415c51:	89 4e 04             	mov    %ecx,0x4(%esi)
415c54:	2b 84 93 1c 0f 00 00 	sub    0xf1c(%ebx,%edx,4),%eax
415c5b:	59                   	pop    %ecx
415c5c:	2b ca                	sub    %edx,%ecx
415c5e:	d3 e8                	shr    %cl,%eax
415c60:	03 84 93 60 0f 00 00 	add    0xf60(%ebx,%edx,4),%eax
415c67:	3b 83 1c 0f 00 00    	cmp    0xf1c(%ebx),%eax
415c6d:	72 02                	jb     0x415c71
415c6f:	33 c0                	xor    %eax,%eax
415c71:	0f b7 84 43 a4 1b 00 	movzwl 0x1ba4(%ebx,%eax,2),%eax
415c78:	00
415c79:	83 f8 04             	cmp    $0x4,%eax
415c7c:	73 09                	jae    0x415c87
415c7e:	40                   	inc    %eax
415c7f:	89 45 f0             	mov    %eax,-0x10(%ebp)
415c82:	e9 25 01 00 00       	jmp    0x415dac
415c87:	8b c8                	mov    %eax,%ecx
415c89:	83 e0 01             	and    $0x1,%eax
415c8c:	d1 e9                	shr    $1,%ecx
415c8e:	49                   	dec    %ecx
415c8f:	83 c8 02             	or     $0x2,%eax
415c92:	d3 e0                	shl    %cl,%eax
415c94:	89 4d 08             	mov    %ecx,0x8(%ebp)
415c97:	40                   	inc    %eax
415c98:	89 45 f0             	mov    %eax,-0x10(%ebp)
415c9b:	85 c9                	test   %ecx,%ecx
415c9d:	0f 86 09 01 00 00    	jbe    0x415dac
415ca3:	83 f9 04             	cmp    $0x4,%ecx
415ca6:	0f 82 db 00 00 00    	jb     0x415d87
415cac:	76 2d                	jbe    0x415cdb
415cae:	8b ce                	mov    %esi,%ecx
415cb0:	e8 5a ca ff ff       	call   0x41270f
415cb5:	8b d0                	mov    %eax,%edx
415cb7:	8b 45 08             	mov    0x8(%ebp),%eax
415cba:	6a 24                	push   $0x24
415cbc:	59                   	pop    %ecx
415cbd:	2b c8                	sub    %eax,%ecx
415cbf:	d3 ea                	shr    %cl,%edx
415cc1:	8b 4e 04             	mov    0x4(%esi),%ecx
415cc4:	8d 44 08 fc          	lea    -0x4(%eax,%ecx,1),%eax
415cc8:	8b c8                	mov    %eax,%ecx
415cca:	c1 e2 04             	shl    $0x4,%edx
415ccd:	01 55 f0             	add    %edx,-0x10(%ebp)
415cd0:	c1 e9 03             	shr    $0x3,%ecx
415cd3:	01 0e                	add    %ecx,(%esi)
415cd5:	83 e0 07             	and    $0x7,%eax
415cd8:	89 46 04             	mov    %eax,0x4(%esi)
415cdb:	8b ce                	mov    %esi,%ecx
415cdd:	e8 28 3a ff ff       	call   0x40970a
415ce2:	8b 93 8c 1e 00 00    	mov    0x1e8c(%ebx),%edx
415ce8:	25 fe ff 00 00       	and    $0xfffe,%eax
415ced:	3b 84 93 0c 1e 00 00 	cmp    0x1e0c(%ebx,%edx,4),%eax
415cf4:	73 29                	jae    0x415d1f
415cf6:	6a 10                	push   $0x10
415cf8:	59                   	pop    %ecx
415cf9:	2b ca                	sub    %edx,%ecx
415cfb:	d3 e8                	shr    %cl,%eax
415cfd:	0f b6 8c 18 90 1e 00 	movzbl 0x1e90(%eax,%ebx,1),%ecx
415d04:	00
415d05:	03 4e 04             	add    0x4(%esi),%ecx
415d08:	8b d1                	mov    %ecx,%edx
415d0a:	c1 ea 03             	shr    $0x3,%edx
415d0d:	01 16                	add    %edx,(%esi)
415d0f:	83 e1 07             	and    $0x7,%ecx
415d12:	89 4e 04             	mov    %ecx,0x4(%esi)
415d15:	0f b7 84 43 90 22 00 	movzwl 0x2290(%ebx,%eax,2),%eax
415d1c:	00
415d1d:	eb 63                	jmp    0x415d82
415d1f:	42                   	inc    %edx
415d20:	c7 45 08 0f 00 00 00 	movl   $0xf,0x8(%ebp)
415d27:	83 fa 0f             	cmp    $0xf,%edx
415d2a:	73 19                	jae    0x415d45
415d2c:	8d 8c 93 0c 1e 00 00 	lea    0x1e0c(%ebx,%edx,4),%ecx
415d33:	3b 01                	cmp    (%ecx),%eax
415d35:	72 0b                	jb     0x415d42
415d37:	42                   	inc    %edx
415d38:	83 c1 04             	add    $0x4,%ecx
415d3b:	83 fa 0f             	cmp    $0xf,%edx
415d3e:	72 f3                	jb     0x415d33
415d40:	eb 03                	jmp    0x415d45
415d42:	89 55 08             	mov    %edx,0x8(%ebp)
415d45:	8b 4e 04             	mov    0x4(%esi),%ecx
415d48:	03 4d 08             	add    0x8(%ebp),%ecx
415d4b:	6a 10                	push   $0x10
415d4d:	8b d1                	mov    %ecx,%edx
415d4f:	c1 ea 03             	shr    $0x3,%edx
415d52:	01 16                	add    %edx,(%esi)
415d54:	8b 55 08             	mov    0x8(%ebp),%edx
415d57:	83 e1 07             	and    $0x7,%ecx
415d5a:	89 4e 04             	mov    %ecx,0x4(%esi)
415d5d:	2b 84 93 08 1e 00 00 	sub    0x1e08(%ebx,%edx,4),%eax
415d64:	59                   	pop    %ecx
415d65:	2b ca                	sub    %edx,%ecx
415d67:	d3 e8                	shr    %cl,%eax
415d69:	03 84 93 4c 1e 00 00 	add    0x1e4c(%ebx,%edx,4),%eax
415d70:	3b 83 08 1e 00 00    	cmp    0x1e08(%ebx),%eax
415d76:	72 02                	jb     0x415d7a
415d78:	33 c0                	xor    %eax,%eax
415d7a:	0f b7 84 43 90 2a 00 	movzwl 0x2a90(%ebx,%eax,2),%eax
415d81:	00
415d82:	01 45 f0             	add    %eax,-0x10(%ebp)
415d85:	eb 25                	jmp    0x415dac
415d87:	8b ce                	mov    %esi,%ecx
415d89:	e8 81 c9 ff ff       	call   0x41270f
415d8e:	6a 20                	push   $0x20
415d90:	59                   	pop    %ecx
415d91:	2b 4d 08             	sub    0x8(%ebp),%ecx
415d94:	d3 e8                	shr    %cl,%eax
415d96:	01 45 f0             	add    %eax,-0x10(%ebp)
415d99:	8b 46 04             	mov    0x4(%esi),%eax
415d9c:	03 45 08             	add    0x8(%ebp),%eax
415d9f:	8b c8                	mov    %eax,%ecx
415da1:	c1 e9 03             	shr    $0x3,%ecx
415da4:	01 0e                	add    %ecx,(%esi)
415da6:	83 e0 07             	and    $0x7,%eax
415da9:	89 46 04             	mov    %eax,0x4(%esi)
415dac:	8b 55 f0             	mov    -0x10(%ebp),%edx
415daf:	81 fa 00 01 00 00    	cmp    $0x100,%edx
415db5:	76 1d                	jbe    0x415dd4
415db7:	8b 45 f8             	mov    -0x8(%ebp),%eax
415dba:	40                   	inc    %eax
415dbb:	89 45 f4             	mov    %eax,-0xc(%ebp)
415dbe:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
415dc4:	76 0e                	jbe    0x415dd4
415dc6:	ff 45 f4             	incl   -0xc(%ebp)
415dc9:	81 fa 00 00 04 00    	cmp    $0x40000,%edx
415dcf:	76 03                	jbe    0x415dd4
415dd1:	ff 45 f4             	incl   -0xc(%ebp)
415dd4:	8b 47 5c             	mov    0x5c(%edi),%eax
415dd7:	89 47 60             	mov    %eax,0x60(%edi)
415dda:	8b 47 58             	mov    0x58(%edi),%eax
415ddd:	89 47 5c             	mov    %eax,0x5c(%edi)
415de0:	8b 47 54             	mov    0x54(%edi),%eax
415de3:	89 47 58             	mov    %eax,0x58(%edi)
415de6:	8b 45 f4             	mov    -0xc(%ebp),%eax
415de9:	89 47 68             	mov    %eax,0x68(%edi)
415dec:	89 45 08             	mov    %eax,0x8(%ebp)
415def:	8b 47 70             	mov    0x70(%edi),%eax
415df2:	8b c8                	mov    %eax,%ecx
415df4:	2b ca                	sub    %edx,%ecx
415df6:	89 57 54             	mov    %edx,0x54(%edi)
415df9:	8b 97 f4 e6 00 00    	mov    0xe6f4(%edi),%edx
415dff:	81 c2 ff ef ff ff    	add    $0xffffefff,%edx
415e05:	89 4d ec             	mov    %ecx,-0x14(%ebp)
415e08:	3b ca                	cmp    %edx,%ecx
415e0a:	0f 83 3a 01 00 00    	jae    0x415f4a
415e10:	3b c2                	cmp    %edx,%eax
415e12:	0f 83 32 01 00 00    	jae    0x415f4a
415e18:	8b 97 34 4b 00 00    	mov    0x4b34(%edi),%edx
415e1e:	03 ca                	add    %edx,%ecx
415e20:	89 4d fc             	mov    %ecx,-0x4(%ebp)
415e23:	8b 4d f4             	mov    -0xc(%ebp),%ecx
415e26:	03 d0                	add    %eax,%edx
415e28:	03 c1                	add    %ecx,%eax
415e2a:	89 55 f8             	mov    %edx,-0x8(%ebp)
415e2d:	89 47 70             	mov    %eax,0x70(%edi)
415e30:	39 4d f0             	cmp    %ecx,-0x10(%ebp)
415e33:	73 5b                	jae    0x415e90
415e35:	83 f9 08             	cmp    $0x8,%ecx
415e38:	0f 82 81 00 00 00    	jb     0x415ebf
415e3e:	8b c1                	mov    %ecx,%eax
415e40:	c1 e8 03             	shr    $0x3,%eax
415e43:	89 45 ec             	mov    %eax,-0x14(%ebp)
415e46:	8b 45 fc             	mov    -0x4(%ebp),%eax
415e49:	8b ca                	mov    %edx,%ecx
415e4b:	8a 10                	mov    (%eax),%dl
415e4d:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
415e51:	88 11                	mov    %dl,(%ecx)
415e53:	8a 50 01             	mov    0x1(%eax),%dl
415e56:	88 51 01             	mov    %dl,0x1(%ecx)
415e59:	8a 50 02             	mov    0x2(%eax),%dl
415e5c:	88 51 02             	mov    %dl,0x2(%ecx)
415e5f:	8a 50 03             	mov    0x3(%eax),%dl
415e62:	88 51 03             	mov    %dl,0x3(%ecx)
415e65:	8a 50 04             	mov    0x4(%eax),%dl
415e68:	88 51 04             	mov    %dl,0x4(%ecx)
415e6b:	8a 50 05             	mov    0x5(%eax),%dl
415e6e:	88 51 05             	mov    %dl,0x5(%ecx)
415e71:	8a 50 06             	mov    0x6(%eax),%dl
415e74:	88 51 06             	mov    %dl,0x6(%ecx)
415e77:	8a 50 07             	mov    0x7(%eax),%dl
415e7a:	88 51 07             	mov    %dl,0x7(%ecx)
415e7d:	83 c0 08             	add    $0x8,%eax
415e80:	83 c1 08             	add    $0x8,%ecx
415e83:	ff 4d ec             	decl   -0x14(%ebp)
415e86:	75 c3                	jne    0x415e4b
415e88:	89 4d f8             	mov    %ecx,-0x8(%ebp)
415e8b:	89 45 fc             	mov    %eax,-0x4(%ebp)
415e8e:	eb 2f                	jmp    0x415ebf
415e90:	83 f9 08             	cmp    $0x8,%ecx
415e93:	72 2a                	jb     0x415ebf
415e95:	8b 45 f4             	mov    -0xc(%ebp),%eax
415e98:	c1 e8 03             	shr    $0x3,%eax
415e9b:	89 45 ec             	mov    %eax,-0x14(%ebp)
415e9e:	6a 08                	push   $0x8
415ea0:	ff 75 fc             	push   -0x4(%ebp)
415ea3:	ff 75 f8             	push   -0x8(%ebp)
415ea6:	e8 c5 5d 00 00       	call   0x41bc70
415eab:	83 45 fc 08          	addl   $0x8,-0x4(%ebp)
415eaf:	83 45 f8 08          	addl   $0x8,-0x8(%ebp)
415eb3:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
415eb7:	83 c4 0c             	add    $0xc,%esp
415eba:	ff 4d ec             	decl   -0x14(%ebp)
415ebd:	75 df                	jne    0x415e9e
415ebf:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
415ec3:	0f 86 63 fb ff ff    	jbe    0x415a2c
415ec9:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
415ecd:	8b 45 fc             	mov    -0x4(%ebp),%eax
415ed0:	8a 00                	mov    (%eax),%al
415ed2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
415ed5:	88 01                	mov    %al,(%ecx)
415ed7:	0f 86 4f fb ff ff    	jbe    0x415a2c
415edd:	83 7d 08 02          	cmpl   $0x2,0x8(%ebp)
415ee1:	8b 45 fc             	mov    -0x4(%ebp),%eax
415ee4:	8a 40 01             	mov    0x1(%eax),%al
415ee7:	88 41 01             	mov    %al,0x1(%ecx)
415eea:	0f 86 3c fb ff ff    	jbe    0x415a2c
415ef0:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
415ef4:	8b 45 fc             	mov    -0x4(%ebp),%eax
415ef7:	8a 40 02             	mov    0x2(%eax),%al