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
42289c:	ff 75 10             	push   0x10(%ebp)
42289f:	e8 d3 fd ff ff       	call   0x422677
4228a4:	83 c4 18             	add    $0x18,%esp
4228a7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4228aa:	5f                   	pop    %edi
4228ab:	5e                   	pop    %esi
4228ac:	33 cd                	xor    %ebp,%ecx
4228ae:	5b                   	pop    %ebx
4228af:	e8 1a b9 ff ff       	call   0x41e1ce
4228b4:	c9                   	leave
4228b5:	c3                   	ret
4228b6:	8b ff                	mov    %edi,%edi
4228b8:	55                   	push   %ebp
4228b9:	8b ec                	mov    %esp,%ebp
4228bb:	6a 00                	push   $0x0
4228bd:	ff 75 18             	push   0x18(%ebp)
4228c0:	ff 75 14             	push   0x14(%ebp)
4228c3:	ff 75 10             	push   0x10(%ebp)
4228c6:	ff 75 0c             	push   0xc(%ebp)
4228c9:	ff 75 08             	push   0x8(%ebp)
4228cc:	e8 15 ff ff ff       	call   0x4227e6
4228d1:	83 c4 18             	add    $0x18,%esp
4228d4:	5d                   	pop    %ebp
4228d5:	c3                   	ret
4228d6:	8b ff                	mov    %edi,%edi
4228d8:	55                   	push   %ebp
4228d9:	8b ec                	mov    %esp,%ebp
4228db:	83 ec 24             	sub    $0x24,%esp
4228de:	56                   	push   %esi
4228df:	57                   	push   %edi
4228e0:	ff 75 1c             	push   0x1c(%ebp)
4228e3:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4228e6:	c7 45 ec ff 03 00 00 	movl   $0x3ff,-0x14(%ebp)
4228ed:	33 ff                	xor    %edi,%edi
4228ef:	c7 45 fc 30 00 00 00 	movl   $0x30,-0x4(%ebp)
4228f6:	e8 ed a1 ff ff       	call   0x41cae8
4228fb:	39 7d 14             	cmp    %edi,0x14(%ebp)
4228fe:	7d 03                	jge    0x422903
422900:	89 7d 14             	mov    %edi,0x14(%ebp)
422903:	8b 75 0c             	mov    0xc(%ebp),%esi
422906:	3b f7                	cmp    %edi,%esi
422908:	75 2b                	jne    0x422935
42290a:	e8 8f bf ff ff       	call   0x41e89e
42290f:	6a 16                	push   $0x16
422911:	5e                   	pop    %esi
422912:	57                   	push   %edi
422913:	57                   	push   %edi
422914:	57                   	push   %edi
422915:	57                   	push   %edi
422916:	57                   	push   %edi
422917:	89 30                	mov    %esi,(%eax)
422919:	e8 d5 d2 ff ff       	call   0x41fbf3
42291e:	83 c4 14             	add    $0x14,%esp
422921:	80 7d e8 00          	cmpb   $0x0,-0x18(%ebp)
422925:	74 07                	je     0x42292e
422927:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42292a:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
42292e:	8b c6                	mov    %esi,%eax
422930:	e9 10 03 00 00       	jmp    0x422c45
422935:	39 7d 10             	cmp    %edi,0x10(%ebp)
422938:	76 d0                	jbe    0x42290a
42293a:	8b 45 14             	mov    0x14(%ebp),%eax
42293d:	83 c0 0b             	add    $0xb,%eax
422940:	c6 06 00             	movb   $0x0,(%esi)
422943:	39 45 10             	cmp    %eax,0x10(%ebp)
422946:	77 09                	ja     0x422951
422948:	e8 51 bf ff ff       	call   0x41e89e
42294d:	6a 22                	push   $0x22
42294f:	eb c0                	jmp    0x422911
422951:	8b 7d 08             	mov    0x8(%ebp),%edi
422954:	8b 07                	mov    (%edi),%eax
422956:	89 45 f4             	mov    %eax,-0xc(%ebp)
422959:	8b 47 04             	mov    0x4(%edi),%eax
42295c:	8b c8                	mov    %eax,%ecx
42295e:	c1 e9 14             	shr    $0x14,%ecx
422961:	ba ff 07 00 00       	mov    $0x7ff,%edx
422966:	53                   	push   %ebx
422967:	23 ca                	and    %edx,%ecx
422969:	33 db                	xor    %ebx,%ebx
42296b:	3b ca                	cmp    %edx,%ecx
42296d:	0f 85 90 00 00 00    	jne    0x422a03
422973:	85 db                	test   %ebx,%ebx
422975:	0f 85 88 00 00 00    	jne    0x422a03
42297b:	8b 45 10             	mov    0x10(%ebp),%eax
42297e:	83 f8 ff             	cmp    $0xffffffff,%eax
422981:	75 04                	jne    0x422987
422983:	0b c0                	or     %eax,%eax
422985:	eb 03                	jmp    0x42298a
422987:	83 c0 fe             	add    $0xfffffffe,%eax
42298a:	6a 00                	push   $0x0
42298c:	ff 75 14             	push   0x14(%ebp)
42298f:	8d 5e 02             	lea    0x2(%esi),%ebx
422992:	50                   	push   %eax
422993:	53                   	push   %ebx
422994:	57                   	push   %edi
422995:	e8 1c ff ff ff       	call   0x4228b6
42299a:	83 c4 14             	add    $0x14,%esp
42299d:	85 c0                	test   %eax,%eax
42299f:	74 19                	je     0x4229ba
4229a1:	80 7d e8 00          	cmpb   $0x0,-0x18(%ebp)
4229a5:	c6 06 00             	movb   $0x0,(%esi)
4229a8:	0f 84 96 02 00 00    	je     0x422c44
4229ae:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4229b1:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4229b5:	e9 8a 02 00 00       	jmp    0x422c44
4229ba:	80 3b 2d             	cmpb   $0x2d,(%ebx)
4229bd:	75 04                	jne    0x4229c3
4229bf:	c6 06 2d             	movb   $0x2d,(%esi)
4229c2:	46                   	inc    %esi
4229c3:	c6 06 30             	movb   $0x30,(%esi)
4229c6:	46                   	inc    %esi
4229c7:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4229cb:	6a 65                	push   $0x65
4229cd:	0f 94 c0             	sete   %al
4229d0:	fe c8                	dec    %al
4229d2:	24 e0                	and    $0xe0,%al
4229d4:	04 78                	add    $0x78,%al
4229d6:	88 06                	mov    %al,(%esi)
4229d8:	46                   	inc    %esi
4229d9:	56                   	push   %esi
4229da:	e8 41 33 00 00       	call   0x425d20
4229df:	59                   	pop    %ecx
4229e0:	59                   	pop    %ecx
4229e1:	85 c0                	test   %eax,%eax
4229e3:	0f 84 4c 02 00 00    	je     0x422c35
4229e9:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4229ed:	0f 94 c1             	sete   %cl
4229f0:	fe c9                	dec    %cl
4229f2:	80 e1 e0             	and    $0xe0,%cl
4229f5:	80 c1 70             	add    $0x70,%cl
4229f8:	88 08                	mov    %cl,(%eax)
4229fa:	c6 40 03 00          	movb   $0x0,0x3(%eax)
4229fe:	e9 32 02 00 00       	jmp    0x422c35
422a03:	25 00 00 00 80       	and    $0x80000000,%eax
422a08:	33 c9                	xor    %ecx,%ecx
422a0a:	0b c8                	or     %eax,%ecx
422a0c:	74 04                	je     0x422a12
422a0e:	c6 06 2d             	movb   $0x2d,(%esi)
422a11:	46                   	inc    %esi
422a12:	8b 5d 18             	mov    0x18(%ebp),%ebx
422a15:	c6 06 30             	movb   $0x30,(%esi)
422a18:	46                   	inc    %esi
422a19:	85 db                	test   %ebx,%ebx
422a1b:	0f 94 c0             	sete   %al
422a1e:	fe c8                	dec    %al
422a20:	24 e0                	and    $0xe0,%al
422a22:	04 78                	add    $0x78,%al
422a24:	88 06                	mov    %al,(%esi)
422a26:	8b 4f 04             	mov    0x4(%edi),%ecx
422a29:	46                   	inc    %esi
422a2a:	f7 db                	neg    %ebx
422a2c:	1b db                	sbb    %ebx,%ebx
422a2e:	83 e3 e0             	and    $0xffffffe0,%ebx
422a31:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
422a37:	33 c0                	xor    %eax,%eax
422a39:	83 c3 27             	add    $0x27,%ebx
422a3c:	33 d2                	xor    %edx,%edx
422a3e:	0b c1                	or     %ecx,%eax
422a40:	75 21                	jne    0x422a63
422a42:	c6 06 30             	movb   $0x30,(%esi)
422a45:	8b 4f 04             	mov    0x4(%edi),%ecx
422a48:	8b 07                	mov    (%edi),%eax
422a4a:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
422a50:	46                   	inc    %esi
422a51:	0b c1                	or     %ecx,%eax
422a53:	75 05                	jne    0x422a5a
422a55:	89 55 ec             	mov    %edx,-0x14(%ebp)
422a58:	eb 0d                	jmp    0x422a67
422a5a:	c7 45 ec fe 03 00 00 	movl   $0x3fe,-0x14(%ebp)
422a61:	eb 04                	jmp    0x422a67
422a63:	c6 06 31             	movb   $0x31,(%esi)
422a66:	46                   	inc    %esi
422a67:	8b c6                	mov    %esi,%eax
422a69:	46                   	inc    %esi
422a6a:	89 45 0c             	mov    %eax,0xc(%ebp)