4226ed:	74 17                	je     0x422706
4226ef:	8b f9                	mov    %ecx,%edi
4226f1:	c1 ff 05             	sar    $0x5,%edi
4226f4:	8b 3c bd c0 cc 4a 00 	mov    0x4accc0(,%edi,4),%edi
4226fb:	83 e1 1f             	and    $0x1f,%ecx
4226fe:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
422701:	8d 3c 8f             	lea    (%edi,%ecx,4),%edi
422704:	eb 05                	jmp    0x42270b
422706:	bf 70 93 4a 00       	mov    $0x4a9370,%edi
42270b:	8a 4f 04             	mov    0x4(%edi),%cl
42270e:	80 e1 82             	and    $0x82,%cl
422711:	80 f9 82             	cmp    $0x82,%cl
422714:	5f                   	pop    %edi
422715:	75 09                	jne    0x422720
422717:	81 ca 00 20 00 00    	or     $0x2000,%edx
42271d:	89 56 0c             	mov    %edx,0xc(%esi)
422720:	81 7e 18 00 02 00 00 	cmpl   $0x200,0x18(%esi)
422727:	75 14                	jne    0x42273d
422729:	8b 4e 0c             	mov    0xc(%esi),%ecx
42272c:	f6 c1 08             	test   $0x8,%cl
42272f:	74 0c                	je     0x42273d
422731:	f6 c5 04             	test   $0x4,%ch
422734:	75 07                	jne    0x42273d
422736:	c7 46 18 00 10 00 00 	movl   $0x1000,0x18(%esi)
42273d:	8b 0e                	mov    (%esi),%ecx
42273f:	48                   	dec    %eax
422740:	89 46 04             	mov    %eax,0x4(%esi)
422743:	0f b6 01             	movzbl (%ecx),%eax
422746:	41                   	inc    %ecx
422747:	89 0e                	mov    %ecx,(%esi)
422749:	5e                   	pop    %esi
42274a:	c3                   	ret
42274b:	f7 d8                	neg    %eax
42274d:	1b c0                	sbb    %eax,%eax
42274f:	83 e0 10             	and    $0x10,%eax
422752:	83 c0 10             	add    $0x10,%eax
422755:	09 46 0c             	or     %eax,0xc(%esi)
422758:	83 66 04 00          	andl   $0x0,0x4(%esi)
42275c:	83 c8 ff             	or     $0xffffffff,%eax
42275f:	5e                   	pop    %esi
422760:	c3                   	ret
422761:	55                   	push   %ebp
422762:	8b ec                	mov    %esp,%ebp
422764:	83 ec 0c             	sub    $0xc,%esp
422767:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
42276b:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
42276f:	53                   	push   %ebx
422770:	8b 5d 0c             	mov    0xc(%ebp),%ebx
422773:	56                   	push   %esi
422774:	57                   	push   %edi
422775:	8b d3                	mov    %ebx,%edx
422777:	0f 84 b8 01 00 00    	je     0x422935
42277d:	8b 45 08             	mov    0x8(%ebp),%eax
422780:	8b c8                	mov    %eax,%ecx
422782:	83 e0 1f             	and    $0x1f,%eax
422785:	c1 f9 05             	sar    $0x5,%ecx
422788:	8d 34 c0             	lea    (%eax,%eax,8),%esi
42278b:	8d 3c 8d c0 cc 4a 00 	lea    0x4accc0(,%ecx,4),%edi
422792:	8b 07                	mov    (%edi),%eax
422794:	c1 e6 02             	shl    $0x2,%esi
422797:	03 c6                	add    %esi,%eax
422799:	8a 48 04             	mov    0x4(%eax),%cl
42279c:	f6 c1 02             	test   $0x2,%cl
42279f:	0f 85 90 01 00 00    	jne    0x422935
4227a5:	f6 c1 48             	test   $0x48,%cl
4227a8:	74 22                	je     0x4227cc
4227aa:	80 78 05 0a          	cmpb   $0xa,0x5(%eax)
4227ae:	74 1c                	je     0x4227cc
4227b0:	8b 07                	mov    (%edi),%eax
4227b2:	8a 44 30 05          	mov    0x5(%eax,%esi,1),%al
4227b6:	ff 4d 10             	decl   0x10(%ebp)
4227b9:	88 03                	mov    %al,(%ebx)
4227bb:	8b 07                	mov    (%edi),%eax
4227bd:	8d 53 01             	lea    0x1(%ebx),%edx
4227c0:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4227c7:	c6 44 30 05 0a       	movb   $0xa,0x5(%eax,%esi,1)
4227cc:	6a 00                	push   $0x0
4227ce:	8d 45 f4             	lea    -0xc(%ebp),%eax
4227d1:	50                   	push   %eax
4227d2:	ff 75 10             	push   0x10(%ebp)
4227d5:	8b 07                	mov    (%edi),%eax
4227d7:	52                   	push   %edx
4227d8:	ff 34 30             	push   (%eax,%esi,1)
4227db:	ff 15 70 02 4b 00    	call   *0x4b0270
4227e1:	85 c0                	test   %eax,%eax
4227e3:	75 39                	jne    0x42281e
4227e5:	ff 15 9c 03 4b 00    	call   *0x4b039c
4227eb:	6a 05                	push   $0x5
4227ed:	5e                   	pop    %esi
4227ee:	3b c6                	cmp    %esi,%eax
4227f0:	75 14                	jne    0x422806
4227f2:	e8 2f 6a ff ff       	call   0x419226
4227f7:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4227fd:	e8 2d 6a ff ff       	call   0x41922f
422802:	89 30                	mov    %esi,(%eax)
422804:	eb 10                	jmp    0x422816
422806:	83 f8 6d             	cmp    $0x6d,%eax
422809:	0f 84 26 01 00 00    	je     0x422935
42280f:	50                   	push   %eax
422810:	e8 23 6a ff ff       	call   0x419238
422815:	59                   	pop    %ecx
422816:	83 c8 ff             	or     $0xffffffff,%eax
422819:	e9 19 01 00 00       	jmp    0x422937
42281e:	8b 45 f4             	mov    -0xc(%ebp),%eax
422821:	8b 0f                	mov    (%edi),%ecx
422823:	01 45 f8             	add    %eax,-0x8(%ebp)
422826:	f6 44 31 04 80       	testb  $0x80,0x4(%ecx,%esi,1)
42282b:	0f 84 ff 00 00 00    	je     0x422930
422831:	85 c0                	test   %eax,%eax
422833:	74 10                	je     0x422845
422835:	80 3b 0a             	cmpb   $0xa,(%ebx)
422838:	75 0b                	jne    0x422845
42283a:	8b c1                	mov    %ecx,%eax
42283c:	8d 44 30 04          	lea    0x4(%eax,%esi,1),%eax
422840:	80 08 04             	orb    $0x4,(%eax)
422843:	eb 09                	jmp    0x42284e
422845:	8b 07                	mov    (%edi),%eax
422847:	8d 44 30 04          	lea    0x4(%eax,%esi,1),%eax
42284b:	80 20 fb             	andb   $0xfb,(%eax)
42284e:	8b 45 0c             	mov    0xc(%ebp),%eax
422851:	8b 4d f8             	mov    -0x8(%ebp),%ecx
422854:	03 c8                	add    %eax,%ecx
422856:	3b c1                	cmp    %ecx,%eax
422858:	89 45 10             	mov    %eax,0x10(%ebp)
42285b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
42285e:	0f 83 c6 00 00 00    	jae    0x42292a
422864:	8b 45 10             	mov    0x10(%ebp),%eax
422867:	8a 00                	mov    (%eax),%al
422869:	3c 1a                	cmp    $0x1a,%al
42286b:	0f 84 a9 00 00 00    	je     0x42291a
422871:	3c 0d                	cmp    $0xd,%al
422873:	74 0b                	je     0x422880
422875:	88 03                	mov    %al,(%ebx)
422877:	43                   	inc    %ebx
422878:	ff 45 10             	incl   0x10(%ebp)
42287b:	e9 8c 00 00 00       	jmp    0x42290c
422880:	49                   	dec    %ecx
422881:	39 4d 10             	cmp    %ecx,0x10(%ebp)
422884:	73 14                	jae    0x42289a
422886:	8b 45 10             	mov    0x10(%ebp),%eax
422889:	40                   	inc    %eax
42288a:	80 38 0a             	cmpb   $0xa,(%eax)
42288d:	75 06                	jne    0x422895
42288f:	83 45 10 02          	addl   $0x2,0x10(%ebp)
422893:	eb 59                	jmp    0x4228ee
422895:	89 45 10             	mov    %eax,0x10(%ebp)
422898:	eb 6e                	jmp    0x422908
42289a:	ff 45 10             	incl   0x10(%ebp)
42289d:	6a 00                	push   $0x0
42289f:	8d 45 f4             	lea    -0xc(%ebp),%eax
4228a2:	50                   	push   %eax
4228a3:	6a 01                	push   $0x1
4228a5:	8d 45 ff             	lea    -0x1(%ebp),%eax
4228a8:	50                   	push   %eax
4228a9:	8b 07                	mov    (%edi),%eax
4228ab:	ff 34 30             	push   (%eax,%esi,1)
4228ae:	ff 15 70 02 4b 00    	call   *0x4b0270
4228b4:	85 c0                	test   %eax,%eax
4228b6:	75 0a                	jne    0x4228c2
4228b8:	ff 15 9c 03 4b 00    	call   *0x4b039c
4228be:	85 c0                	test   %eax,%eax
4228c0:	75 46                	jne    0x422908
4228c2:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4228c6:	74 40                	je     0x422908
4228c8:	8b 07                	mov    (%edi),%eax
4228ca:	f6 44 30 04 48       	testb  $0x48,0x4(%eax,%esi,1)
4228cf:	74 12                	je     0x4228e3
4228d1:	8a 45 ff             	mov    -0x1(%ebp),%al
4228d4:	3c 0a                	cmp    $0xa,%al
4228d6:	74 16                	je     0x4228ee
4228d8:	c6 03 0d             	movb   $0xd,(%ebx)
4228db:	8b 0f                	mov    (%edi),%ecx
4228dd:	88 44 31 05          	mov    %al,0x5(%ecx,%esi,1)
4228e1:	eb 28                	jmp    0x42290b
4228e3:	3b 5d 0c             	cmp    0xc(%ebp),%ebx
4228e6:	75 0b                	jne    0x4228f3
4228e8:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
4228ec:	75 05                	jne    0x4228f3
4228ee:	c6 03 0a             	movb   $0xa,(%ebx)
4228f1:	eb 18                	jmp    0x42290b
4228f3:	6a 01                	push   $0x1
4228f5:	6a ff                	push   $0xffffffff
4228f7:	ff 75 08             	push   0x8(%ebp)
4228fa:	e8 61 03 00 00       	call   0x422c60
4228ff:	83 c4 0c             	add    $0xc,%esp
422902:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
422906:	74 04                	je     0x42290c
422908:	c6 03 0d             	movb   $0xd,(%ebx)
42290b:	43                   	inc    %ebx
42290c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42290f:	39 4d 10             	cmp    %ecx,0x10(%ebp)
422912:	0f 82 4c ff ff ff    	jb     0x422864
422918:	eb 10                	jmp    0x42292a
42291a:	8b 07                	mov    (%edi),%eax
42291c:	f6 44 30 04 40       	testb  $0x40,0x4(%eax,%esi,1)
422921:	75 07                	jne    0x42292a
422923:	8d 74 30 04          	lea    0x4(%eax,%esi,1),%esi
422927:	80 0e 02             	orb    $0x2,(%esi)
42292a:	2b 5d 0c             	sub    0xc(%ebp),%ebx
42292d:	89 5d f8             	mov    %ebx,-0x8(%ebp)
422930:	8b 45 f8             	mov    -0x8(%ebp),%eax
422933:	eb 02                	jmp    0x422937
422935:	33 c0                	xor    %eax,%eax
422937:	5f                   	pop    %edi
422938:	5e                   	pop    %esi
422939:	5b                   	pop    %ebx
42293a:	c9                   	leave
42293b:	c3                   	ret
42293c:	6a 0c                	push   $0xc
42293e:	68 88 29 49 00       	push   $0x492988
422943:	e8 a0 58 ff ff       	call   0x4181e8
422948:	8b 5d 08             	mov    0x8(%ebp),%ebx
42294b:	3b 1d 6c cc 4a 00    	cmp    0x4acc6c,%ebx
422951:	73 78                	jae    0x4229cb
422953:	8b c3                	mov    %ebx,%eax
422955:	c1 f8 05             	sar    $0x5,%eax
422958:	8d 3c 85 c0 cc 4a 00 	lea    0x4accc0(,%eax,4),%edi
42295f:	8b c3                	mov    %ebx,%eax
422961:	83 e0 1f             	and    $0x1f,%eax
422964:	8d 34 c0             	lea    (%eax,%eax,8),%esi
422967:	c1 e6 02             	shl    $0x2,%esi
42296a:	8b 07                	mov    (%edi),%eax
42296c:	f6 44 30 04 01       	testb  $0x1,0x4(%eax,%esi,1)
422971:	74 58                	je     0x4229cb
422973:	53                   	push   %ebx
422974:	e8 a8 65 ff ff       	call   0x418f21
422979:	59                   	pop    %ecx
42297a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42297e:	8b 07                	mov    (%edi),%eax
422980:	f6 44 30 04 01       	testb  $0x1,0x4(%eax,%esi,1)
422985:	74 14                	je     0x42299b
422987:	ff 75 10             	push   0x10(%ebp)
42298a:	ff 75 0c             	push   0xc(%ebp)
42298d:	53                   	push   %ebx
42298e:	e8 ce fd ff ff       	call   0x422761
422993:	83 c4 0c             	add    $0xc,%esp
422996:	89 45 e4             	mov    %eax,-0x1c(%ebp)
422999:	eb 17                	jmp    0x4229b2
42299b:	e8 86 68 ff ff       	call   0x419226
4229a0:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4229a6:	e8 84 68 ff ff       	call   0x41922f
4229ab:	83 20 00             	andl   $0x0,(%eax)
4229ae:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
4229b2:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4229b6:	e8 08 00 00 00       	call   0x4229c3
4229bb:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4229be:	eb 21                	jmp    0x4229e1
4229c0:	8b 5d 08             	mov    0x8(%ebp),%ebx
4229c3:	53                   	push   %ebx
4229c4:	e8 f8 65 ff ff       	call   0x418fc1
4229c9:	59                   	pop    %ecx
4229ca:	c3                   	ret
4229cb:	e8 56 68 ff ff       	call   0x419226
4229d0:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4229d6:	e8 54 68 ff ff       	call   0x41922f
4229db:	83 20 00             	andl   $0x0,(%eax)
4229de:	83 c8 ff             	or     $0xffffffff,%eax
4229e1:	e8 3d 58 ff ff       	call   0x418223
4229e6:	c3                   	ret
4229e7:	55                   	push   %ebp
4229e8:	8d ac 24 60 fc ff ff 	lea    -0x3a0(%esp),%ebp
4229ef:	81 ec 20 04 00 00    	sub    $0x420,%esp
4229f5:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
4229fa:	57                   	push   %edi
4229fb:	33 ff                	xor    %edi,%edi
4229fd:	39 bd b0 03 00 00    	cmp    %edi,0x3b0(%ebp)
422a03:	89 85 9c 03 00 00    	mov    %eax,0x39c(%ebp)
422a09:	89 7d 88             	mov    %edi,-0x78(%ebp)
422a0c:	89 7d 84             	mov    %edi,-0x7c(%ebp)
422a0f:	75 07                	jne    0x422a18
422a11:	33 c0                	xor    %eax,%eax
422a13:	e9 89 01 00 00       	jmp    0x422ba1
422a18:	8b 85 a8 03 00 00    	mov    0x3a8(%ebp),%eax
422a1e:	53                   	push   %ebx
422a1f:	8b 9d a8 03 00 00    	mov    0x3a8(%ebp),%ebx
422a25:	83 e0 1f             	and    $0x1f,%eax
422a28:	c1 fb 05             	sar    $0x5,%ebx
422a2b:	56                   	push   %esi
422a2c:	8d 34 c0             	lea    (%eax,%eax,8),%esi
422a2f:	8d 1c 9d c0 cc 4a 00 	lea    0x4accc0(,%ebx,4),%ebx
422a36:	8b 03                	mov    (%ebx),%eax
422a38:	c1 e6 02             	shl    $0x2,%esi
422a3b:	f6 44 30 04 20       	testb  $0x20,0x4(%eax,%esi,1)
422a40:	74 12                	je     0x422a54
422a42:	6a 02                	push   $0x2
422a44:	57                   	push   %edi
422a45:	57                   	push   %edi
422a46:	ff b5 a8 03 00 00    	push   0x3a8(%ebp)
422a4c:	e8 24 4c 00 00       	call   0x427675
422a51:	83 c4 10             	add    $0x10,%esp
422a54:	8b 03                	mov    (%ebx),%eax
422a56:	03 c6                	add    %esi,%eax
422a58:	f6 40 04 80          	testb  $0x80,0x4(%eax)
422a5c:	0f 84 cd 00 00 00    	je     0x422b2f
422a62:	39 bd b0 03 00 00    	cmp    %edi,0x3b0(%ebp)
422a68:	8b 85 ac 03 00 00    	mov    0x3ac(%ebp),%eax
422a6e:	89 45 8c             	mov    %eax,-0x74(%ebp)
422a71:	89 7d 94             	mov    %edi,-0x6c(%ebp)
422a74:	0f 86 f3 00 00 00    	jbe    0x422b6d
422a7a:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
422a7d:	2b 8d ac 03 00 00    	sub    0x3ac(%ebp),%ecx
422a83:	8d 45 98             	lea    -0x68(%ebp),%eax
422a86:	89 7d 90             	mov    %edi,-0x70(%ebp)
422a89:	3b 8d b0 03 00 00    	cmp    0x3b0(%ebp),%ecx
422a8f:	73 27                	jae    0x422ab8
422a91:	8b 55 8c             	mov    -0x74(%ebp),%edx
422a94:	ff 45 8c             	incl   -0x74(%ebp)
422a97:	8a 12                	mov    (%edx),%dl
422a99:	41                   	inc    %ecx
422a9a:	80 fa 0a             	cmp    $0xa,%dl
422a9d:	75 0a                	jne    0x422aa9
422a9f:	ff 45 84             	incl   -0x7c(%ebp)
422aa2:	c6 00 0d             	movb   $0xd,(%eax)
422aa5:	40                   	inc    %eax
422aa6:	ff 45 90             	incl   -0x70(%ebp)
422aa9:	88 10                	mov    %dl,(%eax)
422aab:	40                   	inc    %eax
422aac:	ff 45 90             	incl   -0x70(%ebp)
422aaf:	81 7d 90 00 04 00 00 	cmpl   $0x400,-0x70(%ebp)
422ab6:	7c d1                	jl     0x422a89
422ab8:	8b f8                	mov    %eax,%edi
422aba:	8d 45 98             	lea    -0x68(%ebp),%eax
422abd:	2b f8                	sub    %eax,%edi
422abf:	6a 00                	push   $0x0
422ac1:	8d 45 80             	lea    -0x80(%ebp),%eax
422ac4:	50                   	push   %eax
422ac5:	57                   	push   %edi
422ac6:	8d 45 98             	lea    -0x68(%ebp),%eax
422ac9:	50                   	push   %eax
422aca:	8b 03                	mov    (%ebx),%eax
422acc:	ff 34 30             	push   (%eax,%esi,1)
422acf:	ff 15 6c 02 4b 00    	call   *0x4b026c
422ad5:	85 c0                	test   %eax,%eax
422ad7:	74 1f                	je     0x422af8
422ad9:	8b 45 80             	mov    -0x80(%ebp),%eax
422adc:	01 45 88             	add    %eax,-0x78(%ebp)
422adf:	3b c7                	cmp    %edi,%eax
422ae1:	7c 1e                	jl     0x422b01
422ae3:	8b 45 8c             	mov    -0x74(%ebp),%eax
422ae6:	2b 85 ac 03 00 00    	sub    0x3ac(%ebp),%eax
422aec:	33 ff                	xor    %edi,%edi
422aee:	3b 85 b0 03 00 00    	cmp    0x3b0(%ebp),%eax
422af4:	72 84                	jb     0x422a7a
422af6:	eb 0b                	jmp    0x422b03
422af8:	ff 15 9c 03 4b 00    	call   *0x4b039c
422afe:	89 45 94             	mov    %eax,-0x6c(%ebp)
422b01:	33 ff                	xor    %edi,%edi
422b03:	8b 45 88             	mov    -0x78(%ebp),%eax
422b06:	3b c7                	cmp    %edi,%eax
422b08:	0f 85 8e 00 00 00    	jne    0x422b9c