42558b:	74 0c                	je     0x425599
42558d:	6a 2d                	push   $0x2d
42558f:	5a                   	pop    %edx
425590:	43                   	inc    %ebx
425591:	66 89 10             	mov    %dx,(%eax)
425594:	8d 70 02             	lea    0x2(%eax),%esi
425597:	f7 d9                	neg    %ecx
425599:	8b fe                	mov    %esi,%edi
42559b:	8b c1                	mov    %ecx,%eax
42559d:	33 d2                	xor    %edx,%edx
42559f:	f7 75 14             	divl   0x14(%ebp)
4255a2:	8b c8                	mov    %eax,%ecx
4255a4:	8d 42 57             	lea    0x57(%edx),%eax
4255a7:	83 fa 09             	cmp    $0x9,%edx
4255aa:	77 03                	ja     0x4255af
4255ac:	8d 42 30             	lea    0x30(%edx),%eax
4255af:	66 89 06             	mov    %ax,(%esi)
4255b2:	83 c6 02             	add    $0x2,%esi
4255b5:	43                   	inc    %ebx
4255b6:	85 c9                	test   %ecx,%ecx
4255b8:	74 05                	je     0x4255bf
4255ba:	3b 5d 10             	cmp    0x10(%ebp),%ebx
4255bd:	72 dc                	jb     0x42559b
4255bf:	3b 5d 10             	cmp    0x10(%ebp),%ebx
4255c2:	72 1b                	jb     0x4255df
4255c4:	8b 45 0c             	mov    0xc(%ebp),%eax
4255c7:	33 c9                	xor    %ecx,%ecx
4255c9:	66 89 08             	mov    %cx,(%eax)
4255cc:	e8 9a f4 fe ff       	call   0x414a6b
4255d1:	6a 22                	push   $0x22
4255d3:	5e                   	pop    %esi
4255d4:	89 30                	mov    %esi,(%eax)
4255d6:	e8 07 67 fe ff       	call   0x40bce2
4255db:	8b c6                	mov    %esi,%eax
4255dd:	eb 20                	jmp    0x4255ff
4255df:	33 c0                	xor    %eax,%eax
4255e1:	66 89 06             	mov    %ax,(%esi)
4255e4:	83 ee 02             	sub    $0x2,%esi
4255e7:	66 8b 07             	mov    (%edi),%ax
4255ea:	0f b7 0e             	movzwl (%esi),%ecx
4255ed:	66 89 06             	mov    %ax,(%esi)
4255f0:	83 ee 02             	sub    $0x2,%esi
4255f3:	66 89 0f             	mov    %cx,(%edi)
4255f6:	83 c7 02             	add    $0x2,%edi
4255f9:	3b fe                	cmp    %esi,%edi
4255fb:	72 ea                	jb     0x4255e7
4255fd:	33 c0                	xor    %eax,%eax
4255ff:	5f                   	pop    %edi
425600:	5e                   	pop    %esi
425601:	5b                   	pop    %ebx
425602:	5d                   	pop    %ebp
425603:	c3                   	ret
425604:	8b ff                	mov    %edi,%edi
425606:	55                   	push   %ebp
425607:	8b ec                	mov    %esp,%ebp
425609:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42560c:	56                   	push   %esi
42560d:	85 c9                	test   %ecx,%ecx
42560f:	75 13                	jne    0x425624
425611:	e8 55 f4 fe ff       	call   0x414a6b
425616:	6a 16                	push   $0x16
425618:	5e                   	pop    %esi
425619:	89 30                	mov    %esi,(%eax)
42561b:	e8 c2 66 fe ff       	call   0x40bce2
425620:	8b c6                	mov    %esi,%eax
425622:	eb 3c                	jmp    0x425660
425624:	8b 55 10             	mov    0x10(%ebp),%edx
425627:	85 d2                	test   %edx,%edx
425629:	74 e6                	je     0x425611
42562b:	33 c0                	xor    %eax,%eax
42562d:	38 45 18             	cmp    %al,0x18(%ebp)
425630:	66 89 01             	mov    %ax,(%ecx)
425633:	0f 95 c0             	setne  %al
425636:	40                   	inc    %eax
425637:	3b d0                	cmp    %eax,%edx
425639:	77 09                	ja     0x425644
42563b:	e8 2b f4 fe ff       	call   0x414a6b
425640:	6a 22                	push   $0x22
425642:	eb d4                	jmp    0x425618
425644:	8b 75 14             	mov    0x14(%ebp),%esi
425647:	8d 46 fe             	lea    -0x2(%esi),%eax
42564a:	83 f8 22             	cmp    $0x22,%eax
42564d:	77 c2                	ja     0x425611
42564f:	ff 75 18             	push   0x18(%ebp)
425652:	56                   	push   %esi
425653:	52                   	push   %edx
425654:	51                   	push   %ecx
425655:	ff 75 08             	push   0x8(%ebp)
425658:	e8 19 ff ff ff       	call   0x425576
42565d:	83 c4 14             	add    $0x14,%esp
425660:	5e                   	pop    %esi
425661:	5d                   	pop    %ebp
425662:	c3                   	ret
425663:	8b ff                	mov    %edi,%edi
425665:	55                   	push   %ebp
425666:	8b ec                	mov    %esp,%ebp
425668:	51                   	push   %ecx
425669:	83 7d 14 0a          	cmpl   $0xa,0x14(%ebp)
42566d:	75 0a                	jne    0x425679
42566f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
425673:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
425677:	7c 04                	jl     0x42567d
425679:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
42567d:	ff 75 fc             	push   -0x4(%ebp)
425680:	ff 75 14             	push   0x14(%ebp)
425683:	ff 75 10             	push   0x10(%ebp)
425686:	ff 75 0c             	push   0xc(%ebp)
425689:	ff 75 08             	push   0x8(%ebp)
42568c:	e8 73 ff ff ff       	call   0x425604
425691:	83 c4 14             	add    $0x14,%esp
425694:	8b e5                	mov    %ebp,%esp
425696:	5d                   	pop    %ebp
425697:	c3                   	ret
425698:	8b ff                	mov    %edi,%edi
42569a:	55                   	push   %ebp
42569b:	8b ec                	mov    %esp,%ebp
42569d:	51                   	push   %ecx
42569e:	a1 dc 9c 83 02       	mov    0x2839cdc,%eax
4256a3:	57                   	push   %edi
4256a4:	85 c0                	test   %eax,%eax
4256a6:	0f 85 8c 00 00 00    	jne    0x425738
4256ac:	8b 7d 10             	mov    0x10(%ebp),%edi
4256af:	85 ff                	test   %edi,%edi
4256b1:	0f 84 94 00 00 00    	je     0x42574b
4256b7:	8b 55 08             	mov    0x8(%ebp),%edx
4256ba:	85 d2                	test   %edx,%edx
4256bc:	75 17                	jne    0x4256d5
4256be:	e8 a8 f3 fe ff       	call   0x414a6b
4256c3:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4256c9:	e8 14 66 fe ff       	call   0x40bce2
4256ce:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4256d3:	eb 76                	jmp    0x42574b
4256d5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4256d8:	85 c9                	test   %ecx,%ecx
4256da:	74 e2                	je     0x4256be
4256dc:	53                   	push   %ebx
4256dd:	56                   	push   %esi
4256de:	6a 41                	push   $0x41
4256e0:	5b                   	pop    %ebx
4256e1:	6a 5a                	push   $0x5a
4256e3:	5e                   	pop    %esi
4256e4:	2b d1                	sub    %ecx,%edx
4256e6:	89 75 fc             	mov    %esi,-0x4(%ebp)
4256e9:	eb 03                	jmp    0x4256ee
4256eb:	6a 5a                	push   $0x5a
4256ed:	5e                   	pop    %esi
4256ee:	0f b7 04 0a          	movzwl (%edx,%ecx,1),%eax
4256f2:	66 3b c3             	cmp    %bx,%ax
4256f5:	72 0d                	jb     0x425704
4256f7:	66 3b c6             	cmp    %si,%ax
4256fa:	77 08                	ja     0x425704
4256fc:	83 c0 20             	add    $0x20,%eax
4256ff:	0f b7 f0             	movzwl %ax,%esi
425702:	eb 02                	jmp    0x425706
425704:	8b f0                	mov    %eax,%esi
425706:	0f b7 01             	movzwl (%ecx),%eax
425709:	66 3b c3             	cmp    %bx,%ax
42570c:	72 0c                	jb     0x42571a
42570e:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
425712:	77 06                	ja     0x42571a
425714:	83 c0 20             	add    $0x20,%eax
425717:	0f b7 c0             	movzwl %ax,%eax
42571a:	83 c1 02             	add    $0x2,%ecx
42571d:	83 ef 01             	sub    $0x1,%edi
425720:	74 0a                	je     0x42572c
425722:	66 85 f6             	test   %si,%si
425725:	74 05                	je     0x42572c
425727:	66 3b f0             	cmp    %ax,%si
42572a:	74 bf                	je     0x4256eb
42572c:	0f b7 c8             	movzwl %ax,%ecx
42572f:	0f b7 c6             	movzwl %si,%eax
425732:	5e                   	pop    %esi
425733:	2b c1                	sub    %ecx,%eax
425735:	5b                   	pop    %ebx
425736:	eb 13                	jmp    0x42574b
425738:	6a 00                	push   $0x0
42573a:	ff 75 10             	push   0x10(%ebp)
42573d:	ff 75 0c             	push   0xc(%ebp)
425740:	ff 75 08             	push   0x8(%ebp)
425743:	e8 08 00 00 00       	call   0x425750
425748:	83 c4 10             	add    $0x10,%esp
42574b:	5f                   	pop    %edi
42574c:	8b e5                	mov    %ebp,%esp
42574e:	5d                   	pop    %ebp
42574f:	c3                   	ret
425750:	8b ff                	mov    %edi,%edi
425752:	55                   	push   %ebp
425753:	8b ec                	mov    %esp,%ebp
425755:	83 ec 14             	sub    $0x14,%esp
425758:	53                   	push   %ebx
425759:	56                   	push   %esi
42575a:	33 f6                	xor    %esi,%esi
42575c:	57                   	push   %edi
42575d:	39 75 10             	cmp    %esi,0x10(%ebp)
425760:	0f 84 e2 00 00 00    	je     0x425848
425766:	8b 5d 08             	mov    0x8(%ebp),%ebx
425769:	85 db                	test   %ebx,%ebx
42576b:	75 1a                	jne    0x425787
42576d:	e8 f9 f2 fe ff       	call   0x414a6b
425772:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
425778:	e8 65 65 fe ff       	call   0x40bce2
42577d:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
425782:	e9 c3 00 00 00       	jmp    0x42584a
425787:	8b 7d 0c             	mov    0xc(%ebp),%edi
42578a:	85 ff                	test   %edi,%edi
42578c:	74 df                	je     0x42576d
42578e:	ff 75 14             	push   0x14(%ebp)
425791:	8d 4d ec             	lea    -0x14(%ebp),%ecx
425794:	e8 2f 70 fe ff       	call   0x40c7c8
425799:	8b 45 f0             	mov    -0x10(%ebp),%eax
42579c:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
4257a2:	75 53                	jne    0x4257f7
4257a4:	8b 4d 10             	mov    0x10(%ebp),%ecx
4257a7:	2b df                	sub    %edi,%ebx
4257a9:	6a 41                	push   $0x41
4257ab:	5a                   	pop    %edx
4257ac:	6a 5a                	push   $0x5a
4257ae:	5e                   	pop    %esi
4257af:	89 75 fc             	mov    %esi,-0x4(%ebp)
4257b2:	eb 03                	jmp    0x4257b7
4257b4:	6a 5a                	push   $0x5a
4257b6:	5e                   	pop    %esi
4257b7:	0f b7 04 3b          	movzwl (%ebx,%edi,1),%eax
4257bb:	66 3b c2             	cmp    %dx,%ax
4257be:	72 0d                	jb     0x4257cd
4257c0:	66 3b c6             	cmp    %si,%ax
4257c3:	77 08                	ja     0x4257cd
4257c5:	83 c0 20             	add    $0x20,%eax
4257c8:	0f b7 f0             	movzwl %ax,%esi
4257cb:	eb 02                	jmp    0x4257cf
4257cd:	8b f0                	mov    %eax,%esi
4257cf:	0f b7 07             	movzwl (%edi),%eax
4257d2:	66 3b c2             	cmp    %dx,%ax
4257d5:	72 0c                	jb     0x4257e3
4257d7:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
4257db:	77 06                	ja     0x4257e3
4257dd:	83 c0 20             	add    $0x20,%eax
4257e0:	0f b7 c0             	movzwl %ax,%eax
4257e3:	83 c7 02             	add    $0x2,%edi
4257e6:	83 e9 01             	sub    $0x1,%ecx
4257e9:	74 45                	je     0x425830
4257eb:	66 85 f6             	test   %si,%si
4257ee:	74 40                	je     0x425830
4257f0:	66 3b f0             	cmp    %ax,%si
4257f3:	74 bf                	je     0x4257b4
4257f5:	eb 39                	jmp    0x425830
4257f7:	8d 45 f0             	lea    -0x10(%ebp),%eax
4257fa:	50                   	push   %eax
4257fb:	0f b7 03             	movzwl (%ebx),%eax
4257fe:	50                   	push   %eax
4257ff:	e8 03 f7 ff ff       	call   0x424f07
425804:	0f b7 f0             	movzwl %ax,%esi
425807:	8d 45 f0             	lea    -0x10(%ebp),%eax
42580a:	50                   	push   %eax
42580b:	0f b7 07             	movzwl (%edi),%eax
42580e:	50                   	push   %eax
42580f:	e8 f3 f6 ff ff       	call   0x424f07
425814:	83 c4 10             	add    $0x10,%esp
425817:	0f b7 c0             	movzwl %ax,%eax
42581a:	83 6d 10 01          	subl   $0x1,0x10(%ebp)
42581e:	8d 5b 02             	lea    0x2(%ebx),%ebx
425821:	8d 7f 02             	lea    0x2(%edi),%edi
425824:	74 0a                	je     0x425830
425826:	66 85 f6             	test   %si,%si
425829:	74 05                	je     0x425830
42582b:	66 3b f0             	cmp    %ax,%si
42582e:	74 c7                	je     0x4257f7
425830:	0f b7 c0             	movzwl %ax,%eax
425833:	0f b7 f6             	movzwl %si,%esi
425836:	2b f0                	sub    %eax,%esi
425838:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
42583c:	74 0a                	je     0x425848
42583e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
425841:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
425848:	8b c6                	mov    %esi,%eax
42584a:	5f                   	pop    %edi
42584b:	5e                   	pop    %esi
42584c:	5b                   	pop    %ebx
42584d:	8b e5                	mov    %ebp,%esp
42584f:	5d                   	pop    %ebp
425850:	c3                   	ret
425851:	6a 0c                	push   $0xc
425853:	68 70 83 43 00       	push   $0x438370
425858:	e8 c3 1d fe ff       	call   0x407620
42585d:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
425861:	8b 45 08             	mov    0x8(%ebp),%eax
425864:	ff 30                	push   (%eax)
425866:	e8 04 a2 ff ff       	call   0x41fa6f
42586b:	59                   	pop    %ecx
42586c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
425870:	8b 45 0c             	mov    0xc(%ebp),%eax
425873:	8b 00                	mov    (%eax),%eax
425875:	8b 30                	mov    (%eax),%esi
425877:	8b d6                	mov    %esi,%edx
425879:	c1 fa 06             	sar    $0x6,%edx
42587c:	8b c6                	mov    %esi,%eax
42587e:	83 e0 3f             	and    $0x3f,%eax
425881:	6b c8 30             	imul   $0x30,%eax,%ecx
425884:	8b 04 95 c0 9d 83 02 	mov    0x2839dc0(,%edx,4),%eax
42588b:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
425890:	74 0b                	je     0x42589d
425892:	56                   	push   %esi
425893:	e8 e2 00 00 00       	call   0x42597a
425898:	59                   	pop    %ecx
425899:	8b f0                	mov    %eax,%esi
42589b:	eb 0e                	jmp    0x4258ab
42589d:	e8 c9 f1 fe ff       	call   0x414a6b
4258a2:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4258a8:	83 ce ff             	or     $0xffffffff,%esi
4258ab:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4258ae:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4258b5:	e8 0d 00 00 00       	call   0x4258c7
4258ba:	8b c6                	mov    %esi,%eax
4258bc:	e8 a5 1d fe ff       	call   0x407666
4258c1:	c2 0c 00             	ret    $0xc
4258c4:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4258c7:	8b 45 10             	mov    0x10(%ebp),%eax
4258ca:	ff 30                	push   (%eax)
4258cc:	e8 c1 a1 ff ff       	call   0x41fa92
4258d1:	59                   	pop    %ecx
4258d2:	c3                   	ret
4258d3:	8b ff                	mov    %edi,%edi
4258d5:	55                   	push   %ebp
4258d6:	8b ec                	mov    %esp,%ebp
4258d8:	83 ec 0c             	sub    $0xc,%esp
4258db:	8b 45 08             	mov    0x8(%ebp),%eax
4258de:	8d 4d ff             	lea    -0x1(%ebp),%ecx
4258e1:	89 45 f8             	mov    %eax,-0x8(%ebp)
4258e4:	89 45 f4             	mov    %eax,-0xc(%ebp)
4258e7:	8d 45 f8             	lea    -0x8(%ebp),%eax
4258ea:	50                   	push   %eax
4258eb:	ff 75 0c             	push   0xc(%ebp)
4258ee:	8d 45 f4             	lea    -0xc(%ebp),%eax
4258f1:	50                   	push   %eax
4258f2:	e8 5a ff ff ff       	call   0x425851
4258f7:	8b e5                	mov    %ebp,%esp
4258f9:	5d                   	pop    %ebp
4258fa:	c3                   	ret
4258fb:	8b ff                	mov    %edi,%edi
4258fd:	55                   	push   %ebp
4258fe:	8b ec                	mov    %esp,%ebp
425900:	51                   	push   %ecx
425901:	56                   	push   %esi
425902:	8b 75 08             	mov    0x8(%ebp),%esi
425905:	83 fe fe             	cmp    $0xfffffffe,%esi
425908:	75 15                	jne    0x42591f
42590a:	e8 49 f1 fe ff       	call   0x414a58
42590f:	83 20 00             	andl   $0x0,(%eax)
425912:	e8 54 f1 fe ff       	call   0x414a6b
425917:	c7 00 09 00 00 00    	movl   $0x9,(%eax)