422581:	8a 08                	mov    (%eax),%cl
422583:	84 c9                	test   %cl,%cl
422585:	75 ef                	jne    0x422576
422587:	8b d0                	mov    %eax,%edx
422589:	48                   	dec    %eax
42258a:	80 38 30             	cmpb   $0x30,(%eax)
42258d:	74 fa                	je     0x422589
42258f:	8b 8e bc 00 00 00    	mov    0xbc(%esi),%ecx
422595:	8b 09                	mov    (%ecx),%ecx
422597:	53                   	push   %ebx
422598:	8a 18                	mov    (%eax),%bl
42259a:	3a 19                	cmp    (%ecx),%bl
42259c:	5b                   	pop    %ebx
42259d:	75 01                	jne    0x4225a0
42259f:	48                   	dec    %eax
4225a0:	8a 0a                	mov    (%edx),%cl
4225a2:	40                   	inc    %eax
4225a3:	42                   	inc    %edx
4225a4:	88 08                	mov    %cl,(%eax)
4225a6:	84 c9                	test   %cl,%cl
4225a8:	75 f6                	jne    0x4225a0
4225aa:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
4225ae:	5e                   	pop    %esi
4225af:	74 07                	je     0x4225b8
4225b1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4225b4:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4225b8:	c9                   	leave
4225b9:	c3                   	ret
4225ba:	8b ff                	mov    %edi,%edi
4225bc:	55                   	push   %ebp
4225bd:	8b ec                	mov    %esp,%ebp
4225bf:	d9 ee                	fldz
4225c1:	8b 45 08             	mov    0x8(%ebp),%eax
4225c4:	dc 18                	fcompl (%eax)
4225c6:	df e0                	fnstsw %ax
4225c8:	f6 c4 41             	test   $0x41,%ah
4225cb:	7a 05                	jp     0x4225d2
4225cd:	33 c0                	xor    %eax,%eax
4225cf:	40                   	inc    %eax
4225d0:	5d                   	pop    %ebp
4225d1:	c3                   	ret
4225d2:	33 c0                	xor    %eax,%eax
4225d4:	5d                   	pop    %ebp
4225d5:	c3                   	ret
4225d6:	8b ff                	mov    %edi,%edi
4225d8:	55                   	push   %ebp
4225d9:	8b ec                	mov    %esp,%ebp
4225db:	51                   	push   %ecx
4225dc:	51                   	push   %ecx
4225dd:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4225e1:	ff 75 14             	push   0x14(%ebp)
4225e4:	ff 75 10             	push   0x10(%ebp)
4225e7:	74 19                	je     0x422602
4225e9:	8d 45 f8             	lea    -0x8(%ebp),%eax
4225ec:	50                   	push   %eax
4225ed:	e8 1b 39 00 00       	call   0x425f0d
4225f2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4225f5:	8b 45 0c             	mov    0xc(%ebp),%eax
4225f8:	89 08                	mov    %ecx,(%eax)
4225fa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4225fd:	89 48 04             	mov    %ecx,0x4(%eax)
422600:	eb 11                	jmp    0x422613
422602:	8d 45 08             	lea    0x8(%ebp),%eax
422605:	50                   	push   %eax
422606:	e8 aa 39 00 00       	call   0x425fb5
42260b:	8b 45 0c             	mov    0xc(%ebp),%eax
42260e:	8b 4d 08             	mov    0x8(%ebp),%ecx
422611:	89 08                	mov    %ecx,(%eax)
422613:	83 c4 0c             	add    $0xc,%esp
422616:	c9                   	leave
422617:	c3                   	ret
422618:	8b ff                	mov    %edi,%edi
42261a:	55                   	push   %ebp
42261b:	8b ec                	mov    %esp,%ebp
42261d:	6a 00                	push   $0x0
42261f:	ff 75 10             	push   0x10(%ebp)
422622:	ff 75 0c             	push   0xc(%ebp)
422625:	ff 75 08             	push   0x8(%ebp)
422628:	e8 a9 ff ff ff       	call   0x4225d6
42262d:	83 c4 10             	add    $0x10,%esp
422630:	5d                   	pop    %ebp
422631:	c3                   	ret
422632:	8b ff                	mov    %edi,%edi
422634:	56                   	push   %esi
422635:	8b f0                	mov    %eax,%esi
422637:	85 ff                	test   %edi,%edi
422639:	74 14                	je     0x42264f
42263b:	56                   	push   %esi
42263c:	e8 ff 7d ff ff       	call   0x41a440
422641:	40                   	inc    %eax
422642:	50                   	push   %eax
422643:	56                   	push   %esi
422644:	03 f7                	add    %edi,%esi
422646:	56                   	push   %esi
422647:	e8 24 9f ff ff       	call   0x41c570
42264c:	83 c4 10             	add    $0x10,%esp
42264f:	5e                   	pop    %esi
422650:	c3                   	ret
422651:	8b ff                	mov    %edi,%edi
422653:	55                   	push   %ebp
422654:	8b ec                	mov    %esp,%ebp
422656:	6a 00                	push   $0x0
422658:	ff 75 08             	push   0x8(%ebp)
42265b:	e8 65 fe ff ff       	call   0x4224c5
422660:	59                   	pop    %ecx
422661:	59                   	pop    %ecx
422662:	5d                   	pop    %ebp
422663:	c3                   	ret
422664:	8b ff                	mov    %edi,%edi
422666:	55                   	push   %ebp
422667:	8b ec                	mov    %esp,%ebp
422669:	6a 00                	push   $0x0
42266b:	ff 75 08             	push   0x8(%ebp)
42266e:	e8 c5 fe ff ff       	call   0x422538
422673:	59                   	pop    %ecx
422674:	59                   	pop    %ecx
422675:	5d                   	pop    %ebp
422676:	c3                   	ret
422677:	8b ff                	mov    %edi,%edi
422679:	55                   	push   %ebp
42267a:	8b ec                	mov    %esp,%ebp
42267c:	83 ec 10             	sub    $0x10,%esp
42267f:	53                   	push   %ebx
422680:	56                   	push   %esi
422681:	57                   	push   %edi
422682:	ff 75 1c             	push   0x1c(%ebp)
422685:	8d 4d f0             	lea    -0x10(%ebp),%ecx
422688:	8b d8                	mov    %eax,%ebx
42268a:	e8 59 a4 ff ff       	call   0x41cae8
42268f:	33 f6                	xor    %esi,%esi
422691:	3b de                	cmp    %esi,%ebx
422693:	75 2b                	jne    0x4226c0
422695:	e8 04 c2 ff ff       	call   0x41e89e
42269a:	6a 16                	push   $0x16
42269c:	5f                   	pop    %edi
42269d:	56                   	push   %esi
42269e:	56                   	push   %esi
42269f:	56                   	push   %esi
4226a0:	56                   	push   %esi
4226a1:	56                   	push   %esi
4226a2:	89 38                	mov    %edi,(%eax)
4226a4:	e8 4a d5 ff ff       	call   0x41fbf3
4226a9:	83 c4 14             	add    $0x14,%esp
4226ac:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
4226b0:	74 07                	je     0x4226b9
4226b2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4226b5:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4226b9:	8b c7                	mov    %edi,%eax
4226bb:	e9 21 01 00 00       	jmp    0x4227e1
4226c0:	39 75 08             	cmp    %esi,0x8(%ebp)
4226c3:	76 d0                	jbe    0x422695
4226c5:	39 75 0c             	cmp    %esi,0xc(%ebp)
4226c8:	7e 05                	jle    0x4226cf
4226ca:	8b 45 0c             	mov    0xc(%ebp),%eax
4226cd:	eb 02                	jmp    0x4226d1
4226cf:	33 c0                	xor    %eax,%eax
4226d1:	83 c0 09             	add    $0x9,%eax
4226d4:	39 45 08             	cmp    %eax,0x8(%ebp)
4226d7:	77 09                	ja     0x4226e2
4226d9:	e8 c0 c1 ff ff       	call   0x41e89e
4226de:	6a 22                	push   $0x22
4226e0:	eb ba                	jmp    0x42269c
4226e2:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
4226e6:	74 1e                	je     0x422706
4226e8:	8b 55 14             	mov    0x14(%ebp),%edx
4226eb:	33 c0                	xor    %eax,%eax
4226ed:	39 75 0c             	cmp    %esi,0xc(%ebp)
4226f0:	0f 9f c0             	setg   %al
4226f3:	33 c9                	xor    %ecx,%ecx
4226f5:	83 3a 2d             	cmpl   $0x2d,(%edx)
4226f8:	0f 94 c1             	sete   %cl
4226fb:	8b f8                	mov    %eax,%edi
4226fd:	03 cb                	add    %ebx,%ecx
4226ff:	8b c1                	mov    %ecx,%eax
422701:	e8 2c ff ff ff       	call   0x422632
422706:	8b 7d 14             	mov    0x14(%ebp),%edi
422709:	83 3f 2d             	cmpl   $0x2d,(%edi)
42270c:	8b f3                	mov    %ebx,%esi
42270e:	75 06                	jne    0x422716
422710:	c6 03 2d             	movb   $0x2d,(%ebx)
422713:	8d 73 01             	lea    0x1(%ebx),%esi
422716:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
42271a:	7e 18                	jle    0x422734
42271c:	8d 46 01             	lea    0x1(%esi),%eax
42271f:	8a 08                	mov    (%eax),%cl
422721:	88 0e                	mov    %cl,(%esi)
422723:	8b f0                	mov    %eax,%esi
422725:	8b 45 f0             	mov    -0x10(%ebp),%eax
422728:	8b 80 bc 00 00 00    	mov    0xbc(%eax),%eax
42272e:	8b 00                	mov    (%eax),%eax
422730:	8a 00                	mov    (%eax),%al
422732:	88 06                	mov    %al,(%esi)
422734:	33 c0                	xor    %eax,%eax
422736:	38 45 18             	cmp    %al,0x18(%ebp)
422739:	0f 94 c0             	sete   %al
42273c:	03 45 0c             	add    0xc(%ebp),%eax
42273f:	03 f0                	add    %eax,%esi
422741:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
422745:	75 05                	jne    0x42274c
422747:	83 cb ff             	or     $0xffffffff,%ebx
42274a:	eb 05                	jmp    0x422751
42274c:	2b de                	sub    %esi,%ebx
42274e:	03 5d 08             	add    0x8(%ebp),%ebx
422751:	68 20 b9 42 00       	push   $0x42b920
422756:	53                   	push   %ebx
422757:	56                   	push   %esi
422758:	e8 00 fd ff ff       	call   0x42245d
42275d:	83 c4 0c             	add    $0xc,%esp
422760:	33 db                	xor    %ebx,%ebx
422762:	85 c0                	test   %eax,%eax
422764:	74 0d                	je     0x422773
422766:	53                   	push   %ebx
422767:	53                   	push   %ebx
422768:	53                   	push   %ebx
422769:	53                   	push   %ebx
42276a:	53                   	push   %ebx
42276b:	e8 5b d3 ff ff       	call   0x41facb
422770:	83 c4 14             	add    $0x14,%esp
422773:	8d 4e 02             	lea    0x2(%esi),%ecx
422776:	39 5d 10             	cmp    %ebx,0x10(%ebp)
422779:	74 03                	je     0x42277e
42277b:	c6 06 45             	movb   $0x45,(%esi)
42277e:	8b 47 0c             	mov    0xc(%edi),%eax
422781:	46                   	inc    %esi
422782:	80 38 30             	cmpb   $0x30,(%eax)
422785:	74 2e                	je     0x4227b5
422787:	8b 47 04             	mov    0x4(%edi),%eax
42278a:	48                   	dec    %eax
42278b:	79 05                	jns    0x422792
42278d:	f7 d8                	neg    %eax
42278f:	c6 06 2d             	movb   $0x2d,(%esi)
422792:	46                   	inc    %esi
422793:	83 f8 64             	cmp    $0x64,%eax
422796:	7c 0a                	jl     0x4227a2
422798:	99                   	cltd
422799:	6a 64                	push   $0x64
42279b:	5f                   	pop    %edi
42279c:	f7 ff                	idiv   %edi
42279e:	00 06                	add    %al,(%esi)
4227a0:	8b c2                	mov    %edx,%eax
4227a2:	46                   	inc    %esi
4227a3:	83 f8 0a             	cmp    $0xa,%eax
4227a6:	7c 0a                	jl     0x4227b2
4227a8:	99                   	cltd
4227a9:	6a 0a                	push   $0xa
4227ab:	5f                   	pop    %edi
4227ac:	f7 ff                	idiv   %edi
4227ae:	00 06                	add    %al,(%esi)
4227b0:	8b c2                	mov    %edx,%eax
4227b2:	00 46 01             	add    %al,0x1(%esi)
4227b5:	f6 05 cc f6 44 00 01 	testb  $0x1,0x44f6cc
4227bc:	74 14                	je     0x4227d2
4227be:	80 39 30             	cmpb   $0x30,(%ecx)
4227c1:	75 0f                	jne    0x4227d2
4227c3:	6a 03                	push   $0x3
4227c5:	8d 41 01             	lea    0x1(%ecx),%eax
4227c8:	50                   	push   %eax
4227c9:	51                   	push   %ecx
4227ca:	e8 a1 9d ff ff       	call   0x41c570
4227cf:	83 c4 0c             	add    $0xc,%esp
4227d2:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
4227d6:	74 07                	je     0x4227df
4227d8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4227db:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4227df:	33 c0                	xor    %eax,%eax
4227e1:	5f                   	pop    %edi
4227e2:	5e                   	pop    %esi
4227e3:	5b                   	pop    %ebx
4227e4:	c9                   	leave
4227e5:	c3                   	ret
4227e6:	8b ff                	mov    %edi,%edi
4227e8:	55                   	push   %ebp
4227e9:	8b ec                	mov    %esp,%ebp
4227eb:	83 ec 2c             	sub    $0x2c,%esp
4227ee:	a1 98 f2 42 00       	mov    0x42f298,%eax
4227f3:	33 c5                	xor    %ebp,%eax
4227f5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4227f8:	8b 45 08             	mov    0x8(%ebp),%eax
4227fb:	53                   	push   %ebx
4227fc:	56                   	push   %esi
4227fd:	57                   	push   %edi
4227fe:	8b 7d 0c             	mov    0xc(%ebp),%edi
422801:	6a 16                	push   $0x16
422803:	5e                   	pop    %esi
422804:	56                   	push   %esi
422805:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
422808:	51                   	push   %ecx
422809:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42280c:	51                   	push   %ecx
42280d:	ff 70 04             	push   0x4(%eax)
422810:	ff 30                	push   (%eax)
422812:	e8 c2 39 00 00       	call   0x4261d9
422817:	33 db                	xor    %ebx,%ebx
422819:	83 c4 14             	add    $0x14,%esp
42281c:	3b fb                	cmp    %ebx,%edi
42281e:	75 18                	jne    0x422838
422820:	e8 79 c0 ff ff       	call   0x41e89e
422825:	53                   	push   %ebx
422826:	53                   	push   %ebx
422827:	53                   	push   %ebx
422828:	53                   	push   %ebx
422829:	53                   	push   %ebx
42282a:	89 30                	mov    %esi,(%eax)
42282c:	e8 c2 d3 ff ff       	call   0x41fbf3
422831:	83 c4 14             	add    $0x14,%esp
422834:	8b c6                	mov    %esi,%eax
422836:	eb 6f                	jmp    0x4228a7
422838:	8b 45 10             	mov    0x10(%ebp),%eax
42283b:	3b c3                	cmp    %ebx,%eax
42283d:	76 e1                	jbe    0x422820
42283f:	8b 75 14             	mov    0x14(%ebp),%esi
422842:	83 f8 ff             	cmp    $0xffffffff,%eax
422845:	75 05                	jne    0x42284c
422847:	83 c8 ff             	or     $0xffffffff,%eax
42284a:	eb 14                	jmp    0x422860
42284c:	33 c9                	xor    %ecx,%ecx
42284e:	83 7d d4 2d          	cmpl   $0x2d,-0x2c(%ebp)
422852:	0f 94 c1             	sete   %cl
422855:	2b c1                	sub    %ecx,%eax
422857:	33 c9                	xor    %ecx,%ecx
422859:	3b f3                	cmp    %ebx,%esi
42285b:	0f 9f c1             	setg   %cl
42285e:	2b c1                	sub    %ecx,%eax
422860:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
422863:	51                   	push   %ecx
422864:	8d 4e 01             	lea    0x1(%esi),%ecx
422867:	51                   	push   %ecx
422868:	50                   	push   %eax
422869:	33 c0                	xor    %eax,%eax
42286b:	83 7d d4 2d          	cmpl   $0x2d,-0x2c(%ebp)
42286f:	0f 94 c0             	sete   %al
422872:	33 c9                	xor    %ecx,%ecx
422874:	3b f3                	cmp    %ebx,%esi
422876:	0f 9f c1             	setg   %cl
422879:	03 c7                	add    %edi,%eax
42287b:	03 c8                	add    %eax,%ecx
42287d:	51                   	push   %ecx
42287e:	e8 da 37 00 00       	call   0x42605d
422883:	83 c4 10             	add    $0x10,%esp
422886:	3b c3                	cmp    %ebx,%eax
422888:	74 04                	je     0x42288e
42288a:	88 1f                	mov    %bl,(%edi)
42288c:	eb 19                	jmp    0x4228a7
42288e:	ff 75 1c             	push   0x1c(%ebp)
422891:	8d 45 d4             	lea    -0x2c(%ebp),%eax
422894:	53                   	push   %ebx
422895:	50                   	push   %eax
422896:	ff 75 18             	push   0x18(%ebp)
422899:	8b c7                	mov    %edi,%eax
42289b:	56                   	push   %esi