4084c5:	85 c0                	test   %eax,%eax
4084c7:	75 03                	jne    0x4084cc
4084c9:	b0 01                	mov    $0x1,%al
4084cb:	c3                   	ret
4084cc:	31 c0                	xor    %eax,%eax
4084ce:	c3                   	ret
4084cf:	90                   	nop
4084d0:	53                   	push   %ebx
4084d1:	56                   	push   %esi
4084d2:	57                   	push   %edi
4084d3:	8b fa                	mov    %edx,%edi
4084d5:	8b f0                	mov    %eax,%esi
4084d7:	8b c6                	mov    %esi,%eax
4084d9:	e8 46 bf ff ff       	call   0x404424
4084de:	8b d8                	mov    %eax,%ebx
4084e0:	8b c6                	mov    %esi,%eax
4084e2:	e8 3d c1 ff ff       	call   0x404624
4084e7:	8b d0                	mov    %eax,%edx
4084e9:	8b c7                	mov    %edi,%eax
4084eb:	8b cb                	mov    %ebx,%ecx
4084ed:	e8 62 bd ff ff       	call   0x404254
4084f2:	85 db                	test   %ebx,%ebx
4084f4:	7e 09                	jle    0x4084ff
4084f6:	53                   	push   %ebx
4084f7:	8b 07                	mov    (%edi),%eax
4084f9:	50                   	push   %eax
4084fa:	e8 99 e6 ff ff       	call   0x406b98
4084ff:	5f                   	pop    %edi
408500:	5e                   	pop    %esi
408501:	5b                   	pop    %ebx
408502:	c3                   	ret
408503:	90                   	nop
408504:	53                   	push   %ebx
408505:	56                   	push   %esi
408506:	8b f2                	mov    %edx,%esi
408508:	8b d8                	mov    %eax,%ebx
40850a:	8b c6                	mov    %esi,%eax
40850c:	e8 13 bf ff ff       	call   0x404424
408511:	50                   	push   %eax
408512:	8b c6                	mov    %esi,%eax
408514:	e8 0b c1 ff ff       	call   0x404624
408519:	50                   	push   %eax
40851a:	8b c3                	mov    %ebx,%eax
40851c:	e8 03 bf ff ff       	call   0x404424
408521:	50                   	push   %eax
408522:	8b c3                	mov    %ebx,%eax
408524:	e8 fb c0 ff ff       	call   0x404624
408529:	50                   	push   %eax
40852a:	6a 00                	push   $0x0
40852c:	68 00 04 00 00       	push   $0x400
408531:	e8 aa e1 ff ff       	call   0x4066e0
408536:	83 e8 02             	sub    $0x2,%eax
408539:	5e                   	pop    %esi
40853a:	5b                   	pop    %ebx
40853b:	c3                   	ret
40853c:	53                   	push   %ebx
40853d:	56                   	push   %esi
40853e:	8b f2                	mov    %edx,%esi
408540:	8b d8                	mov    %eax,%ebx
408542:	8b c6                	mov    %esi,%eax
408544:	e8 db be ff ff       	call   0x404424
408549:	50                   	push   %eax
40854a:	8b c6                	mov    %esi,%eax
40854c:	e8 d3 c0 ff ff       	call   0x404624
408551:	50                   	push   %eax
408552:	8b c3                	mov    %ebx,%eax
408554:	e8 cb be ff ff       	call   0x404424
408559:	50                   	push   %eax
40855a:	8b c3                	mov    %ebx,%eax
40855c:	e8 c3 c0 ff ff       	call   0x404624
408561:	50                   	push   %eax
408562:	6a 01                	push   $0x1
408564:	68 00 04 00 00       	push   $0x400
408569:	e8 72 e1 ff ff       	call   0x4066e0
40856e:	83 e8 02             	sub    $0x2,%eax
408571:	5e                   	pop    %esi
408572:	5b                   	pop    %ebx
408573:	c3                   	ret
408574:	53                   	push   %ebx
408575:	56                   	push   %esi
408576:	8b f2                	mov    %edx,%esi
408578:	8b d8                	mov    %eax,%ebx
40857a:	8b d6                	mov    %esi,%edx
40857c:	8b c3                	mov    %ebx,%eax
40857e:	e8 b9 ff ff ff       	call   0x40853c
408583:	85 c0                	test   %eax,%eax
408585:	0f 94 c0             	sete   %al
408588:	5e                   	pop    %esi
408589:	5b                   	pop    %ebx
40858a:	c3                   	ret
40858b:	90                   	nop
40858c:	53                   	push   %ebx
40858d:	56                   	push   %esi
40858e:	8b f2                	mov    %edx,%esi
408590:	8b d8                	mov    %eax,%ebx
408592:	6a ff                	push   $0xffffffff
408594:	56                   	push   %esi
408595:	6a ff                	push   $0xffffffff
408597:	53                   	push   %ebx
408598:	6a 01                	push   $0x1
40859a:	68 00 04 00 00       	push   $0x400
40859f:	e8 3c e1 ff ff       	call   0x4066e0
4085a4:	83 e8 02             	sub    $0x2,%eax
4085a7:	5e                   	pop    %esi
4085a8:	5b                   	pop    %ebx
4085a9:	c3                   	ret
4085aa:	8b c0                	mov    %eax,%eax
4085ac:	53                   	push   %ebx
4085ad:	56                   	push   %esi
4085ae:	57                   	push   %edi
4085af:	8b d9                	mov    %ecx,%ebx
4085b1:	8b fa                	mov    %edx,%edi
4085b3:	8b f0                	mov    %eax,%esi
4085b5:	53                   	push   %ebx
4085b6:	57                   	push   %edi
4085b7:	53                   	push   %ebx
4085b8:	56                   	push   %esi
4085b9:	6a 01                	push   $0x1
4085bb:	68 00 04 00 00       	push   $0x400
4085c0:	e8 1b e1 ff ff       	call   0x4066e0
4085c5:	83 e8 02             	sub    $0x2,%eax
4085c8:	5f                   	pop    %edi
4085c9:	5e                   	pop    %esi
4085ca:	5b                   	pop    %ebx
4085cb:	c3                   	ret
4085cc:	53                   	push   %ebx
4085cd:	56                   	push   %esi
4085ce:	57                   	push   %edi
4085cf:	55                   	push   %ebp
4085d0:	8b ea                	mov    %edx,%ebp
4085d2:	8b f8                	mov    %eax,%edi
4085d4:	8b c7                	mov    %edi,%eax
4085d6:	e8 49 be ff ff       	call   0x404424
4085db:	8b f0                	mov    %eax,%esi
4085dd:	bb 01 00 00 00       	mov    $0x1,%ebx
4085e2:	eb 01                	jmp    0x4085e5
4085e4:	43                   	inc    %ebx
4085e5:	3b f3                	cmp    %ebx,%esi
4085e7:	7c 07                	jl     0x4085f0
4085e9:	80 7c 1f ff 20       	cmpb   $0x20,-0x1(%edi,%ebx,1)
4085ee:	76 f4                	jbe    0x4085e4
4085f0:	3b f3                	cmp    %ebx,%esi
4085f2:	7d 0a                	jge    0x4085fe
4085f4:	8b c5                	mov    %ebp,%eax
4085f6:	e8 69 bb ff ff       	call   0x404164
4085fb:	eb 17                	jmp    0x408614
4085fd:	4e                   	dec    %esi
4085fe:	80 7c 37 ff 20       	cmpb   $0x20,-0x1(%edi,%esi,1)
408603:	76 f8                	jbe    0x4085fd
408605:	55                   	push   %ebp
408606:	8b ce                	mov    %esi,%ecx
408608:	2b cb                	sub    %ebx,%ecx
40860a:	41                   	inc    %ecx
40860b:	8b d3                	mov    %ebx,%edx
40860d:	8b c7                	mov    %edi,%eax
40860f:	e8 70 c0 ff ff       	call   0x404684
408614:	5d                   	pop    %ebp
408615:	5f                   	pop    %edi
408616:	5e                   	pop    %esi
408617:	5b                   	pop    %ebx
408618:	c3                   	ret
408619:	8d 40 00             	lea    0x0(%eax),%eax
40861c:	53                   	push   %ebx
40861d:	56                   	push   %esi
40861e:	57                   	push   %edi
40861f:	55                   	push   %ebp
408620:	51                   	push   %ecx
408621:	89 0c 24             	mov    %ecx,(%esp)
408624:	8b da                	mov    %edx,%ebx
408626:	8b f0                	mov    %eax,%esi
408628:	8b 04 24             	mov    (%esp),%eax
40862b:	e8 34 bb ff ff       	call   0x404164
408630:	83 3e 00             	cmpl   $0x0,(%esi)
408633:	0f 84 da 00 00 00    	je     0x408713
408639:	8b 06                	mov    (%esi),%eax
40863b:	3a 18                	cmp    (%eax),%bl
40863d:	0f 85 d0 00 00 00    	jne    0x408713
408643:	ff 06                	incl   (%esi)
408645:	bd 01 00 00 00       	mov    $0x1,%ebp
40864a:	8b 3e                	mov    (%esi),%edi
40864c:	8b 06                	mov    (%esi),%eax
40864e:	8b d3                	mov    %ebx,%edx
408650:	e8 93 4c 00 00       	call   0x40d2e8
408655:	89 06                	mov    %eax,(%esi)
408657:	eb 16                	jmp    0x40866f
408659:	ff 06                	incl   (%esi)
40865b:	8b 06                	mov    (%esi),%eax
40865d:	3a 18                	cmp    (%eax),%bl
40865f:	75 13                	jne    0x408674
408661:	ff 06                	incl   (%esi)
408663:	45                   	inc    %ebp
408664:	8b 06                	mov    (%esi),%eax
408666:	8b d3                	mov    %ebx,%edx
408668:	e8 7b 4c 00 00       	call   0x40d2e8
40866d:	89 06                	mov    %eax,(%esi)
40866f:	83 3e 00             	cmpl   $0x0,(%esi)
408672:	75 e5                	jne    0x408659
408674:	83 3e 00             	cmpl   $0x0,(%esi)
408677:	75 09                	jne    0x408682
408679:	8b c7                	mov    %edi,%eax
40867b:	e8 b4 07 00 00       	call   0x408e34
408680:	89 06                	mov    %eax,(%esi)
408682:	8b 06                	mov    (%esi),%eax
408684:	2b c7                	sub    %edi,%eax
408686:	83 f8 01             	cmp    $0x1,%eax
408689:	0f 8e 84 00 00 00    	jle    0x408713
40868f:	83 fd 01             	cmp    $0x1,%ebp
408692:	75 0f                	jne    0x4086a3
408694:	8b c8                	mov    %eax,%ecx
408696:	49                   	dec    %ecx
408697:	8b 04 24             	mov    (%esp),%eax
40869a:	8b d7                	mov    %edi,%edx
40869c:	e8 b3 bb ff ff       	call   0x404254
4086a1:	eb 70                	jmp    0x408713
4086a3:	8b d0                	mov    %eax,%edx
4086a5:	2b d5                	sub    %ebp,%edx
4086a7:	8b 04 24             	mov    (%esp),%eax
4086aa:	e8 01 c1 ff ff       	call   0x4047b0
4086af:	8b 04 24             	mov    (%esp),%eax
4086b2:	8b 00                	mov    (%eax),%eax
4086b4:	e8 6b bf ff ff       	call   0x404624
4086b9:	8b e8                	mov    %eax,%ebp
4086bb:	8b d3                	mov    %ebx,%edx
4086bd:	8b c7                	mov    %edi,%eax
4086bf:	e8 24 4c 00 00       	call   0x40d2e8
4086c4:	89 06                	mov    %eax,(%esi)
4086c6:	eb 2a                	jmp    0x4086f2
4086c8:	ff 06                	incl   (%esi)
4086ca:	8b 06                	mov    (%esi),%eax
4086cc:	3a 18                	cmp    (%eax),%bl
4086ce:	75 27                	jne    0x4086f7
4086d0:	8b 0e                	mov    (%esi),%ecx
4086d2:	2b cf                	sub    %edi,%ecx
4086d4:	8b d5                	mov    %ebp,%edx
4086d6:	8b c7                	mov    %edi,%eax
4086d8:	e8 97 a2 ff ff       	call   0x402974
4086dd:	8b 06                	mov    (%esi),%eax
4086df:	2b c7                	sub    %edi,%eax
4086e1:	03 e8                	add    %eax,%ebp
4086e3:	ff 06                	incl   (%esi)
4086e5:	8b 3e                	mov    (%esi),%edi
4086e7:	8b 06                	mov    (%esi),%eax
4086e9:	8b d3                	mov    %ebx,%edx
4086eb:	e8 f8 4b 00 00       	call   0x40d2e8
4086f0:	89 06                	mov    %eax,(%esi)
4086f2:	83 3e 00             	cmpl   $0x0,(%esi)
4086f5:	75 d1                	jne    0x4086c8
4086f7:	83 3e 00             	cmpl   $0x0,(%esi)
4086fa:	75 09                	jne    0x408705
4086fc:	8b c7                	mov    %edi,%eax
4086fe:	e8 31 07 00 00       	call   0x408e34
408703:	89 06                	mov    %eax,(%esi)
408705:	8b 0e                	mov    (%esi),%ecx
408707:	2b cf                	sub    %edi,%ecx
408709:	49                   	dec    %ecx
40870a:	8b d5                	mov    %ebp,%edx
40870c:	8b c7                	mov    %edi,%eax
40870e:	e8 61 a2 ff ff       	call   0x402974
408713:	5a                   	pop    %edx
408714:	5d                   	pop    %ebp
408715:	5f                   	pop    %edi
408716:	5e                   	pop    %esi
408717:	5b                   	pop    %ebx
408718:	c3                   	ret
408719:	8d 40 00             	lea    0x0(%eax),%eax
40871c:	53                   	push   %ebx
40871d:	56                   	push   %esi
40871e:	57                   	push   %edi
40871f:	8b f0                	mov    %eax,%esi
408721:	33 db                	xor    %ebx,%ebx
408723:	8b c6                	mov    %esi,%eax
408725:	e8 fa bc ff ff       	call   0x404424
40872a:	85 c0                	test   %eax,%eax
40872c:	74 4b                	je     0x408779
40872e:	8a 06                	mov    (%esi),%al
408730:	04 bf                	add    $0xbf,%al
408732:	2c 1a                	sub    $0x1a,%al
408734:	72 0a                	jb     0x408740
408736:	2c 04                	sub    $0x4,%al
408738:	74 06                	je     0x408740
40873a:	04 fe                	add    $0xfe,%al
40873c:	2c 1a                	sub    $0x1a,%al
40873e:	73 39                	jae    0x408779
408740:	8b c6                	mov    %esi,%eax
408742:	e8 dd bc ff ff       	call   0x404424
408747:	83 e8 02             	sub    $0x2,%eax
40874a:	7c 2b                	jl     0x408777
40874c:	40                   	inc    %eax
40874d:	bf 02 00 00 00       	mov    $0x2,%edi
408752:	8a 54 3e ff          	mov    -0x1(%esi,%edi,1),%dl
408756:	80 c2 d0             	add    $0xd0,%dl
408759:	80 ea 0a             	sub    $0xa,%dl
40875c:	72 15                	jb     0x408773
40875e:	80 c2 f9             	add    $0xf9,%dl
408761:	80 ea 1a             	sub    $0x1a,%dl
408764:	72 0d                	jb     0x408773
408766:	80 ea 04             	sub    $0x4,%dl
408769:	74 08                	je     0x408773
40876b:	80 c2 fe             	add    $0xfe,%dl
40876e:	80 ea 1a             	sub    $0x1a,%dl
408771:	73 06                	jae    0x408779
408773:	47                   	inc    %edi
408774:	48                   	dec    %eax
408775:	75 db                	jne    0x408752
408777:	b3 01                	mov    $0x1,%bl
408779:	8b c3                	mov    %ebx,%eax
40877b:	5f                   	pop    %edi
40877c:	5e                   	pop    %esi
40877d:	5b                   	pop    %ebx
40877e:	c3                   	ret
40877f:	90                   	nop
408780:	08 c9                	or     %cl,%cl
408782:	75 17                	jne    0x40879b
408784:	09 c0                	or     %eax,%eax
408786:	79 0e                	jns    0x408796
408788:	f7 d8                	neg    %eax
40878a:	e8 07 00 00 00       	call   0x408796
40878f:	b0 2d                	mov    $0x2d,%al
408791:	41                   	inc    %ecx
408792:	4e                   	dec    %esi
408793:	88 06                	mov    %al,(%esi)
408795:	c3                   	ret
408796:	b9 0a 00 00 00       	mov    $0xa,%ecx
40879b:	52                   	push   %edx
40879c:	56                   	push   %esi
40879d:	31 d2                	xor    %edx,%edx
40879f:	f7 f1                	div    %ecx
4087a1:	4e                   	dec    %esi
4087a2:	80 c2 30             	add    $0x30,%dl
4087a5:	80 fa 3a             	cmp    $0x3a,%dl
4087a8:	72 03                	jb     0x4087ad
4087aa:	80 c2 07             	add    $0x7,%dl
4087ad:	88 16                	mov    %dl,(%esi)
4087af:	09 c0                	or     %eax,%eax
4087b1:	75 ea                	jne    0x40879d
4087b3:	59                   	pop    %ecx
4087b4:	5a                   	pop    %edx
4087b5:	29 f1                	sub    %esi,%ecx
4087b7:	29 ca                	sub    %ecx,%edx
4087b9:	76 10                	jbe    0x4087cb
4087bb:	01 d1                	add    %edx,%ecx
4087bd:	b0 30                	mov    $0x30,%al
4087bf:	29 d6                	sub    %edx,%esi
4087c1:	eb 03                	jmp    0x4087c6
4087c3:	88 04 32             	mov    %al,(%edx,%esi,1)
4087c6:	4a                   	dec    %edx
4087c7:	75 fa                	jne    0x4087c3
4087c9:	88 06                	mov    %al,(%esi)
4087cb:	c3                   	ret
4087cc:	56                   	push   %esi