44177b:	55                   	push   %ebp
44177c:	8b ec                	mov    %esp,%ebp
44177e:	ff 05 c4 07 47 00    	incl   0x4707c4
441784:	68 00 10 00 00       	push   $0x1000
441789:	e8 ad 4c ff ff       	call   0x43643b
44178e:	59                   	pop    %ecx
44178f:	8b 4d 08             	mov    0x8(%ebp),%ecx
441792:	89 41 08             	mov    %eax,0x8(%ecx)
441795:	85 c0                	test   %eax,%eax
441797:	74 0d                	je     0x4417a6
441799:	83 49 0c 08          	orl    $0x8,0xc(%ecx)
44179d:	c7 41 18 00 10 00 00 	movl   $0x1000,0x18(%ecx)
4417a4:	eb 11                	jmp    0x4417b7
4417a6:	83 49 0c 04          	orl    $0x4,0xc(%ecx)
4417aa:	8d 41 14             	lea    0x14(%ecx),%eax
4417ad:	89 41 08             	mov    %eax,0x8(%ecx)
4417b0:	c7 41 18 02 00 00 00 	movl   $0x2,0x18(%ecx)
4417b7:	8b 41 08             	mov    0x8(%ecx),%eax
4417ba:	83 61 04 00          	andl   $0x0,0x4(%ecx)
4417be:	89 01                	mov    %eax,(%ecx)
4417c0:	5d                   	pop    %ebp
4417c1:	c3                   	ret
4417c2:	8b ff                	mov    %edi,%edi
4417c4:	55                   	push   %ebp
4417c5:	8b ec                	mov    %esp,%ebp
4417c7:	83 ec 10             	sub    $0x10,%esp
4417ca:	a1 a8 f6 46 00       	mov    0x46f6a8,%eax
4417cf:	33 c5                	xor    %ebp,%eax
4417d1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4417d4:	53                   	push   %ebx
4417d5:	56                   	push   %esi
4417d6:	8b 75 0c             	mov    0xc(%ebp),%esi
4417d9:	f6 46 0c 40          	testb  $0x40,0xc(%esi)
4417dd:	57                   	push   %edi
4417de:	0f 85 36 01 00 00    	jne    0x44191a
4417e4:	56                   	push   %esi
4417e5:	e8 28 4a ff ff       	call   0x436212
4417ea:	59                   	pop    %ecx
4417eb:	bb 68 f6 46 00       	mov    $0x46f668,%ebx
4417f0:	83 f8 ff             	cmp    $0xffffffff,%eax
4417f3:	74 2e                	je     0x441823
4417f5:	56                   	push   %esi
4417f6:	e8 17 4a ff ff       	call   0x436212
4417fb:	59                   	pop    %ecx
4417fc:	83 f8 fe             	cmp    $0xfffffffe,%eax
4417ff:	74 22                	je     0x441823
441801:	56                   	push   %esi
441802:	e8 0b 4a ff ff       	call   0x436212
441807:	c1 f8 05             	sar    $0x5,%eax
44180a:	56                   	push   %esi
44180b:	8d 3c 85 80 17 47 00 	lea    0x471780(,%eax,4),%edi
441812:	e8 fb 49 ff ff       	call   0x436212
441817:	83 e0 1f             	and    $0x1f,%eax
44181a:	59                   	pop    %ecx
44181b:	c1 e0 06             	shl    $0x6,%eax
44181e:	03 07                	add    (%edi),%eax
441820:	59                   	pop    %ecx
441821:	eb 02                	jmp    0x441825
441823:	8b c3                	mov    %ebx,%eax
441825:	8a 40 24             	mov    0x24(%eax),%al
441828:	24 7f                	and    $0x7f,%al
44182a:	3c 02                	cmp    $0x2,%al
44182c:	0f 84 e8 00 00 00    	je     0x44191a
441832:	56                   	push   %esi
441833:	e8 da 49 ff ff       	call   0x436212
441838:	59                   	pop    %ecx
441839:	83 f8 ff             	cmp    $0xffffffff,%eax
44183c:	74 2e                	je     0x44186c
44183e:	56                   	push   %esi
44183f:	e8 ce 49 ff ff       	call   0x436212
441844:	59                   	pop    %ecx
441845:	83 f8 fe             	cmp    $0xfffffffe,%eax
441848:	74 22                	je     0x44186c
44184a:	56                   	push   %esi
44184b:	e8 c2 49 ff ff       	call   0x436212
441850:	c1 f8 05             	sar    $0x5,%eax
441853:	56                   	push   %esi
441854:	8d 3c 85 80 17 47 00 	lea    0x471780(,%eax,4),%edi
44185b:	e8 b2 49 ff ff       	call   0x436212
441860:	83 e0 1f             	and    $0x1f,%eax
441863:	59                   	pop    %ecx
441864:	c1 e0 06             	shl    $0x6,%eax
441867:	03 07                	add    (%edi),%eax
441869:	59                   	pop    %ecx
44186a:	eb 02                	jmp    0x44186e
44186c:	8b c3                	mov    %ebx,%eax
44186e:	8a 40 24             	mov    0x24(%eax),%al
441871:	24 7f                	and    $0x7f,%al
441873:	3c 01                	cmp    $0x1,%al
441875:	0f 84 9f 00 00 00    	je     0x44191a
44187b:	56                   	push   %esi
44187c:	e8 91 49 ff ff       	call   0x436212
441881:	59                   	pop    %ecx
441882:	83 f8 ff             	cmp    $0xffffffff,%eax
441885:	74 2e                	je     0x4418b5
441887:	56                   	push   %esi
441888:	e8 85 49 ff ff       	call   0x436212
44188d:	59                   	pop    %ecx
44188e:	83 f8 fe             	cmp    $0xfffffffe,%eax
441891:	74 22                	je     0x4418b5
441893:	56                   	push   %esi
441894:	e8 79 49 ff ff       	call   0x436212
441899:	c1 f8 05             	sar    $0x5,%eax
44189c:	56                   	push   %esi
44189d:	8d 3c 85 80 17 47 00 	lea    0x471780(,%eax,4),%edi
4418a4:	e8 69 49 ff ff       	call   0x436212
4418a9:	83 e0 1f             	and    $0x1f,%eax
4418ac:	59                   	pop    %ecx
4418ad:	c1 e0 06             	shl    $0x6,%eax
4418b0:	03 07                	add    (%edi),%eax
4418b2:	59                   	pop    %ecx
4418b3:	eb 02                	jmp    0x4418b7
4418b5:	8b c3                	mov    %ebx,%eax
4418b7:	f6 40 04 80          	testb  $0x80,0x4(%eax)
4418bb:	74 5d                	je     0x44191a
4418bd:	ff 75 08             	push   0x8(%ebp)
4418c0:	8d 45 f4             	lea    -0xc(%ebp),%eax
4418c3:	6a 05                	push   $0x5
4418c5:	50                   	push   %eax
4418c6:	8d 45 f0             	lea    -0x10(%ebp),%eax
4418c9:	50                   	push   %eax
4418ca:	e8 3a d6 ff ff       	call   0x43ef09
4418cf:	83 c4 10             	add    $0x10,%esp
4418d2:	85 c0                	test   %eax,%eax
4418d4:	74 07                	je     0x4418dd
4418d6:	b8 ff ff 00 00       	mov    $0xffff,%eax
4418db:	eb 5d                	jmp    0x44193a
4418dd:	33 ff                	xor    %edi,%edi
4418df:	39 7d f0             	cmp    %edi,-0x10(%ebp)
4418e2:	7e 30                	jle    0x441914
4418e4:	ff 4e 04             	decl   0x4(%esi)
4418e7:	78 12                	js     0x4418fb
4418e9:	8b 06                	mov    (%esi),%eax
4418eb:	8a 4c 3d f4          	mov    -0xc(%ebp,%edi,1),%cl
4418ef:	88 08                	mov    %cl,(%eax)
4418f1:	8b 0e                	mov    (%esi),%ecx
4418f3:	0f b6 01             	movzbl (%ecx),%eax
4418f6:	41                   	inc    %ecx
4418f7:	89 0e                	mov    %ecx,(%esi)
4418f9:	eb 0e                	jmp    0x441909
4418fb:	0f be 44 3d f4       	movsbl -0xc(%ebp,%edi,1),%eax
441900:	56                   	push   %esi
441901:	50                   	push   %eax
441902:	e8 17 50 ff ff       	call   0x43691e
441907:	59                   	pop    %ecx
441908:	59                   	pop    %ecx
441909:	83 f8 ff             	cmp    $0xffffffff,%eax
44190c:	74 c8                	je     0x4418d6
44190e:	47                   	inc    %edi
44190f:	3b 7d f0             	cmp    -0x10(%ebp),%edi
441912:	7c d0                	jl     0x4418e4
441914:	66 8b 45 08          	mov    0x8(%ebp),%ax
441918:	eb 20                	jmp    0x44193a
44191a:	83 46 04 fe          	addl   $0xfffffffe,0x4(%esi)
44191e:	78 0d                	js     0x44192d
441920:	8b 0e                	mov    (%esi),%ecx
441922:	8b 45 08             	mov    0x8(%ebp),%eax
441925:	66 89 01             	mov    %ax,(%ecx)
441928:	83 06 02             	addl   $0x2,(%esi)
44192b:	eb 0d                	jmp    0x44193a
44192d:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
441931:	56                   	push   %esi
441932:	50                   	push   %eax
441933:	e8 2a 62 00 00       	call   0x447b62
441938:	59                   	pop    %ecx
441939:	59                   	pop    %ecx
44193a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44193d:	5f                   	pop    %edi
44193e:	5e                   	pop    %esi
44193f:	33 cd                	xor    %ebp,%ecx
441941:	5b                   	pop    %ebx
441942:	e8 4a d0 ff ff       	call   0x43e991
441947:	c9                   	leave
441948:	c3                   	ret
441949:	6a 0c                	push   $0xc
44194b:	68 18 e1 46 00       	push   $0x46e118
441950:	e8 2b 34 ff ff       	call   0x434d80
441955:	33 c0                	xor    %eax,%eax
441957:	8b 75 0c             	mov    0xc(%ebp),%esi
44195a:	85 f6                	test   %esi,%esi
44195c:	0f 95 c0             	setne  %al
44195f:	85 c0                	test   %eax,%eax
441961:	75 17                	jne    0x44197a
441963:	e8 40 30 ff ff       	call   0x4349a8
441968:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
44196e:	e8 fb 29 ff ff       	call   0x43436e
441973:	b8 ff ff 00 00       	mov    $0xffff,%eax
441978:	eb 2f                	jmp    0x4419a9
44197a:	89 75 0c             	mov    %esi,0xc(%ebp)
44197d:	56                   	push   %esi
44197e:	e8 9c ea fe ff       	call   0x43041f
441983:	59                   	pop    %ecx
441984:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
441988:	56                   	push   %esi
441989:	ff 75 08             	push   0x8(%ebp)
44198c:	e8 31 fe ff ff       	call   0x4417c2
441991:	59                   	pop    %ecx
441992:	59                   	pop    %ecx
441993:	0f b7 c0             	movzwl %ax,%eax
441996:	89 45 e4             	mov    %eax,-0x1c(%ebp)
441999:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4419a0:	e8 0a 00 00 00       	call   0x4419af
4419a5:	66 8b 45 e4          	mov    -0x1c(%ebp),%ax
4419a9:	e8 17 34 ff ff       	call   0x434dc5
4419ae:	c3                   	ret
4419af:	ff 75 0c             	push   0xc(%ebp)
4419b2:	e8 db ea fe ff       	call   0x430492
4419b7:	59                   	pop    %ecx
4419b8:	c3                   	ret
4419b9:	8b ff                	mov    %edi,%edi
4419bb:	55                   	push   %ebp
4419bc:	8b ec                	mov    %esp,%ebp
4419be:	5d                   	pop    %ebp
4419bf:	e9 85 ff ff ff       	jmp    0x441949
4419c4:	8b ff                	mov    %edi,%edi
4419c6:	55                   	push   %ebp
4419c7:	8b ec                	mov    %esp,%ebp
4419c9:	83 ec 10             	sub    $0x10,%esp
4419cc:	53                   	push   %ebx
4419cd:	56                   	push   %esi
4419ce:	8b 75 0c             	mov    0xc(%ebp),%esi
4419d1:	33 db                	xor    %ebx,%ebx
4419d3:	3b f3                	cmp    %ebx,%esi
4419d5:	74 15                	je     0x4419ec
4419d7:	39 5d 10             	cmp    %ebx,0x10(%ebp)
4419da:	74 10                	je     0x4419ec
4419dc:	38 1e                	cmp    %bl,(%esi)
4419de:	75 12                	jne    0x4419f2
4419e0:	8b 45 08             	mov    0x8(%ebp),%eax
4419e3:	3b c3                	cmp    %ebx,%eax
4419e5:	74 05                	je     0x4419ec
4419e7:	33 c9                	xor    %ecx,%ecx
4419e9:	66 89 08             	mov    %cx,(%eax)
4419ec:	33 c0                	xor    %eax,%eax
4419ee:	5e                   	pop    %esi
4419ef:	5b                   	pop    %ebx
4419f0:	c9                   	leave
4419f1:	c3                   	ret
4419f2:	ff 75 14             	push   0x14(%ebp)
4419f5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4419f8:	e8 ed f1 fe ff       	call   0x430bea
4419fd:	8b 45 f0             	mov    -0x10(%ebp),%eax
441a00:	39 58 14             	cmp    %ebx,0x14(%eax)
441a03:	75 1e                	jne    0x441a23
441a05:	8b 45 08             	mov    0x8(%ebp),%eax
441a08:	3b c3                	cmp    %ebx,%eax
441a0a:	74 06                	je     0x441a12
441a0c:	0f b6 0e             	movzbl (%esi),%ecx
441a0f:	66 89 08             	mov    %cx,(%eax)
441a12:	38 5d fc             	cmp    %bl,-0x4(%ebp)
441a15:	74 07                	je     0x441a1e
441a17:	8b 45 f8             	mov    -0x8(%ebp),%eax
441a1a:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
441a1e:	33 c0                	xor    %eax,%eax
441a20:	40                   	inc    %eax
441a21:	eb cb                	jmp    0x4419ee
441a23:	8d 45 f0             	lea    -0x10(%ebp),%eax
441a26:	50                   	push   %eax
441a27:	0f b6 06             	movzbl (%esi),%eax
441a2a:	50                   	push   %eax
441a2b:	e8 79 d5 ff ff       	call   0x43efa9
441a30:	59                   	pop    %ecx
441a31:	59                   	pop    %ecx
441a32:	85 c0                	test   %eax,%eax
441a34:	74 7d                	je     0x441ab3
441a36:	8b 45 f0             	mov    -0x10(%ebp),%eax
441a39:	8b 88 ac 00 00 00    	mov    0xac(%eax),%ecx
441a3f:	83 f9 01             	cmp    $0x1,%ecx
441a42:	7e 25                	jle    0x441a69
441a44:	39 4d 10             	cmp    %ecx,0x10(%ebp)
441a47:	7c 20                	jl     0x441a69
441a49:	33 d2                	xor    %edx,%edx
441a4b:	39 5d 08             	cmp    %ebx,0x8(%ebp)
441a4e:	0f 95 c2             	setne  %dl
441a51:	52                   	push   %edx
441a52:	ff 75 08             	push   0x8(%ebp)
441a55:	51                   	push   %ecx
441a56:	56                   	push   %esi
441a57:	6a 09                	push   $0x9
441a59:	ff 70 04             	push   0x4(%eax)
441a5c:	ff 15 e8 34 47 00    	call   *0x4734e8
441a62:	85 c0                	test   %eax,%eax
441a64:	8b 45 f0             	mov    -0x10(%ebp),%eax
441a67:	75 10                	jne    0x441a79
441a69:	8b 4d 10             	mov    0x10(%ebp),%ecx
441a6c:	3b 88 ac 00 00 00    	cmp    0xac(%eax),%ecx
441a72:	72 20                	jb     0x441a94
441a74:	38 5e 01             	cmp    %bl,0x1(%esi)
441a77:	74 1b                	je     0x441a94
441a79:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
441a7f:	38 5d fc             	cmp    %bl,-0x4(%ebp)
441a82:	0f 84 66 ff ff ff    	je     0x4419ee
441a88:	8b 4d f8             	mov    -0x8(%ebp),%ecx
441a8b:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
441a8f:	e9 5a ff ff ff       	jmp    0x4419ee
441a94:	e8 0f 2f ff ff       	call   0x4349a8
441a99:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
441a9f:	38 5d fc             	cmp    %bl,-0x4(%ebp)
441aa2:	74 07                	je     0x441aab
441aa4:	8b 45 f8             	mov    -0x8(%ebp),%eax
441aa7:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
441aab:	83 c8 ff             	or     $0xffffffff,%eax
441aae:	e9 3b ff ff ff       	jmp    0x4419ee
441ab3:	33 c0                	xor    %eax,%eax
441ab5:	39 5d 08             	cmp    %ebx,0x8(%ebp)
441ab8:	0f 95 c0             	setne  %al
441abb:	50                   	push   %eax
441abc:	ff 75 08             	push   0x8(%ebp)
441abf:	8b 45 f0             	mov    -0x10(%ebp),%eax
441ac2:	6a 01                	push   $0x1
441ac4:	56                   	push   %esi
441ac5:	6a 09                	push   $0x9
441ac7:	ff 70 04             	push   0x4(%eax)
441aca:	ff 15 e8 34 47 00    	call   *0x4734e8
441ad0:	85 c0                	test   %eax,%eax
441ad2:	0f 85 3a ff ff ff    	jne    0x441a12
441ad8:	eb ba                	jmp    0x441a94
441ada:	8b ff                	mov    %edi,%edi
441adc:	55                   	push   %ebp
441add:	8b ec                	mov    %esp,%ebp
441adf:	6a 00                	push   $0x0
441ae1:	ff 75 10             	push   0x10(%ebp)
441ae4:	ff 75 0c             	push   0xc(%ebp)
441ae7:	ff 75 08             	push   0x8(%ebp)
441aea:	e8 d5 fe ff ff       	call   0x4419c4
441aef:	83 c4 10             	add    $0x10,%esp
441af2:	5d                   	pop    %ebp
441af3:	c3                   	ret
441af4:	8b ff                	mov    %edi,%edi
441af6:	55                   	push   %ebp
441af7:	8b ec                	mov    %esp,%ebp
441af9:	83 ec 18             	sub    $0x18,%esp
441afc:	53                   	push   %ebx
441afd:	ff 75 10             	push   0x10(%ebp)
441b00:	8d 4d e8             	lea    -0x18(%ebp),%ecx
441b03:	e8 e2 f0 fe ff       	call   0x430bea
441b08:	8b 5d 08             	mov    0x8(%ebp),%ebx
441b0b:	8d 43 01             	lea    0x1(%ebx),%eax
441b0e:	3d 00 01 00 00       	cmp    $0x100,%eax
441b13:	77 0f                	ja     0x441b24
441b15:	8b 45 e8             	mov    -0x18(%ebp),%eax
441b18:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
441b1e:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
441b22:	eb 75                	jmp    0x441b99
441b24:	89 5d 08             	mov    %ebx,0x8(%ebp)
441b27:	c1 7d 08 08          	sarl   $0x8,0x8(%ebp)
441b2b:	8d 45 e8             	lea    -0x18(%ebp),%eax
441b2e:	50                   	push   %eax
441b2f:	8b 45 08             	mov    0x8(%ebp),%eax
441b32:	25 ff 00 00 00       	and    $0xff,%eax