4183bd:	25 fe ff 00 00       	and    $0xfffe,%eax
4183c2:	3b 84 9e 5c 2d 00 00 	cmp    0x2d5c(%esi,%ebx,4),%eax
4183c9:	73 29                	jae    0x4183f4
4183cb:	6a 10                	push   $0x10
4183cd:	59                   	pop    %ecx
4183ce:	2b cb                	sub    %ebx,%ecx
4183d0:	d3 e8                	shr    %cl,%eax
4183d2:	0f b6 8c 30 e0 2d 00 	movzbl 0x2de0(%eax,%esi,1),%ecx
4183d9:	00
4183da:	03 4f 04             	add    0x4(%edi),%ecx
4183dd:	8b d1                	mov    %ecx,%edx
4183df:	c1 ea 03             	shr    $0x3,%edx
4183e2:	01 17                	add    %edx,(%edi)
4183e4:	83 e1 07             	and    $0x7,%ecx
4183e7:	89 4f 04             	mov    %ecx,0x4(%edi)
4183ea:	0f b7 84 46 e0 31 00 	movzwl 0x31e0(%esi,%eax,2),%eax
4183f1:	00
4183f2:	eb 59                	jmp    0x41844d
4183f4:	6a 0f                	push   $0xf
4183f6:	5a                   	pop    %edx
4183f7:	43                   	inc    %ebx
4183f8:	3b da                	cmp    %edx,%ebx
4183fa:	73 18                	jae    0x418414
4183fc:	8d 8c 9e 5c 2d 00 00 	lea    0x2d5c(%esi,%ebx,4),%ecx
418403:	3b 01                	cmp    (%ecx),%eax
418405:	72 0b                	jb     0x418412
418407:	43                   	inc    %ebx
418408:	83 c1 04             	add    $0x4,%ecx
41840b:	83 fb 0f             	cmp    $0xf,%ebx
41840e:	72 f3                	jb     0x418403
418410:	eb 02                	jmp    0x418414
418412:	8b d3                	mov    %ebx,%edx
418414:	8b 4f 04             	mov    0x4(%edi),%ecx
418417:	03 ca                	add    %edx,%ecx
418419:	8b d9                	mov    %ecx,%ebx
41841b:	83 e1 07             	and    $0x7,%ecx
41841e:	89 4f 04             	mov    %ecx,0x4(%edi)
418421:	c1 eb 03             	shr    $0x3,%ebx
418424:	01 1f                	add    %ebx,(%edi)
418426:	2b 84 96 58 2d 00 00 	sub    0x2d58(%esi,%edx,4),%eax
41842d:	6a 10                	push   $0x10
41842f:	59                   	pop    %ecx
418430:	2b ca                	sub    %edx,%ecx
418432:	d3 e8                	shr    %cl,%eax
418434:	03 84 96 9c 2d 00 00 	add    0x2d9c(%esi,%edx,4),%eax
41843b:	3b 86 58 2d 00 00    	cmp    0x2d58(%esi),%eax
418441:	72 02                	jb     0x418445
418443:	33 c0                	xor    %eax,%eax
418445:	0f b7 84 46 e0 39 00 	movzwl 0x39e0(%esi,%eax,2),%eax
41844c:	00
41844d:	0f b6 98 ac f1 42 00 	movzbl 0x42f1ac(%eax),%ebx
418454:	0f b6 80 90 f1 42 00 	movzbl 0x42f190(%eax),%eax
41845b:	43                   	inc    %ebx
41845c:	43                   	inc    %ebx
41845d:	89 5d f4             	mov    %ebx,-0xc(%ebp)
418460:	89 45 08             	mov    %eax,0x8(%ebp)
418463:	85 c0                	test   %eax,%eax
418465:	76 27                	jbe    0x41848e
418467:	8b cf                	mov    %edi,%ecx
418469:	e8 9c 12 ff ff       	call   0x40970a
41846e:	6a 10                	push   $0x10
418470:	59                   	pop    %ecx
418471:	2b 4d 08             	sub    0x8(%ebp),%ecx
418474:	d3 e8                	shr    %cl,%eax
418476:	03 d8                	add    %eax,%ebx
418478:	8b 47 04             	mov    0x4(%edi),%eax
41847b:	03 45 08             	add    0x8(%ebp),%eax
41847e:	89 5d f4             	mov    %ebx,-0xc(%ebp)
418481:	8b c8                	mov    %eax,%ecx
418483:	c1 e9 03             	shr    $0x3,%ecx
418486:	01 0f                	add    %ecx,(%edi)
418488:	83 e0 07             	and    $0x7,%eax
41848b:	89 47 04             	mov    %eax,0x4(%edi)
41848e:	8b 4e 70             	mov    0x70(%esi),%ecx
418491:	8b 96 f4 e6 00 00    	mov    0xe6f4(%esi),%edx
418497:	8b c1                	mov    %ecx,%eax
418499:	2b 45 f8             	sub    -0x8(%ebp),%eax
41849c:	81 c2 ff ef ff ff    	add    $0xffffefff,%edx
4184a2:	89 5e 68             	mov    %ebx,0x68(%esi)
4184a5:	89 5d 08             	mov    %ebx,0x8(%ebp)
4184a8:	3b c2                	cmp    %edx,%eax
4184aa:	0f 83 11 01 00 00    	jae    0x4185c1
4184b0:	3b ca                	cmp    %edx,%ecx
4184b2:	0f 83 09 01 00 00    	jae    0x4185c1
4184b8:	8b 96 34 4b 00 00    	mov    0x4b34(%esi),%edx
4184be:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
4184c1:	8b 45 f4             	mov    -0xc(%ebp),%eax
4184c4:	03 d1                	add    %ecx,%edx
4184c6:	03 c8                	add    %eax,%ecx
4184c8:	89 55 fc             	mov    %edx,-0x4(%ebp)
4184cb:	89 4e 70             	mov    %ecx,0x70(%esi)
4184ce:	39 45 f8             	cmp    %eax,-0x8(%ebp)
4184d1:	73 4c                	jae    0x41851f
4184d3:	83 f8 08             	cmp    $0x8,%eax
4184d6:	72 73                	jb     0x41854b
4184d8:	c1 e8 03             	shr    $0x3,%eax
4184db:	8b c8                	mov    %eax,%ecx
4184dd:	8b c2                	mov    %edx,%eax
4184df:	8a 13                	mov    (%ebx),%dl
4184e1:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
4184e5:	88 10                	mov    %dl,(%eax)
4184e7:	8a 53 01             	mov    0x1(%ebx),%dl
4184ea:	88 50 01             	mov    %dl,0x1(%eax)
4184ed:	8a 53 02             	mov    0x2(%ebx),%dl
4184f0:	88 50 02             	mov    %dl,0x2(%eax)
4184f3:	8a 53 03             	mov    0x3(%ebx),%dl
4184f6:	88 50 03             	mov    %dl,0x3(%eax)
4184f9:	8a 53 04             	mov    0x4(%ebx),%dl
4184fc:	88 50 04             	mov    %dl,0x4(%eax)
4184ff:	8a 53 05             	mov    0x5(%ebx),%dl
418502:	88 50 05             	mov    %dl,0x5(%eax)
418505:	8a 53 06             	mov    0x6(%ebx),%dl
418508:	88 50 06             	mov    %dl,0x6(%eax)
41850b:	8a 53 07             	mov    0x7(%ebx),%dl
41850e:	88 50 07             	mov    %dl,0x7(%eax)
418511:	83 c3 08             	add    $0x8,%ebx
418514:	83 c0 08             	add    $0x8,%eax
418517:	49                   	dec    %ecx
418518:	75 c5                	jne    0x4184df
41851a:	89 45 fc             	mov    %eax,-0x4(%ebp)
41851d:	eb 2c                	jmp    0x41854b
41851f:	83 f8 08             	cmp    $0x8,%eax
418522:	72 27                	jb     0x41854b
418524:	8b 45 f4             	mov    -0xc(%ebp),%eax
418527:	c1 e8 03             	shr    $0x3,%eax
41852a:	89 45 f4             	mov    %eax,-0xc(%ebp)
41852d:	6a 08                	push   $0x8
41852f:	53                   	push   %ebx
418530:	ff 75 fc             	push   -0x4(%ebp)
418533:	e8 38 37 00 00       	call   0x41bc70
418538:	83 45 fc 08          	addl   $0x8,-0x4(%ebp)
41853c:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
418540:	83 c4 0c             	add    $0xc,%esp
418543:	83 c3 08             	add    $0x8,%ebx
418546:	ff 4d f4             	decl   -0xc(%ebp)
418549:	75 e2                	jne    0x41852d
41854b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41854f:	0f 86 cd f4 ff ff    	jbe    0x417a22
418555:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
418559:	8a 03                	mov    (%ebx),%al
41855b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41855e:	88 01                	mov    %al,(%ecx)
418560:	0f 86 bc f4 ff ff    	jbe    0x417a22
418566:	83 7d 08 02          	cmpl   $0x2,0x8(%ebp)
41856a:	8a 43 01             	mov    0x1(%ebx),%al
41856d:	88 41 01             	mov    %al,0x1(%ecx)
418570:	0f 86 ac f4 ff ff    	jbe    0x417a22
418576:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
41857a:	8a 43 02             	mov    0x2(%ebx),%al
41857d:	88 41 02             	mov    %al,0x2(%ecx)
418580:	0f 86 9c f4 ff ff    	jbe    0x417a22
418586:	83 7d 08 04          	cmpl   $0x4,0x8(%ebp)
41858a:	8a 43 03             	mov    0x3(%ebx),%al
41858d:	88 41 03             	mov    %al,0x3(%ecx)
418590:	0f 86 8c f4 ff ff    	jbe    0x417a22
418596:	83 7d 08 05          	cmpl   $0x5,0x8(%ebp)
41859a:	8a 43 04             	mov    0x4(%ebx),%al
41859d:	88 41 04             	mov    %al,0x4(%ecx)
4185a0:	0f 86 7c f4 ff ff    	jbe    0x417a22
4185a6:	83 7d 08 06          	cmpl   $0x6,0x8(%ebp)
4185aa:	8a 43 05             	mov    0x5(%ebx),%al
4185ad:	88 41 05             	mov    %al,0x5(%ecx)
4185b0:	0f 86 6c f4 ff ff    	jbe    0x417a22
4185b6:	8a 43 06             	mov    0x6(%ebx),%al
4185b9:	88 41 06             	mov    %al,0x6(%ecx)
4185bc:	e9 61 f4 ff ff       	jmp    0x417a22
4185c1:	85 db                	test   %ebx,%ebx
4185c3:	0f 86 59 f4 ff ff    	jbe    0x417a22
4185c9:	8b 96 f8 e6 00 00    	mov    0xe6f8(%esi),%edx
4185cf:	8b 8e 34 4b 00 00    	mov    0x4b34(%esi),%ecx
4185d5:	8b 5e 70             	mov    0x70(%esi),%ebx
4185d8:	ff 4d 08             	decl   0x8(%ebp)
4185db:	23 d0                	and    %eax,%edx
4185dd:	8a 14 0a             	mov    (%edx,%ecx,1),%dl
4185e0:	88 14 19             	mov    %dl,(%ecx,%ebx,1)
4185e3:	8b 4e 70             	mov    0x70(%esi),%ecx
4185e6:	8b 96 f8 e6 00 00    	mov    0xe6f8(%esi),%edx
4185ec:	40                   	inc    %eax
4185ed:	41                   	inc    %ecx
4185ee:	23 ca                	and    %edx,%ecx
4185f0:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4185f4:	89 4e 70             	mov    %ecx,0x70(%esi)
4185f7:	77 d6                	ja     0x4185cf
4185f9:	e9 24 f4 ff ff       	jmp    0x417a22
4185fe:	3d 10 01 00 00       	cmp    $0x110,%eax
418603:	0f 8d 19 f4 ff ff    	jge    0x417a22
418609:	0f b6 98 81 f0 42 00 	movzbl 0x42f081(%eax),%ebx
418610:	05 f9 fe ff ff       	add    $0xfffffef9,%eax
418615:	0f b6 80 80 f1 42 00 	movzbl 0x42f180(%eax),%eax
41861c:	43                   	inc    %ebx
41861d:	89 45 08             	mov    %eax,0x8(%ebp)
418620:	85 c0                	test   %eax,%eax
418622:	76 24                	jbe    0x418648
418624:	8b cf                	mov    %edi,%ecx
418626:	e8 df 10 ff ff       	call   0x40970a
41862b:	6a 10                	push   $0x10
41862d:	59                   	pop    %ecx
41862e:	2b 4d 08             	sub    0x8(%ebp),%ecx
418631:	d3 e8                	shr    %cl,%eax
418633:	03 d8                	add    %eax,%ebx
418635:	8b 47 04             	mov    0x4(%edi),%eax
418638:	03 45 08             	add    0x8(%ebp),%eax
41863b:	8b c8                	mov    %eax,%ecx
41863d:	c1 e9 03             	shr    $0x3,%ecx
418640:	01 0f                	add    %ecx,(%edi)
418642:	83 e0 07             	and    $0x7,%eax
418645:	89 47 04             	mov    %eax,0x4(%edi)
418648:	8b 46 5c             	mov    0x5c(%esi),%eax
41864b:	8b 4e 70             	mov    0x70(%esi),%ecx
41864e:	8b 96 f4 e6 00 00    	mov    0xe6f4(%esi),%edx
418654:	89 46 60             	mov    %eax,0x60(%esi)
418657:	8b 46 58             	mov    0x58(%esi),%eax
41865a:	89 46 5c             	mov    %eax,0x5c(%esi)
41865d:	8b 46 54             	mov    0x54(%esi),%eax
418660:	89 46 58             	mov    %eax,0x58(%esi)
418663:	6a 02                	push   $0x2
418665:	58                   	pop    %eax
418666:	89 46 68             	mov    %eax,0x68(%esi)
418669:	89 45 08             	mov    %eax,0x8(%ebp)
41866c:	8b c1                	mov    %ecx,%eax
41866e:	2b c3                	sub    %ebx,%eax
418670:	81 c2 ff ef ff ff    	add    $0xffffefff,%edx
418676:	89 5e 54             	mov    %ebx,0x54(%esi)
418679:	3b c2                	cmp    %edx,%eax
41867b:	73 23                	jae    0x4186a0
41867d:	3b ca                	cmp    %edx,%ecx
41867f:	73 1f                	jae    0x4186a0
418681:	8b 96 34 4b 00 00    	mov    0x4b34(%esi),%edx
418687:	03 c2                	add    %edx,%eax
418689:	03 d1                	add    %ecx,%edx
41868b:	83 c1 02             	add    $0x2,%ecx
41868e:	89 4e 70             	mov    %ecx,0x70(%esi)
418691:	8a 08                	mov    (%eax),%cl
418693:	88 0a                	mov    %cl,(%edx)
418695:	8a 40 01             	mov    0x1(%eax),%al
418698:	88 42 01             	mov    %al,0x1(%edx)
41869b:	e9 82 f3 ff ff       	jmp    0x417a22
4186a0:	8b 96 f8 e6 00 00    	mov    0xe6f8(%esi),%edx
4186a6:	8b 8e 34 4b 00 00    	mov    0x4b34(%esi),%ecx
4186ac:	8b 5e 70             	mov    0x70(%esi),%ebx
4186af:	ff 4d 08             	decl   0x8(%ebp)
4186b2:	23 d0                	and    %eax,%edx
4186b4:	8a 14 0a             	mov    (%edx,%ecx,1),%dl
4186b7:	88 14 19             	mov    %dl,(%ecx,%ebx,1)
4186ba:	8b 4e 70             	mov    0x70(%esi),%ecx
4186bd:	8b 96 f8 e6 00 00    	mov    0xe6f8(%esi),%edx
4186c3:	40                   	inc    %eax
4186c4:	41                   	inc    %ecx
4186c5:	23 ca                	and    %edx,%ecx
4186c7:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4186cb:	89 4e 70             	mov    %ecx,0x70(%esi)
4186ce:	77 d6                	ja     0x4186a6
4186d0:	e9 4d f3 ff ff       	jmp    0x417a22
4186d5:	c6 86 58 4c 00 00 00 	movb   $0x0,0x4c58(%esi)
4186dc:	eb 19                	jmp    0x4186f7
4186de:	8d 8e d0 98 00 00    	lea    0x98d0(%esi),%ecx
4186e4:	e8 9b af ff ff       	call   0x413684
4186e9:	83 a6 70 e6 00 00 00 	andl   $0x0,0xe670(%esi)
4186f0:	8b ce                	mov    %esi,%ecx
4186f2:	e8 b0 c4 ff ff       	call   0x414ba7
4186f7:	5f                   	pop    %edi
4186f8:	5e                   	pop    %esi
4186f9:	5b                   	pop    %ebx
4186fa:	c9                   	leave
4186fb:	c2 04 00             	ret    $0x4
4186fe:	55                   	push   %ebp
4186ff:	8b ec                	mov    %esp,%ebp
418701:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
418705:	74 10                	je     0x418717
418707:	83 7d 08 1d          	cmpl   $0x1d,0x8(%ebp)
41870b:	75 2b                	jne    0x418738
41870d:	ff 75 0c             	push   0xc(%ebp)
418710:	e8 62 f2 ff ff       	call   0x417977
418715:	eb 21                	jmp    0x418738
418717:	83 79 1c 01          	cmpl   $0x1,0x1c(%ecx)
41871b:	76 13                	jbe    0x418730
41871d:	80 b9 38 4c 00 00 00 	cmpb   $0x0,0x4c38(%ecx)
418724:	75 0a                	jne    0x418730
418726:	ff 75 0c             	push   0xc(%ebp)
418729:	e8 77 ec ff ff       	call   0x4173a5
41872e:	eb 08                	jmp    0x418738
418730:	ff 75 0c             	push   0xc(%ebp)
418733:	e8 12 e1 ff ff       	call   0x41684a
418738:	5d                   	pop    %ebp
418739:	c2 08 00             	ret    $0x8
41873c:	55                   	push   %ebp
41873d:	8b ec                	mov    %esp,%ebp
41873f:	b8 14 20 00 00       	mov    $0x2014,%eax
418744:	e8 87 1d 00 00       	call   0x41a4d0
418749:	53                   	push   %ebx
41874a:	56                   	push   %esi
41874b:	8b 75 08             	mov    0x8(%ebp),%esi
41874e:	8b 86 04 57 00 00    	mov    0x5704(%esi),%eax
418754:	89 45 f8             	mov    %eax,-0x8(%ebp)
418757:	8b 86 24 57 00 00    	mov    0x5724(%esi),%eax
41875d:	57                   	push   %edi
41875e:	89 45 f4             	mov    %eax,-0xc(%ebp)
418761:	83 f8 03             	cmp    $0x3,%eax
418764:	75 0b                	jne    0x418771
418766:	8d be 08 7b 00 00    	lea    0x7b08(%esi),%edi
41876c:	89 7d fc             	mov    %edi,-0x4(%ebp)
41876f:	eb 10                	jmp    0x418781
418771:	8d 8e c8 57 00 00    	lea    0x57c8(%esi),%ecx
418777:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41877a:	8b f9                	mov    %ecx,%edi
41877c:	83 f8 02             	cmp    $0x2,%eax
41877f:	75 0d                	jne    0x41878e
418781:	80 bf 89 10 00 00 00 	cmpb   $0x0,0x1089(%edi)
418788:	c6 45 0b 01          	movb   $0x1,0xb(%ebp)
41878c:	75 04                	jne    0x418792
41878e:	c6 45 0b 00          	movb   $0x0,0xb(%ebp)
418792:	8b 5d 0c             	mov    0xc(%ebp),%ebx
418795:	85 db                	test   %ebx,%ebx
418797:	74 57                	je     0x4187f0
418799:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
41879d:	74 51                	je     0x4187f0
41879f:	83 be 30 a2 00 00 03 	cmpl   $0x3,0xa230(%esi)
4187a6:	74 0f                	je     0x4187b7
4187a8:	80 7f 19 14          	cmpb   $0x14,0x19(%edi)
4187ac:	72 42                	jb     0x4187f0
4187ae:	83 bf 64 10 00 00 ff 	cmpl   $0xffffffff,0x1064(%edi)
4187b5:	74 39                	je     0x4187f0
4187b7:	0f b6 8f ba 10 00 00 	movzbl 0x10ba(%edi),%ecx
4187be:	f7 d9                	neg    %ecx
4187c0:	1b c9                	sbb    %ecx,%ecx
4187c2:	8d 87 bb 10 00 00    	lea    0x10bb(%edi),%eax
4187c8:	23 c8                	and    %eax,%ecx
4187ca:	51                   	push   %ecx
4187cb:	8d 87 60 10 00 00    	lea    0x1060(%edi),%eax
4187d1:	50                   	push   %eax
4187d2:	8d 8b a0 18 00 00    	lea    0x18a0(%ebx),%ecx
4187d8:	e8 8a 12 ff ff       	call   0x409a67
4187dd:	84 c0                	test   %al,%al
4187df:	75 0f                	jne    0x4187f0
4187e1:	83 c7 20             	add    $0x20,%edi
4187e4:	57                   	push   %edi
4187e5:	8d 46 1e             	lea    0x1e(%esi),%eax
4187e8:	50                   	push   %eax
4187e9:	6a 05                	push   $0x5
4187eb:	e8 e9 dc fe ff       	call   0x4064d9
4187f0:	8b 06                	mov    (%esi),%eax
4187f2:	8b ce                	mov    %esi,%ecx
4187f4:	ff 50 10             	call   *0x10(%eax)
4187f7:	89 45 ec             	mov    %eax,-0x14(%ebp)
4187fa:	89 55 f0             	mov    %edx,-0x10(%ebp)
4187fd:	85 db                	test   %ebx,%ebx
4187ff:	74 12                	je     0x418813
418801:	8b ce                	mov    %esi,%ecx
418803:	8d bb 90 18 00 00    	lea    0x1890(%ebx),%edi
418809:	e8 87 05 ff ff       	call   0x408d95