417f62:	72 0b                	jb     0x417f6f
417f64:	41                   	inc    %ecx
417f65:	83 c3 04             	add    $0x4,%ebx
417f68:	83 f9 0f             	cmp    $0xf,%ecx
417f6b:	72 f3                	jb     0x417f60
417f6d:	eb 02                	jmp    0x417f71
417f6f:	8b d1                	mov    %ecx,%edx
417f71:	8b 4f 04             	mov    0x4(%edi),%ecx
417f74:	03 ca                	add    %edx,%ecx
417f76:	8b d9                	mov    %ecx,%ebx
417f78:	83 e1 07             	and    $0x7,%ecx
417f7b:	89 4f 04             	mov    %ecx,0x4(%edi)
417f7e:	c1 eb 03             	shr    $0x3,%ebx
417f81:	01 1f                	add    %ebx,(%edi)
417f83:	2b 84 96 80 0f 00 00 	sub    0xf80(%esi,%edx,4),%eax
417f8a:	6a 10                	push   $0x10
417f8c:	59                   	pop    %ecx
417f8d:	2b ca                	sub    %edx,%ecx
417f8f:	d3 e8                	shr    %cl,%eax
417f91:	03 84 96 c4 0f 00 00 	add    0xfc4(%esi,%edx,4),%eax
417f98:	3b 86 80 0f 00 00    	cmp    0xf80(%esi),%eax
417f9e:	72 02                	jb     0x417fa2
417fa0:	33 c0                	xor    %eax,%eax
417fa2:	0f b7 84 46 08 1c 00 	movzwl 0x1c08(%esi,%eax,2),%eax
417fa9:	00
417faa:	0f b6 88 80 eb 44 00 	movzbl 0x44eb80(%eax),%ecx
417fb1:	8b 1c 85 c0 eb 44 00 	mov    0x44ebc0(,%eax,4),%ebx
417fb8:	43                   	inc    %ebx
417fb9:	89 5d f4             	mov    %ebx,-0xc(%ebp)
417fbc:	89 4d 08             	mov    %ecx,0x8(%ebp)
417fbf:	85 c9                	test   %ecx,%ecx
417fc1:	0f 86 42 01 00 00    	jbe    0x418109
417fc7:	83 f8 09             	cmp    $0x9,%eax
417fca:	0f 8e 12 01 00 00    	jle    0x4180e2
417fd0:	83 f9 04             	cmp    $0x4,%ecx
417fd3:	76 2c                	jbe    0x418001
417fd5:	8b cf                	mov    %edi,%ecx
417fd7:	e8 2e 17 ff ff       	call   0x40970a
417fdc:	8b d0                	mov    %eax,%edx
417fde:	8b 45 08             	mov    0x8(%ebp),%eax
417fe1:	6a 14                	push   $0x14
417fe3:	59                   	pop    %ecx
417fe4:	2b c8                	sub    %eax,%ecx
417fe6:	d3 ea                	shr    %cl,%edx
417fe8:	8b 4f 04             	mov    0x4(%edi),%ecx
417feb:	8d 44 01 fc          	lea    -0x4(%ecx,%eax,1),%eax
417fef:	8b c8                	mov    %eax,%ecx
417ff1:	c1 e2 04             	shl    $0x4,%edx
417ff4:	c1 e9 03             	shr    $0x3,%ecx
417ff7:	01 0f                	add    %ecx,(%edi)
417ff9:	03 da                	add    %edx,%ebx
417ffb:	83 e0 07             	and    $0x7,%eax
417ffe:	89 47 04             	mov    %eax,0x4(%edi)
418001:	8b 86 cc 98 00 00    	mov    0x98cc(%esi),%eax
418007:	85 c0                	test   %eax,%eax
418009:	7e 12                	jle    0x41801d
41800b:	48                   	dec    %eax
41800c:	89 86 cc 98 00 00    	mov    %eax,0x98cc(%esi)
418012:	03 9e c8 98 00 00    	add    0x98c8(%esi),%ebx
418018:	e9 e9 00 00 00       	jmp    0x418106
41801d:	8b cf                	mov    %edi,%ecx
41801f:	e8 e6 16 ff ff       	call   0x40970a
418024:	8b 96 f0 1e 00 00    	mov    0x1ef0(%esi),%edx
41802a:	25 fe ff 00 00       	and    $0xfffe,%eax
41802f:	3b 84 96 70 1e 00 00 	cmp    0x1e70(%esi,%edx,4),%eax
418036:	73 29                	jae    0x418061
418038:	6a 10                	push   $0x10
41803a:	59                   	pop    %ecx
41803b:	2b ca                	sub    %edx,%ecx
41803d:	d3 e8                	shr    %cl,%eax
41803f:	0f b6 8c 30 f4 1e 00 	movzbl 0x1ef4(%eax,%esi,1),%ecx
418046:	00
418047:	03 4f 04             	add    0x4(%edi),%ecx
41804a:	8b d1                	mov    %ecx,%edx
41804c:	c1 ea 03             	shr    $0x3,%edx
41804f:	01 17                	add    %edx,(%edi)
418051:	83 e1 07             	and    $0x7,%ecx
418054:	89 4f 04             	mov    %ecx,0x4(%edi)
418057:	0f b7 84 46 f4 22 00 	movzwl 0x22f4(%esi,%eax,2),%eax
41805e:	00
41805f:	eb 63                	jmp    0x4180c4
418061:	42                   	inc    %edx
418062:	c7 45 08 0f 00 00 00 	movl   $0xf,0x8(%ebp)
418069:	83 fa 0f             	cmp    $0xf,%edx
41806c:	73 19                	jae    0x418087
41806e:	8d 8c 96 70 1e 00 00 	lea    0x1e70(%esi,%edx,4),%ecx
418075:	3b 01                	cmp    (%ecx),%eax
418077:	72 0b                	jb     0x418084
418079:	42                   	inc    %edx
41807a:	83 c1 04             	add    $0x4,%ecx
41807d:	83 fa 0f             	cmp    $0xf,%edx
418080:	72 f3                	jb     0x418075
418082:	eb 03                	jmp    0x418087
418084:	89 55 08             	mov    %edx,0x8(%ebp)
418087:	8b 4f 04             	mov    0x4(%edi),%ecx
41808a:	03 4d 08             	add    0x8(%ebp),%ecx
41808d:	6a 10                	push   $0x10
41808f:	8b d1                	mov    %ecx,%edx
418091:	c1 ea 03             	shr    $0x3,%edx
418094:	01 17                	add    %edx,(%edi)
418096:	8b 55 08             	mov    0x8(%ebp),%edx
418099:	83 e1 07             	and    $0x7,%ecx
41809c:	89 4f 04             	mov    %ecx,0x4(%edi)
41809f:	2b 84 96 6c 1e 00 00 	sub    0x1e6c(%esi,%edx,4),%eax
4180a6:	59                   	pop    %ecx
4180a7:	2b ca                	sub    %edx,%ecx
4180a9:	d3 e8                	shr    %cl,%eax
4180ab:	03 84 96 b0 1e 00 00 	add    0x1eb0(%esi,%edx,4),%eax
4180b2:	3b 86 6c 1e 00 00    	cmp    0x1e6c(%esi),%eax
4180b8:	72 02                	jb     0x4180bc
4180ba:	33 c0                	xor    %eax,%eax
4180bc:	0f b7 84 46 f4 2a 00 	movzwl 0x2af4(%esi,%eax,2),%eax
4180c3:	00
4180c4:	83 f8 10             	cmp    $0x10,%eax
4180c7:	75 0f                	jne    0x4180d8
4180c9:	c7 86 cc 98 00 00 0f 	movl   $0xf,0x98cc(%esi)
4180d0:	00 00 00
4180d3:	e9 3a ff ff ff       	jmp    0x418012
4180d8:	03 d8                	add    %eax,%ebx
4180da:	89 86 c8 98 00 00    	mov    %eax,0x98c8(%esi)
4180e0:	eb 24                	jmp    0x418106
4180e2:	8b cf                	mov    %edi,%ecx
4180e4:	e8 21 16 ff ff       	call   0x40970a
4180e9:	6a 10                	push   $0x10
4180eb:	59                   	pop    %ecx
4180ec:	2b 4d 08             	sub    0x8(%ebp),%ecx
4180ef:	d3 e8                	shr    %cl,%eax
4180f1:	03 d8                	add    %eax,%ebx
4180f3:	8b 47 04             	mov    0x4(%edi),%eax
4180f6:	03 45 08             	add    0x8(%ebp),%eax
4180f9:	8b c8                	mov    %eax,%ecx
4180fb:	c1 e9 03             	shr    $0x3,%ecx
4180fe:	01 0f                	add    %ecx,(%edi)
418100:	83 e0 07             	and    $0x7,%eax
418103:	89 47 04             	mov    %eax,0x4(%edi)
418106:	89 5d f4             	mov    %ebx,-0xc(%ebp)
418109:	81 fb 00 20 00 00    	cmp    $0x2000,%ebx
41810f:	72 0e                	jb     0x41811f
418111:	ff 45 fc             	incl   -0x4(%ebp)
418114:	81 fb 00 00 04 00    	cmp    $0x40000,%ebx
41811a:	72 03                	jb     0x41811f
41811c:	ff 45 fc             	incl   -0x4(%ebp)
41811f:	8b 46 5c             	mov    0x5c(%esi),%eax
418122:	8b 4e 70             	mov    0x70(%esi),%ecx
418125:	8b 96 f4 e6 00 00    	mov    0xe6f4(%esi),%edx
41812b:	89 46 60             	mov    %eax,0x60(%esi)
41812e:	8b 46 58             	mov    0x58(%esi),%eax
418131:	89 46 5c             	mov    %eax,0x5c(%esi)
418134:	8b 46 54             	mov    0x54(%esi),%eax
418137:	89 46 58             	mov    %eax,0x58(%esi)
41813a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41813d:	89 46 68             	mov    %eax,0x68(%esi)
418140:	89 45 08             	mov    %eax,0x8(%ebp)
418143:	8b c1                	mov    %ecx,%eax
418145:	2b c3                	sub    %ebx,%eax
418147:	81 c2 ff ef ff ff    	add    $0xffffefff,%edx
41814d:	89 5e 54             	mov    %ebx,0x54(%esi)
418150:	3b c2                	cmp    %edx,%eax
418152:	0f 83 b0 00 00 00    	jae    0x418208
418158:	3b ca                	cmp    %edx,%ecx
41815a:	0f 83 a8 00 00 00    	jae    0x418208
418160:	8b 96 34 4b 00 00    	mov    0x4b34(%esi),%edx
418166:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
418169:	8b 45 fc             	mov    -0x4(%ebp),%eax
41816c:	03 d1                	add    %ecx,%edx
41816e:	03 c8                	add    %eax,%ecx
418170:	89 55 f8             	mov    %edx,-0x8(%ebp)
418173:	89 4e 70             	mov    %ecx,0x70(%esi)
418176:	39 45 f4             	cmp    %eax,-0xc(%ebp)
418179:	73 4e                	jae    0x4181c9
41817b:	6a 08                	push   $0x8
41817d:	59                   	pop    %ecx
41817e:	3b c1                	cmp    %ecx,%eax
418180:	72 73                	jb     0x4181f5
418182:	c1 e8 03             	shr    $0x3,%eax
418185:	89 45 f4             	mov    %eax,-0xc(%ebp)
418188:	8b c2                	mov    %edx,%eax
41818a:	8a 13                	mov    (%ebx),%dl
41818c:	29 4d 08             	sub    %ecx,0x8(%ebp)
41818f:	88 10                	mov    %dl,(%eax)
418191:	8a 53 01             	mov    0x1(%ebx),%dl
418194:	88 50 01             	mov    %dl,0x1(%eax)
418197:	8a 53 02             	mov    0x2(%ebx),%dl
41819a:	88 50 02             	mov    %dl,0x2(%eax)
41819d:	8a 53 03             	mov    0x3(%ebx),%dl
4181a0:	88 50 03             	mov    %dl,0x3(%eax)
4181a3:	8a 53 04             	mov    0x4(%ebx),%dl
4181a6:	88 50 04             	mov    %dl,0x4(%eax)
4181a9:	8a 53 05             	mov    0x5(%ebx),%dl
4181ac:	88 50 05             	mov    %dl,0x5(%eax)
4181af:	8a 53 06             	mov    0x6(%ebx),%dl
4181b2:	88 50 06             	mov    %dl,0x6(%eax)
4181b5:	8a 53 07             	mov    0x7(%ebx),%dl
4181b8:	88 50 07             	mov    %dl,0x7(%eax)
4181bb:	03 d9                	add    %ecx,%ebx
4181bd:	03 c1                	add    %ecx,%eax
4181bf:	ff 4d f4             	decl   -0xc(%ebp)
4181c2:	75 c6                	jne    0x41818a
4181c4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4181c7:	eb 2c                	jmp    0x4181f5
4181c9:	83 f8 08             	cmp    $0x8,%eax
4181cc:	72 27                	jb     0x4181f5
4181ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
4181d1:	c1 e8 03             	shr    $0x3,%eax
4181d4:	89 45 f4             	mov    %eax,-0xc(%ebp)
4181d7:	6a 08                	push   $0x8
4181d9:	53                   	push   %ebx
4181da:	ff 75 f8             	push   -0x8(%ebp)
4181dd:	e8 8e 3a 00 00       	call   0x41bc70
4181e2:	83 45 f8 08          	addl   $0x8,-0x8(%ebp)
4181e6:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
4181ea:	83 c4 0c             	add    $0xc,%esp
4181ed:	83 c3 08             	add    $0x8,%ebx
4181f0:	ff 4d f4             	decl   -0xc(%ebp)
4181f3:	75 e2                	jne    0x4181d7
4181f5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4181f8:	85 c9                	test   %ecx,%ecx
4181fa:	0f 86 22 f8 ff ff    	jbe    0x417a22
418200:	8b 45 f8             	mov    -0x8(%ebp),%eax
418203:	e9 23 fa ff ff       	jmp    0x417c2b
418208:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41820c:	0f 86 10 f8 ff ff    	jbe    0x417a22
418212:	8b 96 f8 e6 00 00    	mov    0xe6f8(%esi),%edx
418218:	8b 8e 34 4b 00 00    	mov    0x4b34(%esi),%ecx
41821e:	8b 5e 70             	mov    0x70(%esi),%ebx
418221:	ff 4d 08             	decl   0x8(%ebp)
418224:	23 d0                	and    %eax,%edx
418226:	8a 14 0a             	mov    (%edx,%ecx,1),%dl
418229:	88 14 19             	mov    %dl,(%ecx,%ebx,1)
41822c:	8b 4e 70             	mov    0x70(%esi),%ecx
41822f:	8b 96 f8 e6 00 00    	mov    0xe6f8(%esi),%edx
418235:	40                   	inc    %eax
418236:	41                   	inc    %ecx
418237:	23 ca                	and    %edx,%ecx
418239:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41823d:	89 4e 70             	mov    %ecx,0x70(%esi)
418240:	77 d6                	ja     0x418218
418242:	e9 db f7 ff ff       	jmp    0x417a22
418247:	3b c1                	cmp    %ecx,%eax
418249:	75 0c                	jne    0x418257
41824b:	8b ce                	mov    %esi,%ecx
41824d:	e8 dc c8 ff ff       	call   0x414b2e
418252:	e9 81 f8 ff ff       	jmp    0x417ad8
418257:	3d 01 01 00 00       	cmp    $0x101,%eax
41825c:	75 0c                	jne    0x41826a
41825e:	8b ce                	mov    %esi,%ecx
418260:	e8 31 f5 ff ff       	call   0x417796
418265:	e9 6e f8 ff ff       	jmp    0x417ad8
41826a:	3d 02 01 00 00       	cmp    $0x102,%eax
41826f:	0f 85 10 01 00 00    	jne    0x418385
418275:	8b 46 68             	mov    0x68(%esi),%eax
418278:	85 c0                	test   %eax,%eax
41827a:	0f 84 a2 f7 ff ff    	je     0x417a22
418280:	8b 4e 70             	mov    0x70(%esi),%ecx
418283:	8b 56 54             	mov    0x54(%esi),%edx
418286:	89 45 08             	mov    %eax,0x8(%ebp)
418289:	8b c1                	mov    %ecx,%eax
41828b:	2b c2                	sub    %edx,%eax
41828d:	8b 96 f4 e6 00 00    	mov    0xe6f4(%esi),%edx
418293:	81 c2 ff ef ff ff    	add    $0xffffefff,%edx
418299:	3b c2                	cmp    %edx,%eax
41829b:	0f 83 a5 00 00 00    	jae    0x418346
4182a1:	3b ca                	cmp    %edx,%ecx
4182a3:	0f 83 9d 00 00 00    	jae    0x418346
4182a9:	8b 96 34 4b 00 00    	mov    0x4b34(%esi),%edx
4182af:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
4182b2:	8b 45 08             	mov    0x8(%ebp),%eax
4182b5:	03 d1                	add    %ecx,%edx
4182b7:	03 c8                	add    %eax,%ecx
4182b9:	89 55 f8             	mov    %edx,-0x8(%ebp)
4182bc:	89 4e 70             	mov    %ecx,0x70(%esi)
4182bf:	39 46 54             	cmp    %eax,0x54(%esi)
4182c2:	73 50                	jae    0x418314
4182c4:	83 f8 08             	cmp    $0x8,%eax
4182c7:	0f 82 28 ff ff ff    	jb     0x4181f5
4182cd:	8b c8                	mov    %eax,%ecx
4182cf:	c1 e9 03             	shr    $0x3,%ecx
4182d2:	8b c2                	mov    %edx,%eax
4182d4:	8a 13                	mov    (%ebx),%dl
4182d6:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
4182da:	88 10                	mov    %dl,(%eax)
4182dc:	8a 53 01             	mov    0x1(%ebx),%dl
4182df:	88 50 01             	mov    %dl,0x1(%eax)
4182e2:	8a 53 02             	mov    0x2(%ebx),%dl
4182e5:	88 50 02             	mov    %dl,0x2(%eax)
4182e8:	8a 53 03             	mov    0x3(%ebx),%dl
4182eb:	88 50 03             	mov    %dl,0x3(%eax)
4182ee:	8a 53 04             	mov    0x4(%ebx),%dl
4182f1:	88 50 04             	mov    %dl,0x4(%eax)
4182f4:	8a 53 05             	mov    0x5(%ebx),%dl
4182f7:	88 50 05             	mov    %dl,0x5(%eax)
4182fa:	8a 53 06             	mov    0x6(%ebx),%dl
4182fd:	88 50 06             	mov    %dl,0x6(%eax)
418300:	8a 53 07             	mov    0x7(%ebx),%dl
418303:	88 50 07             	mov    %dl,0x7(%eax)
418306:	83 c3 08             	add    $0x8,%ebx
418309:	83 c0 08             	add    $0x8,%eax
41830c:	49                   	dec    %ecx
41830d:	75 c5                	jne    0x4182d4
41830f:	e9 b0 fe ff ff       	jmp    0x4181c4
418314:	83 f8 08             	cmp    $0x8,%eax
418317:	0f 82 d8 fe ff ff    	jb     0x4181f5
41831d:	c1 e8 03             	shr    $0x3,%eax
418320:	89 45 f4             	mov    %eax,-0xc(%ebp)
418323:	6a 08                	push   $0x8
418325:	53                   	push   %ebx
418326:	ff 75 f8             	push   -0x8(%ebp)
418329:	e8 42 39 00 00       	call   0x41bc70
41832e:	83 45 f8 08          	addl   $0x8,-0x8(%ebp)
418332:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
418336:	83 c4 0c             	add    $0xc,%esp
418339:	83 c3 08             	add    $0x8,%ebx
41833c:	ff 4d f4             	decl   -0xc(%ebp)
41833f:	75 e2                	jne    0x418323
418341:	e9 af fe ff ff       	jmp    0x4181f5
418346:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41834a:	0f 86 d2 f6 ff ff    	jbe    0x417a22
418350:	8b 96 f8 e6 00 00    	mov    0xe6f8(%esi),%edx
418356:	8b 8e 34 4b 00 00    	mov    0x4b34(%esi),%ecx
41835c:	8b 5e 70             	mov    0x70(%esi),%ebx
41835f:	ff 4d 08             	decl   0x8(%ebp)
418362:	23 d0                	and    %eax,%edx
418364:	8a 14 0a             	mov    (%edx,%ecx,1),%dl
418367:	88 14 19             	mov    %dl,(%ecx,%ebx,1)
41836a:	8b 4e 70             	mov    0x70(%esi),%ecx
41836d:	8b 96 f8 e6 00 00    	mov    0xe6f8(%esi),%edx
418373:	40                   	inc    %eax
418374:	41                   	inc    %ecx
418375:	23 ca                	and    %edx,%ecx
418377:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41837b:	89 4e 70             	mov    %ecx,0x70(%esi)
41837e:	77 d6                	ja     0x418356
418380:	e9 9d f6 ff ff       	jmp    0x417a22
418385:	3d 07 01 00 00       	cmp    $0x107,%eax
41838a:	0f 8d 6e 02 00 00    	jge    0x4185fe
418390:	05 fd fe ff ff       	add    $0xfffffefd,%eax
418395:	8d 4c 86 54          	lea    0x54(%esi,%eax,4),%ecx
418399:	8b 11                	mov    (%ecx),%edx
41839b:	89 55 f8             	mov    %edx,-0x8(%ebp)
41839e:	eb 09                	jmp    0x4183a9
4183a0:	8b 59 fc             	mov    -0x4(%ecx),%ebx
4183a3:	89 19                	mov    %ebx,(%ecx)
4183a5:	48                   	dec    %eax
4183a6:	83 e9 04             	sub    $0x4,%ecx
4183a9:	85 c0                	test   %eax,%eax
4183ab:	7f f3                	jg     0x4183a0
4183ad:	8b cf                	mov    %edi,%ecx
4183af:	89 56 54             	mov    %edx,0x54(%esi)
4183b2:	e8 53 13 ff ff       	call   0x40970a
4183b7:	8b 9e dc 2d 00 00    	mov    0x2ddc(%esi),%ebx