417aee:	83 f8 02             	cmp    $0x2,%eax
417af1:	0f 84 f9 0b 00 00    	je     0x4186f0
417af7:	83 f8 03             	cmp    $0x3,%eax
417afa:	75 09                	jne    0x417b05
417afc:	8b ce                	mov    %esi,%ecx
417afe:	e8 a3 fd ff ff       	call   0x4178a6
417b03:	eb d3                	jmp    0x417ad8
417b05:	83 f8 04             	cmp    $0x4,%eax
417b08:	0f 85 bf 01 00 00    	jne    0x417ccd
417b0e:	33 db                	xor    %ebx,%ebx
417b10:	88 5d 0b             	mov    %bl,0xb(%ebp)
417b13:	89 5d f4             	mov    %ebx,-0xc(%ebp)
417b16:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
417b1a:	0f 85 d0 0b 00 00    	jne    0x4186f0
417b20:	8b ce                	mov    %esi,%ecx
417b22:	e8 36 bf ff ff       	call   0x413a5d
417b27:	83 f8 ff             	cmp    $0xffffffff,%eax
417b2a:	75 06                	jne    0x417b32
417b2c:	c6 45 0b 01          	movb   $0x1,0xb(%ebp)
417b30:	eb 13                	jmp    0x417b45
417b32:	83 7d f4 03          	cmpl   $0x3,-0xc(%ebp)
417b36:	0f b6 c0             	movzbl %al,%eax
417b39:	75 05                	jne    0x417b40
417b3b:	89 45 f0             	mov    %eax,-0x10(%ebp)
417b3e:	eb 05                	jmp    0x417b45
417b40:	c1 e3 08             	shl    $0x8,%ebx
417b43:	03 d8                	add    %eax,%ebx
417b45:	ff 45 f4             	incl   -0xc(%ebp)
417b48:	83 7d f4 04          	cmpl   $0x4,-0xc(%ebp)
417b4c:	7c c8                	jl     0x417b16
417b4e:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
417b52:	0f 85 98 0b 00 00    	jne    0x4186f0
417b58:	8b 45 f0             	mov    -0x10(%ebp),%eax
417b5b:	8b 4e 70             	mov    0x70(%esi),%ecx
417b5e:	83 c0 20             	add    $0x20,%eax
417b61:	8d 53 02             	lea    0x2(%ebx),%edx
417b64:	89 45 08             	mov    %eax,0x8(%ebp)
417b67:	8b c1                	mov    %ecx,%eax
417b69:	2b c2                	sub    %edx,%eax
417b6b:	89 55 f4             	mov    %edx,-0xc(%ebp)
417b6e:	8b 96 f4 e6 00 00    	mov    0xe6f4(%esi),%edx
417b74:	81 c2 ff ef ff ff    	add    $0xffffefff,%edx
417b7a:	3b c2                	cmp    %edx,%eax
417b7c:	0f 83 0c 01 00 00    	jae    0x417c8e
417b82:	3b ca                	cmp    %edx,%ecx
417b84:	0f 83 04 01 00 00    	jae    0x417c8e
417b8a:	8b 96 34 4b 00 00    	mov    0x4b34(%esi),%edx
417b90:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
417b93:	8b 45 08             	mov    0x8(%ebp),%eax
417b96:	03 d1                	add    %ecx,%edx
417b98:	03 c8                	add    %eax,%ecx
417b9a:	89 55 fc             	mov    %edx,-0x4(%ebp)
417b9d:	89 4e 70             	mov    %ecx,0x70(%esi)
417ba0:	39 45 f4             	cmp    %eax,-0xc(%ebp)
417ba3:	73 4c                	jae    0x417bf1
417ba5:	83 f8 08             	cmp    $0x8,%eax
417ba8:	72 73                	jb     0x417c1d
417baa:	8b c8                	mov    %eax,%ecx
417bac:	c1 e9 03             	shr    $0x3,%ecx
417baf:	8b c2                	mov    %edx,%eax
417bb1:	8a 13                	mov    (%ebx),%dl
417bb3:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
417bb7:	88 10                	mov    %dl,(%eax)
417bb9:	8a 53 01             	mov    0x1(%ebx),%dl
417bbc:	88 50 01             	mov    %dl,0x1(%eax)
417bbf:	8a 53 02             	mov    0x2(%ebx),%dl
417bc2:	88 50 02             	mov    %dl,0x2(%eax)
417bc5:	8a 53 03             	mov    0x3(%ebx),%dl
417bc8:	88 50 03             	mov    %dl,0x3(%eax)
417bcb:	8a 53 04             	mov    0x4(%ebx),%dl
417bce:	88 50 04             	mov    %dl,0x4(%eax)
417bd1:	8a 53 05             	mov    0x5(%ebx),%dl
417bd4:	88 50 05             	mov    %dl,0x5(%eax)
417bd7:	8a 53 06             	mov    0x6(%ebx),%dl
417bda:	88 50 06             	mov    %dl,0x6(%eax)
417bdd:	8a 53 07             	mov    0x7(%ebx),%dl
417be0:	88 50 07             	mov    %dl,0x7(%eax)
417be3:	83 c3 08             	add    $0x8,%ebx
417be6:	83 c0 08             	add    $0x8,%eax
417be9:	49                   	dec    %ecx
417bea:	75 c5                	jne    0x417bb1
417bec:	89 45 fc             	mov    %eax,-0x4(%ebp)
417bef:	eb 2c                	jmp    0x417c1d
417bf1:	83 f8 08             	cmp    $0x8,%eax
417bf4:	72 27                	jb     0x417c1d
417bf6:	8b 45 08             	mov    0x8(%ebp),%eax
417bf9:	c1 e8 03             	shr    $0x3,%eax
417bfc:	89 45 f4             	mov    %eax,-0xc(%ebp)
417bff:	6a 08                	push   $0x8
417c01:	53                   	push   %ebx
417c02:	ff 75 fc             	push   -0x4(%ebp)
417c05:	e8 66 40 00 00       	call   0x41bc70
417c0a:	83 45 fc 08          	addl   $0x8,-0x4(%ebp)
417c0e:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
417c12:	83 c4 0c             	add    $0xc,%esp
417c15:	83 c3 08             	add    $0x8,%ebx
417c18:	ff 4d f4             	decl   -0xc(%ebp)
417c1b:	75 e2                	jne    0x417bff
417c1d:	8b 4d 08             	mov    0x8(%ebp),%ecx
417c20:	85 c9                	test   %ecx,%ecx
417c22:	0f 86 fa fd ff ff    	jbe    0x417a22
417c28:	8b 45 fc             	mov    -0x4(%ebp),%eax
417c2b:	8a 13                	mov    (%ebx),%dl
417c2d:	88 10                	mov    %dl,(%eax)
417c2f:	83 f9 01             	cmp    $0x1,%ecx
417c32:	0f 86 ea fd ff ff    	jbe    0x417a22
417c38:	8a 53 01             	mov    0x1(%ebx),%dl
417c3b:	88 50 01             	mov    %dl,0x1(%eax)
417c3e:	83 f9 02             	cmp    $0x2,%ecx
417c41:	0f 86 db fd ff ff    	jbe    0x417a22
417c47:	8a 53 02             	mov    0x2(%ebx),%dl
417c4a:	88 50 02             	mov    %dl,0x2(%eax)
417c4d:	83 f9 03             	cmp    $0x3,%ecx
417c50:	0f 86 cc fd ff ff    	jbe    0x417a22
417c56:	8a 53 03             	mov    0x3(%ebx),%dl
417c59:	88 50 03             	mov    %dl,0x3(%eax)
417c5c:	83 f9 04             	cmp    $0x4,%ecx
417c5f:	0f 86 bd fd ff ff    	jbe    0x417a22
417c65:	8a 53 04             	mov    0x4(%ebx),%dl
417c68:	88 50 04             	mov    %dl,0x4(%eax)
417c6b:	83 f9 05             	cmp    $0x5,%ecx
417c6e:	0f 86 ae fd ff ff    	jbe    0x417a22
417c74:	8a 53 05             	mov    0x5(%ebx),%dl
417c77:	88 50 05             	mov    %dl,0x5(%eax)
417c7a:	83 f9 06             	cmp    $0x6,%ecx
417c7d:	0f 86 9f fd ff ff    	jbe    0x417a22
417c83:	8a 4b 06             	mov    0x6(%ebx),%cl
417c86:	88 48 06             	mov    %cl,0x6(%eax)
417c89:	e9 94 fd ff ff       	jmp    0x417a22
417c8e:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
417c92:	0f 86 8a fd ff ff    	jbe    0x417a22
417c98:	8b 96 f8 e6 00 00    	mov    0xe6f8(%esi),%edx
417c9e:	8b 8e 34 4b 00 00    	mov    0x4b34(%esi),%ecx
417ca4:	8b 5e 70             	mov    0x70(%esi),%ebx
417ca7:	ff 4d 08             	decl   0x8(%ebp)
417caa:	23 d0                	and    %eax,%edx
417cac:	8a 14 0a             	mov    (%edx,%ecx,1),%dl
417caf:	88 14 19             	mov    %dl,(%ecx,%ebx,1)
417cb2:	8b 4e 70             	mov    0x70(%esi),%ecx
417cb5:	8b 96 f8 e6 00 00    	mov    0xe6f8(%esi),%edx
417cbb:	40                   	inc    %eax
417cbc:	41                   	inc    %ecx
417cbd:	23 ca                	and    %edx,%ecx
417cbf:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
417cc3:	89 4e 70             	mov    %ecx,0x70(%esi)
417cc6:	77 d6                	ja     0x417c9e
417cc8:	e9 55 fd ff ff       	jmp    0x417a22
417ccd:	83 f8 05             	cmp    $0x5,%eax
417cd0:	0f 85 16 01 00 00    	jne    0x417dec
417cd6:	8b ce                	mov    %esi,%ecx
417cd8:	e8 80 bd ff ff       	call   0x413a5d
417cdd:	83 f8 ff             	cmp    $0xffffffff,%eax
417ce0:	0f 84 0a 0a 00 00    	je     0x4186f0
417ce6:	8b 8e f4 e6 00 00    	mov    0xe6f4(%esi),%ecx
417cec:	83 c0 04             	add    $0x4,%eax
417cef:	89 45 08             	mov    %eax,0x8(%ebp)
417cf2:	8b 46 70             	mov    0x70(%esi),%eax
417cf5:	8d 50 ff             	lea    -0x1(%eax),%edx
417cf8:	81 c1 ff ef ff ff    	add    $0xffffefff,%ecx
417cfe:	3b d1                	cmp    %ecx,%edx
417d00:	0f 83 a7 00 00 00    	jae    0x417dad
417d06:	3b c1                	cmp    %ecx,%eax
417d08:	0f 83 9f 00 00 00    	jae    0x417dad
417d0e:	8b 8e 34 4b 00 00    	mov    0x4b34(%esi),%ecx
417d14:	8d 1c 11             	lea    (%ecx,%edx,1),%ebx
417d17:	03 c8                	add    %eax,%ecx
417d19:	89 4d fc             	mov    %ecx,-0x4(%ebp)
417d1c:	8b 4d 08             	mov    0x8(%ebp),%ecx
417d1f:	03 c1                	add    %ecx,%eax
417d21:	89 46 70             	mov    %eax,0x70(%esi)
417d24:	83 f9 01             	cmp    $0x1,%ecx
417d27:	76 4f                	jbe    0x417d78
417d29:	83 f9 08             	cmp    $0x8,%ecx
417d2c:	0f 82 eb fe ff ff    	jb     0x417c1d
417d32:	8b 45 fc             	mov    -0x4(%ebp),%eax
417d35:	c1 e9 03             	shr    $0x3,%ecx
417d38:	8a 13                	mov    (%ebx),%dl
417d3a:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
417d3e:	88 10                	mov    %dl,(%eax)
417d40:	8a 53 01             	mov    0x1(%ebx),%dl
417d43:	88 50 01             	mov    %dl,0x1(%eax)
417d46:	8a 53 02             	mov    0x2(%ebx),%dl
417d49:	88 50 02             	mov    %dl,0x2(%eax)
417d4c:	8a 53 03             	mov    0x3(%ebx),%dl
417d4f:	88 50 03             	mov    %dl,0x3(%eax)
417d52:	8a 53 04             	mov    0x4(%ebx),%dl
417d55:	88 50 04             	mov    %dl,0x4(%eax)
417d58:	8a 53 05             	mov    0x5(%ebx),%dl
417d5b:	88 50 05             	mov    %dl,0x5(%eax)
417d5e:	8a 53 06             	mov    0x6(%ebx),%dl
417d61:	88 50 06             	mov    %dl,0x6(%eax)
417d64:	8a 53 07             	mov    0x7(%ebx),%dl
417d67:	88 50 07             	mov    %dl,0x7(%eax)
417d6a:	83 c3 08             	add    $0x8,%ebx
417d6d:	83 c0 08             	add    $0x8,%eax
417d70:	49                   	dec    %ecx
417d71:	75 c5                	jne    0x417d38
417d73:	e9 74 fe ff ff       	jmp    0x417bec
417d78:	83 f9 08             	cmp    $0x8,%ecx
417d7b:	0f 82 9c fe ff ff    	jb     0x417c1d
417d81:	8b 45 08             	mov    0x8(%ebp),%eax
417d84:	c1 e8 03             	shr    $0x3,%eax
417d87:	89 45 f4             	mov    %eax,-0xc(%ebp)
417d8a:	6a 08                	push   $0x8
417d8c:	53                   	push   %ebx
417d8d:	ff 75 fc             	push   -0x4(%ebp)
417d90:	e8 db 3e 00 00       	call   0x41bc70
417d95:	83 45 fc 08          	addl   $0x8,-0x4(%ebp)
417d99:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
417d9d:	83 c4 0c             	add    $0xc,%esp
417da0:	83 c3 08             	add    $0x8,%ebx
417da3:	ff 4d f4             	decl   -0xc(%ebp)
417da6:	75 e2                	jne    0x417d8a
417da8:	e9 70 fe ff ff       	jmp    0x417c1d
417dad:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
417db1:	0f 86 6b fc ff ff    	jbe    0x417a22
417db7:	8b 8e f8 e6 00 00    	mov    0xe6f8(%esi),%ecx
417dbd:	8b 86 34 4b 00 00    	mov    0x4b34(%esi),%eax
417dc3:	8b 5e 70             	mov    0x70(%esi),%ebx
417dc6:	ff 4d 08             	decl   0x8(%ebp)
417dc9:	23 ca                	and    %edx,%ecx
417dcb:	8a 0c 01             	mov    (%ecx,%eax,1),%cl
417dce:	88 0c 18             	mov    %cl,(%eax,%ebx,1)
417dd1:	8b 46 70             	mov    0x70(%esi),%eax
417dd4:	8b 8e f8 e6 00 00    	mov    0xe6f8(%esi),%ecx
417dda:	42                   	inc    %edx
417ddb:	40                   	inc    %eax
417ddc:	23 c1                	and    %ecx,%eax
417dde:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
417de2:	89 46 70             	mov    %eax,0x70(%esi)
417de5:	77 d6                	ja     0x417dbd
417de7:	e9 36 fc ff ff       	jmp    0x417a22
417dec:	8b 86 34 4b 00 00    	mov    0x4b34(%esi),%eax
417df2:	8b 4e 70             	mov    0x70(%esi),%ecx
417df5:	88 1c 08             	mov    %bl,(%eax,%ecx,1)
417df8:	e9 b4 00 00 00       	jmp    0x417eb1
417dfd:	8b cf                	mov    %edi,%ecx
417dff:	e8 06 19 ff ff       	call   0x40970a
417e04:	8b 9e 18 01 00 00    	mov    0x118(%esi),%ebx
417e0a:	25 fe ff 00 00       	and    $0xfffe,%eax
417e0f:	3b 84 9e 98 00 00 00 	cmp    0x98(%esi,%ebx,4),%eax
417e16:	73 29                	jae    0x417e41
417e18:	6a 10                	push   $0x10
417e1a:	59                   	pop    %ecx
417e1b:	2b cb                	sub    %ebx,%ecx
417e1d:	d3 e8                	shr    %cl,%eax
417e1f:	0f b6 8c 30 1c 01 00 	movzbl 0x11c(%eax,%esi,1),%ecx
417e26:	00
417e27:	03 4f 04             	add    0x4(%edi),%ecx
417e2a:	8b d1                	mov    %ecx,%edx
417e2c:	c1 ea 03             	shr    $0x3,%edx
417e2f:	01 17                	add    %edx,(%edi)
417e31:	83 e1 07             	and    $0x7,%ecx
417e34:	89 4f 04             	mov    %ecx,0x4(%edi)
417e37:	0f b7 84 46 1c 05 00 	movzwl 0x51c(%esi,%eax,2),%eax
417e3e:	00
417e3f:	eb 5b                	jmp    0x417e9c
417e41:	6a 0f                	push   $0xf
417e43:	5a                   	pop    %edx
417e44:	8d 4b 01             	lea    0x1(%ebx),%ecx
417e47:	3b ca                	cmp    %edx,%ecx
417e49:	73 18                	jae    0x417e63
417e4b:	8d 9c 8e 98 00 00 00 	lea    0x98(%esi,%ecx,4),%ebx
417e52:	3b 03                	cmp    (%ebx),%eax
417e54:	72 0b                	jb     0x417e61
417e56:	41                   	inc    %ecx
417e57:	83 c3 04             	add    $0x4,%ebx
417e5a:	83 f9 0f             	cmp    $0xf,%ecx
417e5d:	72 f3                	jb     0x417e52
417e5f:	eb 02                	jmp    0x417e63
417e61:	8b d1                	mov    %ecx,%edx
417e63:	8b 4f 04             	mov    0x4(%edi),%ecx
417e66:	03 ca                	add    %edx,%ecx
417e68:	8b d9                	mov    %ecx,%ebx
417e6a:	83 e1 07             	and    $0x7,%ecx
417e6d:	89 4f 04             	mov    %ecx,0x4(%edi)
417e70:	c1 eb 03             	shr    $0x3,%ebx
417e73:	01 1f                	add    %ebx,(%edi)
417e75:	2b 84 96 94 00 00 00 	sub    0x94(%esi,%edx,4),%eax
417e7c:	6a 10                	push   $0x10
417e7e:	59                   	pop    %ecx
417e7f:	2b ca                	sub    %edx,%ecx
417e81:	d3 e8                	shr    %cl,%eax
417e83:	03 84 96 d8 00 00 00 	add    0xd8(%esi,%edx,4),%eax
417e8a:	3b 86 94 00 00 00    	cmp    0x94(%esi),%eax
417e90:	72 02                	jb     0x417e94
417e92:	33 c0                	xor    %eax,%eax
417e94:	0f b7 84 46 1c 0d 00 	movzwl 0xd1c(%esi,%eax,2),%eax
417e9b:	00
417e9c:	b9 00 01 00 00       	mov    $0x100,%ecx
417ea1:	3b c1                	cmp    %ecx,%eax
417ea3:	7d 14                	jge    0x417eb9
417ea5:	8b 8e 34 4b 00 00    	mov    0x4b34(%esi),%ecx
417eab:	8b 56 70             	mov    0x70(%esi),%edx
417eae:	88 04 11             	mov    %al,(%ecx,%edx,1)
417eb1:	ff 46 70             	incl   0x70(%esi)
417eb4:	e9 69 fb ff ff       	jmp    0x417a22
417eb9:	3d 0f 01 00 00       	cmp    $0x10f,%eax
417ebe:	0f 8c 83 03 00 00    	jl     0x418247
417ec4:	0f b6 98 9d f0 42 00 	movzbl 0x42f09d(%eax),%ebx
417ecb:	05 f1 fe ff ff       	add    $0xfffffef1,%eax
417ed0:	0f b6 80 90 f1 42 00 	movzbl 0x42f190(%eax),%eax
417ed7:	83 c3 03             	add    $0x3,%ebx
417eda:	89 5d fc             	mov    %ebx,-0x4(%ebp)
417edd:	89 45 08             	mov    %eax,0x8(%ebp)
417ee0:	85 c0                	test   %eax,%eax
417ee2:	76 27                	jbe    0x417f0b
417ee4:	8b cf                	mov    %edi,%ecx
417ee6:	e8 1f 18 ff ff       	call   0x40970a
417eeb:	6a 10                	push   $0x10
417eed:	59                   	pop    %ecx
417eee:	2b 4d 08             	sub    0x8(%ebp),%ecx
417ef1:	d3 e8                	shr    %cl,%eax
417ef3:	03 d8                	add    %eax,%ebx
417ef5:	8b 47 04             	mov    0x4(%edi),%eax
417ef8:	03 45 08             	add    0x8(%ebp),%eax
417efb:	89 5d fc             	mov    %ebx,-0x4(%ebp)
417efe:	8b c8                	mov    %eax,%ecx
417f00:	c1 e9 03             	shr    $0x3,%ecx
417f03:	01 0f                	add    %ecx,(%edi)
417f05:	83 e0 07             	and    $0x7,%eax
417f08:	89 47 04             	mov    %eax,0x4(%edi)
417f0b:	8b cf                	mov    %edi,%ecx
417f0d:	e8 f8 17 ff ff       	call   0x40970a
417f12:	8b 9e 04 10 00 00    	mov    0x1004(%esi),%ebx
417f18:	25 fe ff 00 00       	and    $0xfffe,%eax
417f1d:	3b 84 9e 84 0f 00 00 	cmp    0xf84(%esi,%ebx,4),%eax
417f24:	73 29                	jae    0x417f4f
417f26:	6a 10                	push   $0x10
417f28:	59                   	pop    %ecx
417f29:	2b cb                	sub    %ebx,%ecx
417f2b:	d3 e8                	shr    %cl,%eax
417f2d:	0f b6 8c 30 08 10 00 	movzbl 0x1008(%eax,%esi,1),%ecx
417f34:	00
417f35:	03 4f 04             	add    0x4(%edi),%ecx
417f38:	8b d1                	mov    %ecx,%edx
417f3a:	c1 ea 03             	shr    $0x3,%edx
417f3d:	01 17                	add    %edx,(%edi)
417f3f:	83 e1 07             	and    $0x7,%ecx
417f42:	89 4f 04             	mov    %ecx,0x4(%edi)
417f45:	0f b7 84 46 08 14 00 	movzwl 0x1408(%esi,%eax,2),%eax
417f4c:	00
417f4d:	eb 5b                	jmp    0x417faa
417f4f:	6a 0f                	push   $0xf
417f51:	5a                   	pop    %edx
417f52:	8d 4b 01             	lea    0x1(%ebx),%ecx
417f55:	3b ca                	cmp    %edx,%ecx
417f57:	73 18                	jae    0x417f71
417f59:	8d 9c 8e 84 0f 00 00 	lea    0xf84(%esi,%ecx,4),%ebx
417f60:	3b 03                	cmp    (%ebx),%eax