46478a:	85 c0                	test   %eax,%eax
46478c:	74 2c                	je     0x4647ba
46478e:	8b 45 f0             	mov    -0x10(%ebp),%eax
464791:	8d 4f 20             	lea    0x20(%edi),%ecx
464794:	6a 00                	push   $0x0
464796:	8b 30                	mov    (%eax),%esi
464798:	56                   	push   %esi
464799:	6a 04                	push   $0x4
46479b:	5a                   	pop    %edx
46479c:	e8 d0 b5 fb ff       	call   0x41fd71
4647a1:	6a 00                	push   $0x0
4647a3:	c1 ee 10             	shr    $0x10,%esi
4647a6:	8d 4f 28             	lea    0x28(%edi),%ecx
4647a9:	56                   	push   %esi
4647aa:	6a 04                	push   $0x4
4647ac:	5a                   	pop    %edx
4647ad:	e8 bf b5 fb ff       	call   0x41fd71
4647b2:	8b 75 08             	mov    0x8(%ebp),%esi
4647b5:	83 c4 10             	add    $0x10,%esp
4647b8:	eb 0d                	jmp    0x4647c7
4647ba:	68 e4 a2 4b 00       	push   $0x4ba2e4
4647bf:	57                   	push   %edi
4647c0:	e8 08 e8 fb ff       	call   0x422fcd
4647c5:	59                   	pop    %ecx
4647c6:	59                   	pop    %ecx
4647c7:	68 c0 fa 48 00       	push   $0x48fac0
4647cc:	57                   	push   %edi
4647cd:	e8 fb e7 fb ff       	call   0x422fcd
4647d2:	56                   	push   %esi
4647d3:	57                   	push   %edi
4647d4:	e8 f4 e7 fb ff       	call   0x422fcd
4647d9:	83 c4 10             	add    $0x10,%esp
4647dc:	eb 09                	jmp    0x4647e7
4647de:	56                   	push   %esi
4647df:	57                   	push   %edi
4647e0:	e8 e8 e7 fb ff       	call   0x422fcd
4647e5:	59                   	pop    %ecx
4647e6:	59                   	pop    %ecx
4647e7:	68 f8 a2 4b 00       	push   $0x4ba2f8
4647ec:	56                   	push   %esi
4647ed:	e8 4b e9 fb ff       	call   0x42313d
4647f2:	59                   	pop    %ecx
4647f3:	59                   	pop    %ecx
4647f4:	85 c0                	test   %eax,%eax
4647f6:	75 2a                	jne    0x464822
4647f8:	6a 08                	push   $0x8
4647fa:	8d 47 20             	lea    0x20(%edi),%eax
4647fd:	50                   	push   %eax
4647fe:	53                   	push   %ebx
4647ff:	e8 ea fa fb ff       	call   0x4242ee
464804:	ff 75 fc             	push   -0x4(%ebp)
464807:	33 c0                	xor    %eax,%eax
464809:	66 89 43 10          	mov    %ax,0x10(%ebx)
46480d:	e8 5a c8 fb ff       	call   0x42106c
464812:	57                   	push   %edi
464813:	e8 54 c8 fb ff       	call   0x42106c
464818:	83 c4 14             	add    $0x14,%esp
46481b:	b0 01                	mov    $0x1,%al
46481d:	e9 81 00 00 00       	jmp    0x4648a3
464822:	8d 45 ec             	lea    -0x14(%ebp),%eax
464825:	50                   	push   %eax
464826:	8d 45 f8             	lea    -0x8(%ebp),%eax
464829:	50                   	push   %eax
46482a:	57                   	push   %edi
46482b:	ff 75 fc             	push   -0x4(%ebp)
46482e:	ff 15 74 f7 48 00    	call   *0x48f774
464834:	85 c0                	test   %eax,%eax
464836:	74 58                	je     0x464890
464838:	68 c0 fa 48 00       	push   $0x48fac0
46483d:	56                   	push   %esi
46483e:	e8 49 ef fb ff       	call   0x42378c
464843:	59                   	pop    %ecx
464844:	59                   	pop    %ecx
464845:	85 c0                	test   %eax,%eax
464847:	75 29                	jne    0x464872
464849:	8b 45 f8             	mov    -0x8(%ebp),%eax
46484c:	8b 50 08             	mov    0x8(%eax),%edx
46484f:	8b 48 0c             	mov    0xc(%eax),%ecx
464852:	0f b7 c1             	movzwl %cx,%eax
464855:	50                   	push   %eax
464856:	c1 e9 10             	shr    $0x10,%ecx
464859:	51                   	push   %ecx
46485a:	0f b7 c2             	movzwl %dx,%eax
46485d:	50                   	push   %eax
46485e:	c1 ea 10             	shr    $0x10,%edx
464861:	52                   	push   %edx
464862:	68 20 a3 4b 00       	push   $0x4ba320
464867:	53                   	push   %ebx
464868:	e8 6b f0 fb ff       	call   0x4238d8
46486d:	83 c4 18             	add    $0x18,%esp
464870:	eb 1a                	jmp    0x46488c
464872:	68 00 02 00 00       	push   $0x200
464877:	ff 75 f8             	push   -0x8(%ebp)
46487a:	53                   	push   %ebx
46487b:	e8 6e fa fb ff       	call   0x4242ee
464880:	83 c4 0c             	add    $0xc,%esp
464883:	33 c0                	xor    %eax,%eax
464885:	66 89 83 00 04 00 00 	mov    %ax,0x400(%ebx)
46488c:	c6 45 f4 01          	movb   $0x1,-0xc(%ebp)
464890:	ff 75 fc             	push   -0x4(%ebp)
464893:	e8 d4 c7 fb ff       	call   0x42106c
464898:	57                   	push   %edi
464899:	e8 ce c7 fb ff       	call   0x42106c
46489e:	8a 45 f4             	mov    -0xc(%ebp),%al
4648a1:	59                   	pop    %ecx
4648a2:	59                   	pop    %ecx
4648a3:	5f                   	pop    %edi
4648a4:	5e                   	pop    %esi
4648a5:	5b                   	pop    %ebx
4648a6:	8b e5                	mov    %ebp,%esp
4648a8:	5d                   	pop    %ebp
4648a9:	c3                   	ret
4648aa:	55                   	push   %ebp
4648ab:	8b ec                	mov    %esp,%ebp
4648ad:	51                   	push   %ecx
4648ae:	53                   	push   %ebx
4648af:	8b da                	mov    %edx,%ebx
4648b1:	3b 4d 08             	cmp    0x8(%ebp),%ecx
4648b4:	75 21                	jne    0x4648d7
4648b6:	56                   	push   %esi
4648b7:	e8 0a b6 fb ff       	call   0x41fec6
4648bc:	8b f0                	mov    %eax,%esi
4648be:	8d 45 fc             	lea    -0x4(%ebp),%eax
4648c1:	50                   	push   %eax
4648c2:	ff 75 08             	push   0x8(%ebp)
4648c5:	53                   	push   %ebx
4648c6:	56                   	push   %esi
4648c7:	ff 15 60 f3 48 00    	call   *0x48f360
4648cd:	56                   	push   %esi
4648ce:	e8 99 c7 fb ff       	call   0x42106c
4648d3:	59                   	pop    %ecx
4648d4:	5e                   	pop    %esi
4648d5:	eb 0f                	jmp    0x4648e6
4648d7:	8d 45 fc             	lea    -0x4(%ebp),%eax
4648da:	50                   	push   %eax
4648db:	ff 75 08             	push   0x8(%ebp)
4648de:	53                   	push   %ebx
4648df:	51                   	push   %ecx
4648e0:	ff 15 60 f3 48 00    	call   *0x48f360
4648e6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4648e9:	e8 b3 be fb ff       	call   0x4207a1
4648ee:	5b                   	pop    %ebx
4648ef:	8b e5                	mov    %ebp,%esp
4648f1:	5d                   	pop    %ebp
4648f2:	c3                   	ret
4648f3:	55                   	push   %ebp
4648f4:	8b ec                	mov    %esp,%ebp
4648f6:	81 ec 98 02 00 00    	sub    $0x298,%esp
4648fc:	8d 85 68 fd ff ff    	lea    -0x298(%ebp),%eax
464902:	56                   	push   %esi
464903:	57                   	push   %edi
464904:	50                   	push   %eax
464905:	68 01 01 00 00       	push   $0x101
46490a:	8b fa                	mov    %edx,%edi
46490c:	8b f1                	mov    %ecx,%esi
46490e:	ff 15 e8 f7 48 00    	call   *0x48f7e8
464914:	85 c0                	test   %eax,%eax
464916:	0f 85 9a 00 00 00    	jne    0x4649b6
46491c:	68 00 01 00 00       	push   $0x100
464921:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
464927:	50                   	push   %eax
464928:	ff 15 1c f8 48 00    	call   *0x48f81c
46492e:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
464934:	50                   	push   %eax
464935:	ff 15 18 f8 48 00    	call   *0x48f818
46493b:	85 c0                	test   %eax,%eax
46493d:	74 77                	je     0x4649b6
46493f:	8b 50 0c             	mov    0xc(%eax),%edx
464942:	33 c9                	xor    %ecx,%ecx
464944:	39 0a                	cmp    %ecx,(%edx)
464946:	74 0b                	je     0x464953
464948:	8b c2                	mov    %edx,%eax
46494a:	8d 40 04             	lea    0x4(%eax),%eax
46494d:	41                   	inc    %ecx
46494e:	83 38 00             	cmpl   $0x0,(%eax)
464951:	75 f7                	jne    0x46494a
464953:	3b f1                	cmp    %ecx,%esi
464955:	7e 0f                	jle    0x464966
464957:	68 44 a3 4b 00       	push   $0x4ba344
46495c:	57                   	push   %edi
46495d:	e8 9a e6 fb ff       	call   0x422ffc
464962:	59                   	pop    %ecx
464963:	59                   	pop    %ecx
464964:	eb 48                	jmp    0x4649ae
464966:	6a 04                	push   $0x4
464968:	ff 74 b2 fc          	push   -0x4(%edx,%esi,4)
46496c:	8d 45 fc             	lea    -0x4(%ebp),%eax
46496f:	50                   	push   %eax
464970:	e8 0b c7 fb ff       	call   0x421080
464975:	83 c4 0c             	add    $0xc,%esp
464978:	ff 75 fc             	push   -0x4(%ebp)
46497b:	ff 15 14 f8 48 00    	call   *0x48f814
464981:	50                   	push   %eax
464982:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
464988:	50                   	push   %eax
464989:	e8 e2 fb fb ff       	call   0x424570
46498e:	83 ca ff             	or     $0xffffffff,%edx
464991:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
464997:	e8 a2 0d 00 00       	call   0x46573e
46499c:	8b f0                	mov    %eax,%esi
46499e:	56                   	push   %esi
46499f:	57                   	push   %edi
4649a0:	e8 57 e6 fb ff       	call   0x422ffc
4649a5:	56                   	push   %esi
4649a6:	e8 c1 c6 fb ff       	call   0x42106c
4649ab:	83 c4 14             	add    $0x14,%esp
4649ae:	ff 15 c8 f7 48 00    	call   *0x48f7c8
4649b4:	eb 0d                	jmp    0x4649c3
4649b6:	68 10 f9 48 00       	push   $0x48f910
4649bb:	57                   	push   %edi
4649bc:	e8 3b e6 fb ff       	call   0x422ffc
4649c1:	59                   	pop    %ecx
4649c2:	59                   	pop    %ecx
4649c3:	5f                   	pop    %edi
4649c4:	5e                   	pop    %esi
4649c5:	8b e5                	mov    %ebp,%esp
4649c7:	5d                   	pop    %ebp
4649c8:	c3                   	ret
4649c9:	53                   	push   %ebx
4649ca:	56                   	push   %esi
4649cb:	8b f1                	mov    %ecx,%esi
4649cd:	33 db                	xor    %ebx,%ebx
4649cf:	57                   	push   %edi
4649d0:	8b fb                	mov    %ebx,%edi
4649d2:	66 39 1e             	cmp    %bx,(%esi)
4649d5:	74 19                	je     0x4649f0
4649d7:	8b c6                	mov    %esi,%eax
4649d9:	0f b7 00             	movzwl (%eax),%eax
4649dc:	50                   	push   %eax
4649dd:	e8 8a ee fb ff       	call   0x42386c
4649e2:	59                   	pop    %ecx
4649e3:	85 c0                	test   %eax,%eax
4649e5:	74 14                	je     0x4649fb
4649e7:	47                   	inc    %edi
4649e8:	8d 04 7e             	lea    (%esi,%edi,2),%eax
4649eb:	66 39 18             	cmp    %bx,(%eax)
4649ee:	75 e9                	jne    0x4649d9
4649f0:	56                   	push   %esi
4649f1:	e8 dd ed fb ff       	call   0x4237d3
4649f6:	59                   	pop    %ecx
4649f7:	5f                   	pop    %edi
4649f8:	5e                   	pop    %esi
4649f9:	5b                   	pop    %ebx
4649fa:	c3                   	ret
4649fb:	33 c0                	xor    %eax,%eax
4649fd:	eb f8                	jmp    0x4649f7
4649ff:	55                   	push   %ebp
464a00:	8b ec                	mov    %esp,%ebp
464a02:	81 ec 08 02 00 00    	sub    $0x208,%esp
464a08:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
464a0e:	56                   	push   %esi
464a0f:	50                   	push   %eax
464a10:	33 c0                	xor    %eax,%eax
464a12:	8b f2                	mov    %edx,%esi
464a14:	50                   	push   %eax
464a15:	50                   	push   %eax
464a16:	51                   	push   %ecx
464a17:	50                   	push   %eax
464a18:	ff 15 b0 f4 48 00    	call   *0x48f4b0
464a1e:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
464a24:	8b ce                	mov    %esi,%ecx
464a26:	50                   	push   %eax
464a27:	e8 00 33 fa ff       	call   0x407d2c
464a2c:	5e                   	pop    %esi
464a2d:	8b e5                	mov    %ebp,%esp
464a2f:	5d                   	pop    %ebp
464a30:	c3                   	ret
464a31:	55                   	push   %ebp
464a32:	8b ec                	mov    %esp,%ebp
464a34:	b8 00 00 01 00       	mov    $0x10000,%eax
464a39:	e8 52 d1 fc ff       	call   0x431b90
464a3e:	56                   	push   %esi
464a3f:	57                   	push   %edi
464a40:	68 ff 7f 00 00       	push   $0x7fff
464a45:	8d 85 00 00 ff ff    	lea    -0x10000(%ebp),%eax
464a4b:	8b fa                	mov    %edx,%edi
464a4d:	50                   	push   %eax
464a4e:	ff 31                	push   (%ecx)
464a50:	ff 15 10 f2 48 00    	call   *0x48f210
464a56:	8b f0                	mov    %eax,%esi
464a58:	8b cf                	mov    %edi,%ecx
464a5a:	8d 85 00 00 ff ff    	lea    -0x10000(%ebp),%eax
464a60:	50                   	push   %eax
464a61:	e8 c6 32 fa ff       	call   0x407d2c
464a66:	85 f6                	test   %esi,%esi
464a68:	5f                   	pop    %edi
464a69:	0f 95 c0             	setne  %al
464a6c:	5e                   	pop    %esi
464a6d:	8b e5                	mov    %ebp,%esp
464a6f:	5d                   	pop    %ebp
464a70:	c3                   	ret
464a71:	55                   	push   %ebp
464a72:	8b ec                	mov    %esp,%ebp
464a74:	83 ec 14             	sub    $0x14,%esp
464a77:	53                   	push   %ebx
464a78:	56                   	push   %esi
464a79:	89 4d f4             	mov    %ecx,-0xc(%ebp)
464a7c:	8b ca                	mov    %edx,%ecx
464a7e:	57                   	push   %edi
464a7f:	e8 42 b4 fb ff       	call   0x41fec6
464a84:	50                   	push   %eax
464a85:	8d 4d ec             	lea    -0x14(%ebp),%ecx
464a88:	e8 01 09 fa ff       	call   0x40538e
464a8d:	8b 5d 08             	mov    0x8(%ebp),%ebx
464a90:	33 c0                	xor    %eax,%eax
464a92:	8b 7d ec             	mov    -0x14(%ebp),%edi
464a95:	8b f0                	mov    %eax,%esi
464a97:	57                   	push   %edi
464a98:	89 45 fc             	mov    %eax,-0x4(%ebp)
464a9b:	89 43 04             	mov    %eax,0x4(%ebx)
464a9e:	89 03                	mov    %eax,(%ebx)
464aa0:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
464aa7:	e8 90 e3 fb ff       	call   0x422e3c
464aac:	59                   	pop    %ecx
464aad:	85 c0                	test   %eax,%eax
464aaf:	74 1d                	je     0x464ace
464ab1:	33 db                	xor    %ebx,%ebx
464ab3:	43                   	inc    %ebx
464ab4:	66 83 3c 77 0a       	cmpw   $0xa,(%edi,%esi,2)
464ab9:	75 01                	jne    0x464abc
464abb:	43                   	inc    %ebx
464abc:	57                   	push   %edi
464abd:	46                   	inc    %esi
464abe:	e8 79 e3 fb ff       	call   0x422e3c
464ac3:	59                   	pop    %ecx
464ac4:	3b f0                	cmp    %eax,%esi
464ac6:	72 ec                	jb     0x464ab4
464ac8:	89 5d f8             	mov    %ebx,-0x8(%ebp)
464acb:	8b 5d 08             	mov    0x8(%ebp),%ebx
464ace:	68 70 a4 4b 00       	push   $0x4ba470
464ad3:	57                   	push   %edi
464ad4:	e8 8f fb fb ff       	call   0x424668
464ad9:	8b f0                	mov    %eax,%esi
464adb:	59                   	pop    %ecx
464adc:	59                   	pop    %ecx
464add:	85 f6                	test   %esi,%esi
464adf:	74 36                	je     0x464b17
464ae1:	8b 7d fc             	mov    -0x4(%ebp),%edi
464ae4:	53                   	push   %ebx
464ae5:	56                   	push   %esi
464ae6:	e8 51 e3 fb ff       	call   0x422e3c
464aeb:	59                   	pop    %ecx
464aec:	50                   	push   %eax
464aed:	56                   	push   %esi
464aee:	ff 75 f4             	push   -0xc(%ebp)
464af1:	ff 15 cc f0 48 00    	call   *0x48f0cc
464af7:	39 3b                	cmp    %edi,(%ebx)
464af9:	7e 02                	jle    0x464afd
464afb:	8b 3b                	mov    (%ebx),%edi
464afd:	68 70 a4 4b 00       	push   $0x4ba470