417030:	c1 ea 03             	shr    $0x3,%edx
417033:	01 17                	add    %edx,(%edi)
417035:	83 e1 07             	and    $0x7,%ecx
417038:	89 4f 04             	mov    %ecx,0x4(%edi)
41703b:	0f b7 84 46 e0 31 00 	movzwl 0x31e0(%esi,%eax,2),%eax
417042:	00
417043:	eb 5b                	jmp    0x4170a0
417045:	6a 0f                	push   $0xf
417047:	5a                   	pop    %edx
417048:	8d 4b 01             	lea    0x1(%ebx),%ecx
41704b:	3b ca                	cmp    %edx,%ecx
41704d:	73 18                	jae    0x417067
41704f:	8d 9c 8e 5c 2d 00 00 	lea    0x2d5c(%esi,%ecx,4),%ebx
417056:	3b 03                	cmp    (%ebx),%eax
417058:	72 0b                	jb     0x417065
41705a:	41                   	inc    %ecx
41705b:	83 c3 04             	add    $0x4,%ebx
41705e:	83 f9 0f             	cmp    $0xf,%ecx
417061:	72 f3                	jb     0x417056
417063:	eb 02                	jmp    0x417067
417065:	8b d1                	mov    %ecx,%edx
417067:	8b 4f 04             	mov    0x4(%edi),%ecx
41706a:	03 ca                	add    %edx,%ecx
41706c:	8b d9                	mov    %ecx,%ebx
41706e:	83 e1 07             	and    $0x7,%ecx
417071:	89 4f 04             	mov    %ecx,0x4(%edi)
417074:	c1 eb 03             	shr    $0x3,%ebx
417077:	01 1f                	add    %ebx,(%edi)
417079:	2b 84 96 58 2d 00 00 	sub    0x2d58(%esi,%edx,4),%eax
417080:	6a 10                	push   $0x10
417082:	59                   	pop    %ecx
417083:	2b ca                	sub    %edx,%ecx
417085:	d3 e8                	shr    %cl,%eax
417087:	03 84 96 9c 2d 00 00 	add    0x2d9c(%esi,%edx,4),%eax
41708e:	3b 86 58 2d 00 00    	cmp    0x2d58(%esi),%eax
417094:	72 02                	jb     0x417098
417096:	33 c0                	xor    %eax,%eax
417098:	0f b7 84 46 e0 39 00 	movzwl 0x39e0(%esi,%eax,2),%eax
41709f:	00
4170a0:	83 f8 08             	cmp    $0x8,%eax
4170a3:	73 08                	jae    0x4170ad
4170a5:	83 c0 02             	add    $0x2,%eax
4170a8:	89 45 f8             	mov    %eax,-0x8(%ebp)
4170ab:	eb 3c                	jmp    0x4170e9
4170ad:	8b d8                	mov    %eax,%ebx
4170af:	c1 eb 02             	shr    $0x2,%ebx
4170b2:	83 e0 03             	and    $0x3,%eax
4170b5:	4b                   	dec    %ebx
4170b6:	83 c8 04             	or     $0x4,%eax
4170b9:	8b cb                	mov    %ebx,%ecx
4170bb:	d3 e0                	shl    %cl,%eax
4170bd:	40                   	inc    %eax
4170be:	40                   	inc    %eax
4170bf:	89 45 f8             	mov    %eax,-0x8(%ebp)
4170c2:	85 db                	test   %ebx,%ebx
4170c4:	76 23                	jbe    0x4170e9
4170c6:	8b cf                	mov    %edi,%ecx
4170c8:	e8 3d 26 ff ff       	call   0x40970a
4170cd:	6a 10                	push   $0x10
4170cf:	59                   	pop    %ecx
4170d0:	2b cb                	sub    %ebx,%ecx
4170d2:	d3 e8                	shr    %cl,%eax
4170d4:	01 45 f8             	add    %eax,-0x8(%ebp)
4170d7:	8b 47 04             	mov    0x4(%edi),%eax
4170da:	03 c3                	add    %ebx,%eax
4170dc:	8b c8                	mov    %eax,%ecx
4170de:	c1 e9 03             	shr    $0x3,%ecx
4170e1:	01 0f                	add    %ecx,(%edi)
4170e3:	83 e0 07             	and    $0x7,%eax
4170e6:	89 47 04             	mov    %eax,0x4(%edi)
4170e9:	80 be 38 4c 00 00 00 	cmpb   $0x0,0x4c38(%esi)
4170f0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4170f3:	89 46 68             	mov    %eax,0x68(%esi)
4170f6:	74 15                	je     0x41710d
4170f8:	ff b6 f8 e6 00 00    	push   0xe6f8(%esi)
4170fe:	8d 46 70             	lea    0x70(%esi),%eax
417101:	50                   	push   %eax
417102:	ff 75 f4             	push   -0xc(%ebp)
417105:	ff 75 f8             	push   -0x8(%ebp)
417108:	e9 d4 fb ff ff       	jmp    0x416ce1
41710d:	8b 45 f8             	mov    -0x8(%ebp),%eax
417110:	8b 9e f4 e6 00 00    	mov    0xe6f4(%esi),%ebx
417116:	89 45 08             	mov    %eax,0x8(%ebp)
417119:	8d 46 70             	lea    0x70(%esi),%eax
41711c:	8b 10                	mov    (%eax),%edx
41711e:	8b ca                	mov    %edx,%ecx
417120:	2b 4d f4             	sub    -0xc(%ebp),%ecx
417123:	81 c3 ff ef ff ff    	add    $0xffffefff,%ebx
417129:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41712c:	3b cb                	cmp    %ebx,%ecx
41712e:	0f 83 13 01 00 00    	jae    0x417247
417134:	3b d3                	cmp    %ebx,%edx
417136:	0f 83 0b 01 00 00    	jae    0x417247
41713c:	8b 86 34 4b 00 00    	mov    0x4b34(%esi),%eax
417142:	8d 1c 08             	lea    (%eax,%ecx,1),%ebx
417145:	03 c2                	add    %edx,%eax
417147:	89 45 fc             	mov    %eax,-0x4(%ebp)
41714a:	8b 45 f8             	mov    -0x8(%ebp),%eax
41714d:	8d 0c 10             	lea    (%eax,%edx,1),%ecx
417150:	89 4e 70             	mov    %ecx,0x70(%esi)
417153:	39 45 f4             	cmp    %eax,-0xc(%ebp)
417156:	73 4d                	jae    0x4171a5
417158:	83 f8 08             	cmp    $0x8,%eax
41715b:	72 74                	jb     0x4171d1
41715d:	c1 e8 03             	shr    $0x3,%eax
417160:	8b c8                	mov    %eax,%ecx
417162:	8b 45 fc             	mov    -0x4(%ebp),%eax
417165:	8a 13                	mov    (%ebx),%dl
417167:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
41716b:	88 10                	mov    %dl,(%eax)
41716d:	8a 53 01             	mov    0x1(%ebx),%dl
417170:	88 50 01             	mov    %dl,0x1(%eax)
417173:	8a 53 02             	mov    0x2(%ebx),%dl
417176:	88 50 02             	mov    %dl,0x2(%eax)
417179:	8a 53 03             	mov    0x3(%ebx),%dl
41717c:	88 50 03             	mov    %dl,0x3(%eax)
41717f:	8a 53 04             	mov    0x4(%ebx),%dl
417182:	88 50 04             	mov    %dl,0x4(%eax)
417185:	8a 53 05             	mov    0x5(%ebx),%dl
417188:	88 50 05             	mov    %dl,0x5(%eax)
41718b:	8a 53 06             	mov    0x6(%ebx),%dl
41718e:	88 50 06             	mov    %dl,0x6(%eax)
417191:	8a 53 07             	mov    0x7(%ebx),%dl
417194:	88 50 07             	mov    %dl,0x7(%eax)
417197:	83 c3 08             	add    $0x8,%ebx
41719a:	83 c0 08             	add    $0x8,%eax
41719d:	49                   	dec    %ecx
41719e:	75 c5                	jne    0x417165
4171a0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4171a3:	eb 2c                	jmp    0x4171d1
4171a5:	83 f8 08             	cmp    $0x8,%eax
4171a8:	72 27                	jb     0x4171d1
4171aa:	8b 45 f8             	mov    -0x8(%ebp),%eax
4171ad:	c1 e8 03             	shr    $0x3,%eax
4171b0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4171b3:	6a 08                	push   $0x8
4171b5:	53                   	push   %ebx
4171b6:	ff 75 fc             	push   -0x4(%ebp)
4171b9:	e8 b2 4a 00 00       	call   0x41bc70
4171be:	83 45 fc 08          	addl   $0x8,-0x4(%ebp)
4171c2:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
4171c6:	83 c4 0c             	add    $0xc,%esp
4171c9:	83 c3 08             	add    $0x8,%ebx
4171cc:	ff 4d f4             	decl   -0xc(%ebp)
4171cf:	75 e2                	jne    0x4171b3
4171d1:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4171d5:	0f 86 d6 f6 ff ff    	jbe    0x4168b1
4171db:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
4171df:	8a 03                	mov    (%ebx),%al
4171e1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4171e4:	88 01                	mov    %al,(%ecx)
4171e6:	0f 86 c5 f6 ff ff    	jbe    0x4168b1
4171ec:	83 7d 08 02          	cmpl   $0x2,0x8(%ebp)
4171f0:	8a 43 01             	mov    0x1(%ebx),%al
4171f3:	88 41 01             	mov    %al,0x1(%ecx)
4171f6:	0f 86 b5 f6 ff ff    	jbe    0x4168b1
4171fc:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
417200:	8a 43 02             	mov    0x2(%ebx),%al
417203:	88 41 02             	mov    %al,0x2(%ecx)
417206:	0f 86 a5 f6 ff ff    	jbe    0x4168b1
41720c:	83 7d 08 04          	cmpl   $0x4,0x8(%ebp)
417210:	8a 43 03             	mov    0x3(%ebx),%al
417213:	88 41 03             	mov    %al,0x3(%ecx)
417216:	0f 86 95 f6 ff ff    	jbe    0x4168b1
41721c:	83 7d 08 05          	cmpl   $0x5,0x8(%ebp)
417220:	8a 43 04             	mov    0x4(%ebx),%al
417223:	88 41 04             	mov    %al,0x4(%ecx)
417226:	0f 86 85 f6 ff ff    	jbe    0x4168b1
41722c:	83 7d 08 06          	cmpl   $0x6,0x8(%ebp)
417230:	8a 43 05             	mov    0x5(%ebx),%al
417233:	88 41 05             	mov    %al,0x5(%ecx)
417236:	0f 86 75 f6 ff ff    	jbe    0x4168b1
41723c:	8a 43 06             	mov    0x6(%ebx),%al
41723f:	88 41 06             	mov    %al,0x6(%ecx)
417242:	e9 6a f6 ff ff       	jmp    0x4168b1
417247:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41724b:	0f 86 60 f6 ff ff    	jbe    0x4168b1
417251:	8b 9e f8 e6 00 00    	mov    0xe6f8(%esi),%ebx
417257:	8b 96 34 4b 00 00    	mov    0x4b34(%esi),%edx
41725d:	ff 4d 08             	decl   0x8(%ebp)
417260:	23 cb                	and    %ebx,%ecx
417262:	8a 0c 11             	mov    (%ecx,%edx,1),%cl
417265:	8b 18                	mov    (%eax),%ebx
417267:	88 0c 1a             	mov    %cl,(%edx,%ebx,1)
41726a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41726d:	8b 10                	mov    (%eax),%edx
41726f:	8b 9e f8 e6 00 00    	mov    0xe6f8(%esi),%ebx
417275:	41                   	inc    %ecx
417276:	42                   	inc    %edx
417277:	23 d3                	and    %ebx,%edx
417279:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41727d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
417280:	89 10                	mov    %edx,(%eax)
417282:	77 d3                	ja     0x417257
417284:	e9 28 f6 ff ff       	jmp    0x4168b1
417289:	c6 86 58 4c 00 00 00 	movb   $0x0,0x4c58(%esi)
417290:	e9 ff fb ff ff       	jmp    0x416e94
417295:	b8 d8 94 42 00       	mov    $0x4294d8,%eax
41729a:	e8 19 2c 00 00       	call   0x419eb8
41729f:	51                   	push   %ecx
4172a0:	53                   	push   %ebx
4172a1:	56                   	push   %esi
4172a2:	8b f1                	mov    %ecx,%esi
4172a4:	6a 01                	push   $0x1
4172a6:	8d 4e 04             	lea    0x4(%esi),%ecx
4172a9:	89 75 f0             	mov    %esi,-0x10(%ebp)
4172ac:	e8 ed 23 ff ff       	call   0x40969e
4172b1:	33 db                	xor    %ebx,%ebx
4172b3:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4172b6:	89 5e 24             	mov    %ebx,0x24(%esi)
4172b9:	89 5e 28             	mov    %ebx,0x28(%esi)
4172bc:	89 5e 2c             	mov    %ebx,0x2c(%esi)
4172bf:	89 5e 30             	mov    %ebx,0x30(%esi)
4172c2:	89 5e 34             	mov    %ebx,0x34(%esi)
4172c5:	89 5e 38             	mov    %ebx,0x38(%esi)
4172c8:	89 5e 3c             	mov    %ebx,0x3c(%esi)
4172cb:	89 5e 40             	mov    %ebx,0x40(%esi)
4172ce:	89 5e 44             	mov    %ebx,0x44(%esi)
4172d1:	89 5e 48             	mov    %ebx,0x48(%esi)
4172d4:	89 5e 4c             	mov    %ebx,0x4c(%esi)
4172d7:	89 5e 50             	mov    %ebx,0x50(%esi)
4172da:	8d 8e 38 4b 00 00    	lea    0x4b38(%esi),%ecx
4172e0:	e8 42 ae ff ff       	call   0x412127
4172e5:	8d 8e d0 98 00 00    	lea    0x98d0(%esi),%ecx
4172eb:	e8 33 b8 ff ff       	call   0x412b23
4172f0:	8d 8e 78 e6 00 00    	lea    0xe678(%esi),%ecx
4172f6:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
4172fa:	e8 ba 36 ff ff       	call   0x40a9b9
4172ff:	6a 01                	push   $0x1
417301:	8d 8e b0 e6 00 00    	lea    0xe6b0(%esi),%ecx
417307:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
41730b:	e8 8e 23 ff ff       	call   0x40969e
417310:	8d 86 c0 e6 00 00    	lea    0xe6c0(%esi),%eax
417316:	89 18                	mov    %ebx,(%eax)
417318:	89 58 04             	mov    %ebx,0x4(%eax)
41731b:	89 58 08             	mov    %ebx,0x8(%eax)
41731e:	89 58 0c             	mov    %ebx,0xc(%eax)
417321:	8d 86 d0 e6 00 00    	lea    0xe6d0(%esi),%eax
417327:	89 18                	mov    %ebx,(%eax)
417329:	89 58 04             	mov    %ebx,0x4(%eax)
41732c:	89 58 08             	mov    %ebx,0x8(%eax)
41732f:	89 58 0c             	mov    %ebx,0xc(%eax)
417332:	8d 86 e0 e6 00 00    	lea    0xe6e0(%esi),%eax
417338:	89 18                	mov    %ebx,(%eax)
41733a:	89 58 04             	mov    %ebx,0x4(%eax)
41733d:	89 58 08             	mov    %ebx,0x8(%eax)
417340:	89 58 0c             	mov    %ebx,0xc(%eax)
417343:	8b 45 08             	mov    0x8(%ebp),%eax
417346:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
41734a:	89 06                	mov    %eax,(%esi)
41734c:	89 9e 34 4b 00 00    	mov    %ebx,0x4b34(%esi)
417352:	88 9e 38 4c 00 00    	mov    %bl,0x4c38(%esi)
417358:	88 9e 48 4c 00 00    	mov    %bl,0x4c48(%esi)
41735e:	88 9e 49 4c 00 00    	mov    %bl,0x4c49(%esi)
417364:	88 9e 4a 4c 00 00    	mov    %bl,0x4c4a(%esi)
41736a:	c7 46 1c 01 00 00 00 	movl   $0x1,0x1c(%esi)
417371:	e8 8c 9c ff ff       	call   0x411002
417376:	53                   	push   %ebx
417377:	8b ce                	mov    %esi,%ecx
417379:	89 46 14             	mov    %eax,0x14(%esi)
41737c:	89 5e 20             	mov    %ebx,0x20(%esi)
41737f:	89 5e 18             	mov    %ebx,0x18(%esi)
417382:	89 9e f4 e6 00 00    	mov    %ebx,0xe6f4(%esi)
417388:	89 9e f8 e6 00 00    	mov    %ebx,0xe6f8(%esi)
41738e:	e8 5f e0 ff ff       	call   0x4153f2
417393:	8b 4d f4             	mov    -0xc(%ebp),%ecx
417396:	8b c6                	mov    %esi,%eax
417398:	5e                   	pop    %esi
417399:	5b                   	pop    %ebx
41739a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4173a1:	c9                   	leave
4173a2:	c2 04 00             	ret    $0x4
4173a5:	55                   	push   %ebp
4173a6:	8b ec                	mov    %esp,%ebp
4173a8:	81 ec 34 01 00 00    	sub    $0x134,%esp
4173ae:	53                   	push   %ebx
4173af:	56                   	push   %esi
4173b0:	57                   	push   %edi
4173b1:	8b d9                	mov    %ecx,%ebx
4173b3:	e8 54 c5 ff ff       	call   0x41390c
4173b8:	ff 75 08             	push   0x8(%ebp)
4173bb:	8b cb                	mov    %ebx,%ecx
4173bd:	e8 30 e0 ff ff       	call   0x4153f2
4173c2:	8b 43 1c             	mov    0x1c(%ebx),%eax
4173c5:	33 c9                	xor    %ecx,%ecx
4173c7:	03 c0                	add    %eax,%eax
4173c9:	74 25                	je     0x4173f0
4173cb:	33 d2                	xor    %edx,%edx
4173cd:	8b 43 18             	mov    0x18(%ebx),%eax
4173d0:	03 c2                	add    %edx,%eax
4173d2:	c6 80 d1 4a 00 00 00 	movb   $0x0,0x4ad1(%eax)
4173d9:	c6 80 d3 4a 00 00 00 	movb   $0x0,0x4ad3(%eax)
4173e0:	8b 43 1c             	mov    0x1c(%ebx),%eax
4173e3:	41                   	inc    %ecx
4173e4:	03 c0                	add    %eax,%eax
4173e6:	81 c2 e4 4a 00 00    	add    $0x4ae4,%edx
4173ec:	3b c8                	cmp    %eax,%ecx
4173ee:	72 dd                	jb     0x4173cd
4173f0:	8b 7b 18             	mov    0x18(%ebx),%edi
4173f3:	6a 05                	push   $0x5
4173f5:	59                   	pop    %ecx
4173f6:	8d b3 80 00 00 00    	lea    0x80(%ebx),%esi
4173fc:	8d 83 94 00 00 00    	lea    0x94(%ebx),%eax
417402:	68 9c 4a 00 00       	push   $0x4a9c
417407:	50                   	push   %eax
417408:	83 c7 18             	add    $0x18,%edi
41740b:	89 45 cc             	mov    %eax,-0x34(%ebp)
41740e:	89 75 d0             	mov    %esi,-0x30(%ebp)
417411:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
417413:	8b 43 18             	mov    0x18(%ebx),%eax
417416:	83 c0 30             	add    $0x30,%eax
417419:	50                   	push   %eax
41741a:	e8 51 48 00 00       	call   0x41bc70
41741f:	83 c4 0c             	add    $0xc,%esp
417422:	33 c0                	xor    %eax,%eax
417424:	89 45 d4             	mov    %eax,-0x2c(%ebp)
417427:	89 45 fc             	mov    %eax,-0x4(%ebp)
41742a:	89 45 f0             	mov    %eax,-0x10(%ebp)
41742d:	88 45 f7             	mov    %al,-0x9(%ebp)
417430:	88 45 0b             	mov    %al,0xb(%ebp)
417433:	8b 0b                	mov    (%ebx),%ecx
417435:	b8 00 00 40 00       	mov    $0x400000,%eax
41743a:	2b 45 fc             	sub    -0x4(%ebp),%eax
41743d:	83 e0 f0             	and    $0xfffffff0,%eax
417440:	50                   	push   %eax
417441:	8b 43 20             	mov    0x20(%ebx),%eax
417444:	03 45 fc             	add    -0x4(%ebp),%eax
417447:	50                   	push   %eax
417448:	e8 9a 43 ff ff       	call   0x40b7e7
41744d:	89 45 dc             	mov    %eax,-0x24(%ebp)
417450:	85 c0                	test   %eax,%eax
417452:	0f 8c 03 03 00 00    	jl     0x41775b
417458:	01 45 fc             	add    %eax,-0x4(%ebp)
41745b:	0f 84 fa 02 00 00    	je     0x41775b
417461:	8b 45 fc             	mov    -0x4(%ebp),%eax
417464:	39 45 f0             	cmp    %eax,-0x10(%ebp)
417467:	7d ca                	jge    0x417433
417469:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41746c:	33 c0                	xor    %eax,%eax
41746e:	03 c9                	add    %ecx,%ecx
417470:	89 45 ec             	mov    %eax,-0x14(%ebp)
417473:	89 45 e4             	mov    %eax,-0x1c(%ebp)
417476:	0f 84 f3 00 00 00    	je     0x41756f
41747c:	89 45 f8             	mov    %eax,-0x8(%ebp)
41747f:	8b 73 18             	mov    0x18(%ebx),%esi
417482:	03 75 f8             	add    -0x8(%ebp),%esi
417485:	8b 45 ec             	mov    -0x14(%ebp),%eax
417488:	80 be d3 4a 00 00 00 	cmpb   $0x0,0x4ad3(%esi)
41748f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
417492:	89 1e                	mov    %ebx,(%esi)