422585:	83 ec 14             	sub    $0x14,%esp
422588:	53                   	push   %ebx
422589:	56                   	push   %esi
42258a:	8b 75 0c             	mov    0xc(%ebp),%esi
42258d:	57                   	push   %edi
42258e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
422591:	8b 06                	mov    (%esi),%eax
422593:	89 45 fc             	mov    %eax,-0x4(%ebp)
422596:	ff 06                	incl   (%esi)
422598:	8b 3e                	mov    (%esi),%edi
42259a:	8a 1f                	mov    (%edi),%bl
42259c:	88 5d 0c             	mov    %bl,0xc(%ebp)
42259f:	ff 75 0c             	push   0xc(%ebp)
4225a2:	e8 30 57 fe ff       	call   0x407cd7
4225a7:	59                   	pop    %ecx
4225a8:	84 c0                	test   %al,%al
4225aa:	75 ea                	jne    0x422596
4225ac:	80 fb 30             	cmp    $0x30,%bl
4225af:	7c 05                	jl     0x4225b6
4225b1:	80 fb 39             	cmp    $0x39,%bl
4225b4:	7e e0                	jle    0x422596
4225b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4225b9:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4225bc:	83 65 0c 00          	andl   $0x0,0xc(%ebp)
4225c0:	2b f8                	sub    %eax,%edi
4225c2:	51                   	push   %ecx
4225c3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4225c6:	57                   	push   %edi
4225c7:	50                   	push   %eax
4225c8:	ff 75 08             	push   0x8(%ebp)
4225cb:	e8 95 f6 ff ff       	call   0x421c65
4225d0:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4225d4:	75 0a                	jne    0x4225e0
4225d6:	8b 45 08             	mov    0x8(%ebp),%eax
4225d9:	5f                   	pop    %edi
4225da:	5e                   	pop    %esi
4225db:	5b                   	pop    %ebx
4225dc:	c9                   	leave
4225dd:	c2 08 00             	ret    $0x8
4225e0:	51                   	push   %ecx
4225e1:	8b cc                	mov    %esp,%ecx
4225e3:	ff 75 0c             	push   0xc(%ebp)
4225e6:	e8 55 80 fe ff       	call   0x40a640
4225eb:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4225ee:	e8 ef 96 fe ff       	call   0x40bce2
4225f3:	68 24 16 4b 00       	push   $0x4b1624
4225f8:	8d 45 ec             	lea    -0x14(%ebp),%eax
4225fb:	50                   	push   %eax
4225fc:	e8 c1 1b 02 00       	call   0x4441c2
422601:	cc                   	int3
422602:	b8 ff ff 00 00       	mov    $0xffff,%eax
422607:	c2 04 00             	ret    $0x4
42260a:	55                   	push   %ebp
42260b:	8b ec                	mov    %esp,%ebp
42260d:	8b 41 1c             	mov    0x1c(%ecx),%eax
422610:	56                   	push   %esi
422611:	57                   	push   %edi
422612:	bf ff ff 00 00       	mov    $0xffff,%edi
422617:	8b 30                	mov    (%eax),%esi
422619:	85 f6                	test   %esi,%esi
42261b:	74 41                	je     0x42265e
42261d:	8b 41 0c             	mov    0xc(%ecx),%eax
422620:	3b 30                	cmp    (%eax),%esi
422622:	76 3a                	jbe    0x42265e
422624:	66 8b 55 08          	mov    0x8(%ebp),%dx
422628:	66 3b fa             	cmp    %dx,%di
42262b:	74 0c                	je     0x422639
42262d:	66 3b 56 fe          	cmp    -0x2(%esi),%dx
422631:	74 06                	je     0x422639
422633:	f6 41 3c 02          	testb  $0x2,0x3c(%ecx)
422637:	75 25                	jne    0x42265e
422639:	8b 41 2c             	mov    0x2c(%ecx),%eax
42263c:	ff 00                	incl   (%eax)
42263e:	8b 41 1c             	mov    0x1c(%ecx),%eax
422641:	83 00 fe             	addl   $0xfffffffe,(%eax)
422644:	66 3b fa             	cmp    %dx,%di
422647:	74 08                	je     0x422651
422649:	8b 41 1c             	mov    0x1c(%ecx),%eax
42264c:	8b 00                	mov    (%eax),%eax
42264e:	66 89 10             	mov    %dx,(%eax)
422651:	33 c9                	xor    %ecx,%ecx
422653:	0f b7 c2             	movzwl %dx,%eax
422656:	66 3b d7             	cmp    %di,%dx
422659:	0f 44 c1             	cmove  %ecx,%eax
42265c:	eb 03                	jmp    0x422661
42265e:	66 8b c7             	mov    %di,%ax
422661:	5f                   	pop    %edi
422662:	5e                   	pop    %esi
422663:	5d                   	pop    %ebp
422664:	c2 04 00             	ret    $0x4
422667:	56                   	push   %esi
422668:	8b f1                	mov    %ecx,%esi
42266a:	6a 00                	push   $0x0
42266c:	8b 46 10             	mov    0x10(%esi),%eax
42266f:	8b 56 0c             	mov    0xc(%esi),%edx
422672:	48                   	dec    %eax
422673:	8b 4e 04             	mov    0x4(%esi),%ecx
422676:	03 d0                	add    %eax,%edx
422678:	8b 46 08             	mov    0x8(%esi),%eax
42267b:	48                   	dec    %eax
42267c:	23 d0                	and    %eax,%edx
42267e:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
422681:	e8 14 e2 fe ff       	call   0x41089a
422686:	83 6e 10 01          	subl   $0x1,0x10(%esi)
42268a:	75 04                	jne    0x422690
42268c:	83 66 0c 00          	andl   $0x0,0xc(%esi)
422690:	5e                   	pop    %esi
422691:	c3                   	ret
422692:	55                   	push   %ebp
422693:	8b ec                	mov    %esp,%ebp
422695:	51                   	push   %ecx
422696:	8b 51 10             	mov    0x10(%ecx),%edx
422699:	3b 51 14             	cmp    0x14(%ecx),%edx
42269c:	73 1b                	jae    0x4226b9
42269e:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
4226a2:	8d 42 01             	lea    0x1(%edx),%eax
4226a5:	89 41 10             	mov    %eax,0x10(%ecx)
4226a8:	72 02                	jb     0x4226ac
4226aa:	8b 09                	mov    (%ecx),%ecx
4226ac:	8a 45 08             	mov    0x8(%ebp),%al
4226af:	88 04 11             	mov    %al,(%ecx,%edx,1)
4226b2:	c6 44 11 01 00       	movb   $0x0,0x1(%ecx,%edx,1)
4226b7:	eb 11                	jmp    0x4226ca
4226b9:	ff 75 08             	push   0x8(%ebp)
4226bc:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4226c0:	ff 75 fc             	push   -0x4(%ebp)
4226c3:	6a 01                	push   $0x1
4226c5:	e8 6a 28 fe ff       	call   0x404f34
4226ca:	c9                   	leave
4226cb:	c2 04 00             	ret    $0x4
4226ce:	55                   	push   %ebp
4226cf:	8b ec                	mov    %esp,%ebp
4226d1:	51                   	push   %ecx
4226d2:	8b 51 10             	mov    0x10(%ecx),%edx
4226d5:	3b 51 14             	cmp    0x14(%ecx),%edx
4226d8:	73 1f                	jae    0x4226f9
4226da:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
4226de:	8d 42 01             	lea    0x1(%edx),%eax
4226e1:	89 41 10             	mov    %eax,0x10(%ecx)
4226e4:	72 02                	jb     0x4226e8
4226e6:	8b 09                	mov    (%ecx),%ecx
4226e8:	66 8b 45 08          	mov    0x8(%ebp),%ax
4226ec:	66 89 04 51          	mov    %ax,(%ecx,%edx,2)
4226f0:	33 c0                	xor    %eax,%eax
4226f2:	66 89 44 51 02       	mov    %ax,0x2(%ecx,%edx,2)
4226f7:	eb 11                	jmp    0x42270a
4226f9:	ff 75 08             	push   0x8(%ebp)
4226fc:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
422700:	ff 75 fc             	push   -0x4(%ebp)
422703:	6a 01                	push   $0x1
422705:	e8 58 29 fe ff       	call   0x405062
42270a:	c9                   	leave
42270b:	c2 04 00             	ret    $0x4
42270e:	6a 30                	push   $0x30
422710:	b8 6c 01 49 00       	mov    $0x49016c,%eax
422715:	e8 30 d3 01 00       	call   0x43fa4a
42271a:	8b 45 0c             	mov    0xc(%ebp),%eax
42271d:	8a 5d 08             	mov    0x8(%ebp),%bl
422720:	89 45 d4             	mov    %eax,-0x2c(%ebp)
422723:	0f b6 c3             	movzbl %bl,%eax
422726:	50                   	push   %eax
422727:	e8 cc 55 04 00       	call   0x467cf8
42272c:	59                   	pop    %ecx
42272d:	85 c0                	test   %eax,%eax
42272f:	74 43                	je     0x422774
422731:	8d 45 d4             	lea    -0x2c(%ebp),%eax
422734:	50                   	push   %eax
422735:	8d 45 08             	lea    0x8(%ebp),%eax
422738:	50                   	push   %eax
422739:	51                   	push   %ecx
42273a:	8b cc                	mov    %esp,%ecx
42273c:	68 b0 49 49 00       	push   $0x4949b0
422741:	e8 fa 7e fe ff       	call   0x40a640
422746:	8d 45 dc             	lea    -0x24(%ebp),%eax
422749:	50                   	push   %eax
42274a:	e8 1b 50 fe ff       	call   0x40776a
42274f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
422753:	83 c4 0c             	add    $0xc,%esp
422756:	8b cc                	mov    %esp,%ecx
422758:	50                   	push   %eax
422759:	e8 ef ef fd ff       	call   0x40174d
42275e:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
422761:	e8 7c 95 fe ff       	call   0x40bce2
422766:	68 24 16 4b 00       	push   $0x4b1624
42276b:	8d 45 c4             	lea    -0x3c(%ebp),%eax
42276e:	50                   	push   %eax
42276f:	e8 4e 1a 02 00       	call   0x4441c2
422774:	0f be c3             	movsbl %bl,%eax
422777:	89 45 d8             	mov    %eax,-0x28(%ebp)
42277a:	8d 45 d4             	lea    -0x2c(%ebp),%eax
42277d:	50                   	push   %eax
42277e:	8d 45 d8             	lea    -0x28(%ebp),%eax
422781:	50                   	push   %eax
422782:	51                   	push   %ecx
422783:	8b cc                	mov    %esp,%ecx
422785:	68 d0 49 49 00       	push   $0x4949d0
42278a:	e8 b1 7e fe ff       	call   0x40a640
42278f:	8d 45 dc             	lea    -0x24(%ebp),%eax
422792:	50                   	push   %eax
422793:	e8 40 50 fe ff       	call   0x4077d8
422798:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
42279f:	eb b2                	jmp    0x422753
4227a1:	6a 2c                	push   $0x2c
4227a3:	b8 8f 01 49 00       	mov    $0x49018f,%eax
4227a8:	e8 d1 d2 01 00       	call   0x43fa7e
4227ad:	8b 45 08             	mov    0x8(%ebp),%eax
4227b0:	83 78 08 09          	cmpl   $0x9,0x8(%eax)
4227b4:	7f 06                	jg     0x4227bc
4227b6:	e8 6d d2 01 00       	call   0x43fa28
4227bb:	c3                   	ret
4227bc:	8d 45 0c             	lea    0xc(%ebp),%eax
4227bf:	50                   	push   %eax
4227c0:	51                   	push   %ecx
4227c1:	8b cc                	mov    %esp,%ecx
4227c3:	68 74 49 49 00       	push   $0x494974
4227c8:	e8 73 7e fe ff       	call   0x40a640
4227cd:	8d 45 d8             	lea    -0x28(%ebp),%eax
4227d0:	50                   	push   %eax
4227d1:	e8 34 4f fe ff       	call   0x40770a
4227d6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4227da:	83 c4 08             	add    $0x8,%esp
4227dd:	8d 45 d8             	lea    -0x28(%ebp),%eax
4227e0:	8b cc                	mov    %esp,%ecx
4227e2:	50                   	push   %eax
4227e3:	e8 65 ef fd ff       	call   0x40174d
4227e8:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4227eb:	e8 f2 94 fe ff       	call   0x40bce2
4227f0:	68 24 16 4b 00       	push   $0x4b1624
4227f5:	8d 45 c8             	lea    -0x38(%ebp),%eax
4227f8:	50                   	push   %eax
4227f9:	e8 c4 19 02 00       	call   0x4441c2
4227fe:	cc                   	int3
4227ff:	55                   	push   %ebp
422800:	8b ec                	mov    %esp,%ebp
422802:	8b 45 08             	mov    0x8(%ebp),%eax
422805:	56                   	push   %esi
422806:	8b f1                	mov    %ecx,%esi
422808:	57                   	push   %edi
422809:	8b 7e 10             	mov    0x10(%esi),%edi
42280c:	3b f8                	cmp    %eax,%edi
42280e:	77 2b                	ja     0x42283b
422810:	39 46 14             	cmp    %eax,0x14(%esi)
422813:	74 26                	je     0x42283b
422815:	73 14                	jae    0x42282b
422817:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
42281b:	2b c7                	sub    %edi,%eax
42281d:	ff 75 08             	push   0x8(%ebp)
422820:	50                   	push   %eax
422821:	e8 5a 29 fe ff       	call   0x405180
422826:	89 7e 10             	mov    %edi,0x10(%esi)
422829:	eb 10                	jmp    0x42283b
42282b:	83 f8 10             	cmp    $0x10,%eax
42282e:	73 0b                	jae    0x42283b
422830:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
422834:	72 05                	jb     0x42283b
422836:	e8 01 3c ff ff       	call   0x41643c
42283b:	5f                   	pop    %edi
42283c:	5e                   	pop    %esi
42283d:	5d                   	pop    %ebp
42283e:	c2 04 00             	ret    $0x4
422841:	55                   	push   %ebp
422842:	8b ec                	mov    %esp,%ebp
422844:	8b 45 08             	mov    0x8(%ebp),%eax
422847:	56                   	push   %esi
422848:	8b f1                	mov    %ecx,%esi
42284a:	57                   	push   %edi
42284b:	8b 7e 10             	mov    0x10(%esi),%edi
42284e:	3b f8                	cmp    %eax,%edi
422850:	77 2b                	ja     0x42287d
422852:	39 46 14             	cmp    %eax,0x14(%esi)
422855:	74 26                	je     0x42287d
422857:	73 14                	jae    0x42286d
422859:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
42285d:	2b c7                	sub    %edi,%eax
42285f:	ff 75 08             	push   0x8(%ebp)
422862:	50                   	push   %eax
422863:	e8 86 28 fe ff       	call   0x4050ee
422868:	89 7e 10             	mov    %edi,0x10(%esi)
42286b:	eb 10                	jmp    0x42287d
42286d:	83 f8 08             	cmp    $0x8,%eax
422870:	73 0b                	jae    0x42287d
422872:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
422876:	72 05                	jb     0x42287d
422878:	e8 e9 3b ff ff       	call   0x416466
42287d:	5f                   	pop    %edi
42287e:	5e                   	pop    %esi
42287f:	5d                   	pop    %ebp
422880:	c2 04 00             	ret    $0x4
422883:	55                   	push   %ebp
422884:	8b ec                	mov    %esp,%ebp
422886:	8b 45 08             	mov    0x8(%ebp),%eax
422889:	8d 51 10             	lea    0x10(%ecx),%edx
42288c:	3b 02                	cmp    (%edx),%eax
42288e:	77 10                	ja     0x4228a0
422890:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
422894:	72 02                	jb     0x422898
422896:	8b 09                	mov    (%ecx),%ecx
422898:	89 02                	mov    %eax,(%edx)
42289a:	c6 04 01 00          	movb   $0x0,(%ecx,%eax,1)
42289e:	eb 0b                	jmp    0x4228ab
4228a0:	ff 75 0c             	push   0xc(%ebp)
4228a3:	2b 02                	sub    (%edx),%eax
4228a5:	50                   	push   %eax
4228a6:	e8 85 cc ff ff       	call   0x41f530
4228ab:	5d                   	pop    %ebp
4228ac:	c2 08 00             	ret    $0x8
4228af:	55                   	push   %ebp
4228b0:	8b ec                	mov    %esp,%ebp
4228b2:	8b 45 08             	mov    0x8(%ebp),%eax
4228b5:	3b 41 10             	cmp    0x10(%ecx),%eax
4228b8:	77 08                	ja     0x4228c2
4228ba:	50                   	push   %eax
4228bb:	e8 9b 6c ff ff       	call   0x41955b
4228c0:	eb 0c                	jmp    0x4228ce
4228c2:	ff 75 0c             	push   0xc(%ebp)
4228c5:	2b 41 10             	sub    0x10(%ecx),%eax
4228c8:	50                   	push   %eax
4228c9:	e8 53 cd ff ff       	call   0x41f621
4228ce:	5d                   	pop    %ebp
4228cf:	c2 08 00             	ret    $0x8
4228d2:	55                   	push   %ebp
4228d3:	8b ec                	mov    %esp,%ebp
4228d5:	83 ec 20             	sub    $0x20,%esp
4228d8:	56                   	push   %esi
4228d9:	8b 75 08             	mov    0x8(%ebp),%esi
4228dc:	57                   	push   %edi
4228dd:	8b f9                	mov    %ecx,%edi
4228df:	89 7d fc             	mov    %edi,-0x4(%ebp)
4228e2:	39 77 0c             	cmp    %esi,0xc(%edi)
4228e5:	73 23                	jae    0x42290a
4228e7:	8d 45 f0             	lea    -0x10(%ebp),%eax
4228ea:	50                   	push   %eax
4228eb:	e8 e1 e2 ff ff       	call   0x420bd1
4228f0:	2b 77 0c             	sub    0xc(%edi),%esi
4228f3:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4228f6:	51                   	push   %ecx
4228f7:	56                   	push   %esi
4228f8:	ff 70 04             	push   0x4(%eax)
4228fb:	8b cf                	mov    %edi,%ecx
4228fd:	ff 30                	push   (%eax)
4228ff:	8d 45 f8             	lea    -0x8(%ebp),%eax
422902:	50                   	push   %eax
422903:	e8 21 88 ff ff       	call   0x41b129
422908:	eb 3e                	jmp    0x422948
42290a:	76 3c                	jbe    0x422948
42290c:	8d 45 e8             	lea    -0x18(%ebp),%eax
42290f:	50                   	push   %eax
422910:	e8 bc e2 ff ff       	call   0x420bd1
422915:	ff 75 08             	push   0x8(%ebp)
422918:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)