42556a:	88 58 01             	mov    %bl,0x1(%eax)
42556d:	8a 09                	mov    (%ecx),%cl
42556f:	88 08                	mov    %cl,(%eax)
425571:	c6 40 03 00          	movb   $0x0,0x3(%eax)
425575:	4a                   	dec    %edx
425576:	85 d2                	test   %edx,%edx
425578:	75 de                	jne    0x425558
42557a:	c6 47 03 00          	movb   $0x0,0x3(%edi)
42557e:	5f                   	pop    %edi
42557f:	5e                   	pop    %esi
425580:	5b                   	pop    %ebx
425581:	c3                   	ret
425582:	8b c0                	mov    %eax,%eax
425584:	53                   	push   %ebx
425585:	56                   	push   %esi
425586:	57                   	push   %edi
425587:	83 c4 f8             	add    $0xfffffff8,%esp
42558a:	89 14 24             	mov    %edx,(%esp)
42558d:	8b f0                	mov    %eax,%esi
42558f:	89 74 24 04          	mov    %esi,0x4(%esp)
425593:	8b 3c 24             	mov    (%esp),%edi
425596:	8b 3f                	mov    (%edi),%edi
425598:	4f                   	dec    %edi
425599:	85 ff                	test   %edi,%edi
42559b:	7e 26                	jle    0x4255c3
42559d:	b9 01 00 00 00       	mov    $0x1,%ecx
4255a2:	8b 44 24 04          	mov    0x4(%esp),%eax
4255a6:	8d 04 88             	lea    (%eax,%ecx,4),%eax
4255a9:	8d 14 49             	lea    (%ecx,%ecx,2),%edx
4255ac:	8d 14 16             	lea    (%esi,%edx,1),%edx
4255af:	8a 58 02             	mov    0x2(%eax),%bl
4255b2:	88 5a 02             	mov    %bl,0x2(%edx)
4255b5:	8a 58 01             	mov    0x1(%eax),%bl
4255b8:	88 5a 01             	mov    %bl,0x1(%edx)
4255bb:	8a 00                	mov    (%eax),%al
4255bd:	88 02                	mov    %al,(%edx)
4255bf:	41                   	inc    %ecx
4255c0:	4f                   	dec    %edi
4255c1:	75 df                	jne    0x4255a2
4255c3:	8b 04 24             	mov    (%esp),%eax
4255c6:	81 38 00 01 00 00    	cmpl   $0x100,(%eax)
4255cc:	7d 28                	jge    0x4255f6
4255ce:	8b 04 24             	mov    (%esp),%eax
4255d1:	ba 00 01 00 00       	mov    $0x100,%edx
4255d6:	2b 10                	sub    (%eax),%edx
4255d8:	8d 14 52             	lea    (%edx,%edx,2),%edx
4255db:	8b 04 24             	mov    (%esp),%eax
4255de:	8b 00                	mov    (%eax),%eax
4255e0:	8d 04 40             	lea    (%eax,%eax,2),%eax
4255e3:	8d 04 06             	lea    (%esi,%eax,1),%eax
4255e6:	33 c9                	xor    %ecx,%ecx
4255e8:	e8 df d6 fd ff       	call   0x402ccc
4255ed:	8b 04 24             	mov    (%esp),%eax
4255f0:	c7 00 00 01 00 00    	movl   $0x100,(%eax)
4255f6:	59                   	pop    %ecx
4255f7:	5a                   	pop    %edx
4255f8:	5f                   	pop    %edi
4255f9:	5e                   	pop    %esi
4255fa:	5b                   	pop    %ebx
4255fb:	c3                   	ret
4255fc:	55                   	push   %ebp
4255fd:	8b ec                	mov    %esp,%ebp
4255ff:	83 c4 d4             	add    $0xffffffd4,%esp
425602:	89 55 f8             	mov    %edx,-0x8(%ebp)
425605:	89 45 fc             	mov    %eax,-0x4(%ebp)
425608:	8d 45 d4             	lea    -0x2c(%ebp),%eax
42560b:	50                   	push   %eax
42560c:	e8 73 0d fe ff       	call   0x406384
425611:	8b 55 fc             	mov    -0x4(%ebp),%edx
425614:	8b 4d f8             	mov    -0x8(%ebp),%ecx
425617:	49                   	dec    %ecx
425618:	78 33                	js     0x42564d
42561a:	8d 45 d4             	lea    -0x2c(%ebp),%eax
42561d:	66 83 78 20 03       	cmpw   $0x3,0x20(%eax)
425622:	74 10                	je     0x425634
425624:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
425627:	0f c8                	bswap  %eax
425629:	c1 e8 08             	shr    $0x8,%eax
42562c:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
42562f:	49                   	dec    %ecx
425630:	79 f2                	jns    0x425624
425632:	eb 19                	jmp    0x42564d
425634:	53                   	push   %ebx
425635:	31 db                	xor    %ebx,%ebx
425637:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
42563a:	88 c7                	mov    %al,%bh
42563c:	88 e3                	mov    %ah,%bl
42563e:	c1 e8 10             	shr    $0x10,%eax
425641:	c1 e3 08             	shl    $0x8,%ebx
425644:	88 c3                	mov    %al,%bl
425646:	89 1c 8a             	mov    %ebx,(%edx,%ecx,4)
425649:	49                   	dec    %ecx
42564a:	79 e9                	jns    0x425635
42564c:	5b                   	pop    %ebx
42564d:	8b e5                	mov    %ebp,%esp
42564f:	5d                   	pop    %ebp
425650:	c3                   	ret
425651:	8d 40 00             	lea    0x0(%eax),%eax
425654:	55                   	push   %ebp
425655:	8b ec                	mov    %esp,%ebp
425657:	81 c4 f8 fb ff ff    	add    $0xfffffbf8,%esp
42565d:	53                   	push   %ebx
42565e:	66 c7 85 f8 fb ff ff 	movw   $0x300,-0x408(%ebp)
425665:	00 03
425667:	66 c7 85 fa fb ff ff 	movw   $0x10,-0x406(%ebp)
42566e:	10 00
425670:	8d 95 fc fb ff ff    	lea    -0x404(%ebp),%edx
425676:	b9 40 00 00 00       	mov    $0x40,%ecx
42567b:	e8 70 d2 fd ff       	call   0x4028f0
425680:	6a 00                	push   $0x0
425682:	e8 c5 11 fe ff       	call   0x40684c
425687:	89 45 fc             	mov    %eax,-0x4(%ebp)
42568a:	33 c0                	xor    %eax,%eax
42568c:	55                   	push   %ebp
42568d:	68 51 57 42 00       	push   $0x425751
425692:	64 ff 30             	push   %fs:(%eax)
425695:	64 89 20             	mov    %esp,%fs:(%eax)
425698:	6a 68                	push   $0x68
42569a:	8b 45 fc             	mov    -0x4(%ebp),%eax
42569d:	50                   	push   %eax
42569e:	e8 e1 0e fe ff       	call   0x406584
4256a3:	8b d8                	mov    %eax,%ebx
4256a5:	83 fb 10             	cmp    $0x10,%ebx
4256a8:	0f 8c 8a 00 00 00    	jl     0x425738
4256ae:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
4256b4:	50                   	push   %eax
4256b5:	6a 08                	push   $0x8
4256b7:	6a 00                	push   $0x0
4256b9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4256bc:	50                   	push   %eax
4256bd:	e8 02 0f fe ff       	call   0x4065c4
4256c2:	81 bd 18 fc ff ff c0 	cmpl   $0xc0c0c0,-0x3e8(%ebp)
4256c9:	c0 c0 00
4256cc:	75 4c                	jne    0x42571a
4256ce:	8d 85 18 fc ff ff    	lea    -0x3e8(%ebp),%eax
4256d4:	50                   	push   %eax
4256d5:	6a 01                	push   $0x1
4256d7:	8b c3                	mov    %ebx,%eax
4256d9:	83 e8 08             	sub    $0x8,%eax
4256dc:	50                   	push   %eax
4256dd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4256e0:	50                   	push   %eax
4256e1:	e8 de 0e fe ff       	call   0x4065c4
4256e6:	0f b7 85 fa fb ff ff 	movzwl -0x406(%ebp),%eax
4256ed:	8d 84 85 e0 fb ff ff 	lea    -0x420(%ebp,%eax,4),%eax
4256f4:	50                   	push   %eax
4256f5:	6a 07                	push   $0x7
4256f7:	83 eb 07             	sub    $0x7,%ebx
4256fa:	53                   	push   %ebx
4256fb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4256fe:	50                   	push   %eax
4256ff:	e8 c0 0e fe ff       	call   0x4065c4
425704:	8d 85 1c fc ff ff    	lea    -0x3e4(%ebp),%eax
42570a:	50                   	push   %eax
42570b:	6a 01                	push   $0x1
42570d:	6a 07                	push   $0x7
42570f:	8b 45 fc             	mov    -0x4(%ebp),%eax
425712:	50                   	push   %eax
425713:	e8 ac 0e fe ff       	call   0x4065c4
425718:	eb 1e                	jmp    0x425738
42571a:	0f b7 85 fa fb ff ff 	movzwl -0x406(%ebp),%eax
425721:	8d 84 85 dc fb ff ff 	lea    -0x424(%ebp,%eax,4),%eax
425728:	50                   	push   %eax
425729:	6a 08                	push   $0x8
42572b:	83 eb 08             	sub    $0x8,%ebx
42572e:	53                   	push   %ebx
42572f:	8b 45 fc             	mov    -0x4(%ebp),%eax
425732:	50                   	push   %eax
425733:	e8 8c 0e fe ff       	call   0x4065c4
425738:	33 c0                	xor    %eax,%eax
42573a:	5a                   	pop    %edx
42573b:	59                   	pop    %ecx
42573c:	59                   	pop    %ecx
42573d:	64 89 10             	mov    %edx,%fs:(%eax)
425740:	68 58 57 42 00       	push   $0x425758
425745:	8b 45 fc             	mov    -0x4(%ebp),%eax
425748:	50                   	push   %eax
425749:	6a 00                	push   $0x0
42574b:	e8 44 13 fe ff       	call   0x406a94
425750:	c3                   	ret
425751:	e9 fe e2 fd ff       	jmp    0x403a54
425756:	eb ed                	jmp    0x425745
425758:	8d 85 f8 fb ff ff    	lea    -0x408(%ebp),%eax
42575e:	50                   	push   %eax
42575f:	e8 b0 0d fe ff       	call   0x406514
425764:	5b                   	pop    %ebx
425765:	8b e5                	mov    %ebp,%esp
425767:	5d                   	pop    %ebp
425768:	c3                   	ret
425769:	8d 40 00             	lea    0x0(%eax),%eax
42576c:	55                   	push   %ebp
42576d:	8b ec                	mov    %esp,%ebp
42576f:	83 c4 f8             	add    $0xfffffff8,%esp
425772:	53                   	push   %ebx
425773:	8b d8                	mov    %eax,%ebx
425775:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
425779:	83 3d 8c 58 47 00 00 	cmpl   $0x0,0x47588c
425780:	74 77                	je     0x4257f9
425782:	6a 00                	push   $0x0
425784:	e8 c3 10 fe ff       	call   0x40684c
425789:	89 45 f8             	mov    %eax,-0x8(%ebp)
42578c:	33 d2                	xor    %edx,%edx
42578e:	55                   	push   %ebp
42578f:	68 f2 57 42 00       	push   $0x4257f2
425794:	64 ff 32             	push   %fs:(%edx)
425797:	64 89 22             	mov    %esp,%fs:(%edx)
42579a:	6a 68                	push   $0x68
42579c:	8b 45 f8             	mov    -0x8(%ebp),%eax
42579f:	50                   	push   %eax
4257a0:	e8 df 0d fe ff       	call   0x406584
4257a5:	83 f8 10             	cmp    $0x10,%eax
4257a8:	7c 2f                	jl     0x4257d9
4257aa:	8d 43 04             	lea    0x4(%ebx),%eax
4257ad:	50                   	push   %eax
4257ae:	6a 08                	push   $0x8
4257b0:	6a 00                	push   $0x0
4257b2:	a1 8c 58 47 00       	mov    0x47588c,%eax
4257b7:	50                   	push   %eax
4257b8:	e8 ef 0d fe ff       	call   0x4065ac
4257bd:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
4257c1:	8d 44 83 e4          	lea    -0x1c(%ebx,%eax,4),%eax
4257c5:	50                   	push   %eax
4257c6:	6a 08                	push   $0x8
4257c8:	6a 08                	push   $0x8
4257ca:	a1 8c 58 47 00       	mov    0x47588c,%eax
4257cf:	50                   	push   %eax
4257d0:	e8 d7 0d fe ff       	call   0x4065ac
4257d5:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
4257d9:	33 c0                	xor    %eax,%eax
4257db:	5a                   	pop    %edx
4257dc:	59                   	pop    %ecx
4257dd:	59                   	pop    %ecx
4257de:	64 89 10             	mov    %edx,%fs:(%eax)
4257e1:	68 f9 57 42 00       	push   $0x4257f9
4257e6:	8b 45 f8             	mov    -0x8(%ebp),%eax
4257e9:	50                   	push   %eax
4257ea:	6a 00                	push   $0x0
4257ec:	e8 a3 12 fe ff       	call   0x406a94
4257f1:	c3                   	ret
4257f2:	e9 5d e2 fd ff       	jmp    0x403a54
4257f7:	eb ed                	jmp    0x4257e6
4257f9:	8a 45 ff             	mov    -0x1(%ebp),%al
4257fc:	5b                   	pop    %ebx
4257fd:	59                   	pop    %ecx
4257fe:	59                   	pop    %ecx
4257ff:	5d                   	pop    %ebp
425800:	c3                   	ret
425801:	8d 40 00             	lea    0x0(%eax),%eax
425804:	53                   	push   %ebx
425805:	56                   	push   %esi
425806:	57                   	push   %edi
425807:	81 c4 fc fb ff ff    	add    $0xfffffbfc,%esp
42580d:	8b f8                	mov    %eax,%edi
42580f:	33 f6                	xor    %esi,%esi
425811:	66 c7 04 24 00 03    	movw   $0x300,(%esp)
425817:	85 ff                	test   %edi,%edi
425819:	74 38                	je     0x425853
42581b:	6a 00                	push   $0x0
42581d:	e8 ca 0c fe ff       	call   0x4064ec
425822:	8b d8                	mov    %eax,%ebx
425824:	57                   	push   %edi
425825:	53                   	push   %ebx
425826:	e8 29 0e fe ff       	call   0x406654
42582b:	8b f8                	mov    %eax,%edi
42582d:	8d 44 24 04          	lea    0x4(%esp),%eax
425831:	50                   	push   %eax
425832:	68 00 01 00 00       	push   $0x100
425837:	6a 00                	push   $0x0
425839:	53                   	push   %ebx
42583a:	e8 35 0d fe ff       	call   0x406574
42583f:	66 89 44 24 02       	mov    %ax,0x2(%esp)
425844:	57                   	push   %edi
425845:	53                   	push   %ebx
425846:	e8 09 0e fe ff       	call   0x406654
42584b:	53                   	push   %ebx
42584c:	e8 db 0c fe ff       	call   0x40652c
425851:	eb 13                	jmp    0x425866
425853:	66 89 4c 24 02       	mov    %cx,0x2(%esp)
425858:	8b c2                	mov    %edx,%eax
42585a:	8d 54 24 04          	lea    0x4(%esp),%edx
42585e:	c1 e1 02             	shl    $0x2,%ecx
425861:	e8 8a d0 fd ff       	call   0x4028f0
425866:	66 83 7c 24 02 00    	cmpw   $0x0,0x2(%esp)
42586c:	74 2b                	je     0x425899
42586e:	66 83 7c 24 02 10    	cmpw   $0x10,0x2(%esp)
425874:	75 0b                	jne    0x425881
425876:	8b c4                	mov    %esp,%eax
425878:	e8 ef fe ff ff       	call   0x42576c
42587d:	84 c0                	test   %al,%al
42587f:	75 0e                	jne    0x42588f
425881:	0f b7 54 24 02       	movzwl 0x2(%esp),%edx
425886:	8d 44 24 04          	lea    0x4(%esp),%eax
42588a:	e8 6d fd ff ff       	call   0x4255fc
42588f:	8b c4                	mov    %esp,%eax
425891:	50                   	push   %eax
425892:	e8 7d 0c fe ff       	call   0x406514
425897:	8b f0                	mov    %eax,%esi
425899:	8b c6                	mov    %esi,%eax
42589b:	81 c4 04 04 00 00    	add    $0x404,%esp
4258a1:	5f                   	pop    %edi
4258a2:	5e                   	pop    %esi
4258a3:	5b                   	pop    %ebx
4258a4:	c3                   	ret
4258a5:	8d 40 00             	lea    0x0(%eax),%eax
4258a8:	53                   	push   %ebx
4258a9:	56                   	push   %esi
4258aa:	57                   	push   %edi
4258ab:	51                   	push   %ecx
4258ac:	8b f9                	mov    %ecx,%edi
4258ae:	8b f2                	mov    %edx,%esi
4258b0:	8b d8                	mov    %eax,%ebx
4258b2:	33 c0                	xor    %eax,%eax
4258b4:	89 04 24             	mov    %eax,(%esp)
4258b7:	85 db                	test   %ebx,%ebx
4258b9:	74 36                	je     0x4258f1
4258bb:	54                   	push   %esp
4258bc:	6a 04                	push   $0x4
4258be:	53                   	push   %ebx
4258bf:	e8 e0 0c fe ff       	call   0x4065a4
4258c4:	85 c0                	test   %eax,%eax
4258c6:	74 29                	je     0x4258f1
4258c8:	83 3c 24 00          	cmpl   $0x0,(%esp)
4258cc:	74 23                	je     0x4258f1
4258ce:	8d 47 01             	lea    0x1(%edi),%eax
4258d1:	3b 04 24             	cmp    (%esp),%eax
4258d4:	7d 03                	jge    0x4258d9
4258d6:	89 04 24             	mov    %eax,(%esp)
4258d9:	56                   	push   %esi
4258da:	8b 44 24 04          	mov    0x4(%esp),%eax
4258de:	50                   	push   %eax
4258df:	6a 00                	push   $0x0
4258e1:	53                   	push   %ebx
4258e2:	e8 c5 0c fe ff       	call   0x4065ac
4258e7:	8b c6                	mov    %esi,%eax
4258e9:	8b 14 24             	mov    (%esp),%edx
4258ec:	e8 0b fd ff ff       	call   0x4255fc
4258f1:	8b 04 24             	mov    (%esp),%eax
4258f4:	5a                   	pop    %edx
4258f5:	5f                   	pop    %edi
4258f6:	5e                   	pop    %esi
4258f7:	5b                   	pop    %ebx
4258f8:	c3                   	ret
4258f9:	8d 40 00             	lea    0x0(%eax),%eax
4258fc:	55                   	push   %ebp
4258fd:	8b ec                	mov    %esp,%ebp
4258ff:	83 c4 ec             	add    $0xffffffec,%esp
425902:	53                   	push   %ebx
425903:	56                   	push   %esi
425904:	57                   	push   %edi
425905:	89 4d f8             	mov    %ecx,-0x8(%ebp)