465770:	89 06                	mov    %eax,(%esi)
465772:	8b 06                	mov    (%esi),%eax
465774:	83 38 2a             	cmpl   $0x2a,(%eax)
465777:	75 13                	jne    0x46578c
465779:	51                   	push   %ecx
46577a:	6a 3f                	push   $0x3f
46577c:	8b cb                	mov    %ebx,%ecx
46577e:	e8 2b f7 ff ff       	call   0x464eae
465783:	8b 4d 10             	mov    0x10(%ebp),%ecx
465786:	47                   	inc    %edi
465787:	3b 7d f8             	cmp    -0x8(%ebp),%edi
46578a:	75 c3                	jne    0x46574f
46578c:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46578f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
465792:	83 3b 00             	cmpl   $0x0,(%ebx)
465795:	75 06                	jne    0x46579d
465797:	85 c9                	test   %ecx,%ecx
465799:	74 02                	je     0x46579d
46579b:	89 0b                	mov    %ecx,(%ebx)
46579d:	5e                   	pop    %esi
46579e:	5b                   	pop    %ebx
46579f:	5f                   	pop    %edi
4657a0:	8b e5                	mov    %ebp,%esp
4657a2:	5d                   	pop    %ebp
4657a3:	c2 10 00             	ret    $0x10
4657a6:	8b ff                	mov    %edi,%edi
4657a8:	55                   	push   %ebp
4657a9:	8b ec                	mov    %esp,%ebp
4657ab:	83 ec 10             	sub    $0x10,%esp
4657ae:	8b 01                	mov    (%ecx),%eax
4657b0:	57                   	push   %edi
4657b1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4657b4:	8b 40 0c             	mov    0xc(%eax),%eax
4657b7:	c1 e8 0c             	shr    $0xc,%eax
4657ba:	33 ff                	xor    %edi,%edi
4657bc:	a8 01                	test   $0x1,%al
4657be:	74 14                	je     0x4657d4
4657c0:	8b 01                	mov    (%ecx),%eax
4657c2:	39 78 04             	cmp    %edi,0x4(%eax)
4657c5:	75 0d                	jne    0x4657d4
4657c7:	8b 4d 10             	mov    0x10(%ebp),%ecx
4657ca:	8b 45 0c             	mov    0xc(%ebp),%eax
4657cd:	01 01                	add    %eax,(%ecx)
4657cf:	e9 84 00 00 00       	jmp    0x465858
4657d4:	53                   	push   %ebx
4657d5:	56                   	push   %esi
4657d6:	8b 75 14             	mov    0x14(%ebp),%esi
4657d9:	39 3e                	cmp    %edi,(%esi)
4657db:	75 07                	jne    0x4657e4
4657dd:	e8 4d 76 fe ff       	call   0x44ce2f
4657e2:	89 06                	mov    %eax,(%esi)
4657e4:	8b 1e                	mov    (%esi),%ebx
4657e6:	8b 45 0c             	mov    0xc(%ebp),%eax
4657e9:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4657ec:	8b 0b                	mov    (%ebx),%ecx
4657ee:	89 3b                	mov    %edi,(%ebx)
4657f0:	8b 7d 08             	mov    0x8(%ebp),%edi
4657f3:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4657f6:	8d 04 47             	lea    (%edi,%eax,2),%eax
4657f9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4657fc:	3b f8                	cmp    %eax,%edi
4657fe:	74 4b                	je     0x46584b
465800:	8b 5d fc             	mov    -0x4(%ebp),%ebx
465803:	8b 4d 10             	mov    0x10(%ebp),%ecx
465806:	0f b7 07             	movzwl (%edi),%eax
465809:	51                   	push   %ecx
46580a:	50                   	push   %eax
46580b:	8b cb                	mov    %ebx,%ecx
46580d:	e8 d9 f6 ff ff       	call   0x464eeb
465812:	8b 4d 10             	mov    0x10(%ebp),%ecx
465815:	83 39 ff             	cmpl   $0xffffffff,(%ecx)
465818:	75 23                	jne    0x46583d
46581a:	83 3e 00             	cmpl   $0x0,(%esi)
46581d:	75 0a                	jne    0x465829
46581f:	e8 0b 76 fe ff       	call   0x44ce2f
465824:	8b 4d 10             	mov    0x10(%ebp),%ecx
465827:	89 06                	mov    %eax,(%esi)
465829:	8b 06                	mov    (%esi),%eax
46582b:	83 38 2a             	cmpl   $0x2a,(%eax)
46582e:	75 15                	jne    0x465845
465830:	51                   	push   %ecx
465831:	6a 3f                	push   $0x3f
465833:	8b cb                	mov    %ebx,%ecx
465835:	e8 b1 f6 ff ff       	call   0x464eeb
46583a:	8b 4d 10             	mov    0x10(%ebp),%ecx
46583d:	83 c7 02             	add    $0x2,%edi
465840:	3b 7d f8             	cmp    -0x8(%ebp),%edi
465843:	75 c1                	jne    0x465806
465845:	8b 5d f4             	mov    -0xc(%ebp),%ebx
465848:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46584b:	83 3b 00             	cmpl   $0x0,(%ebx)
46584e:	75 06                	jne    0x465856
465850:	85 c9                	test   %ecx,%ecx
465852:	74 02                	je     0x465856
465854:	89 0b                	mov    %ecx,(%ebx)
465856:	5e                   	pop    %esi
465857:	5b                   	pop    %ebx
465858:	5f                   	pop    %edi
465859:	8b e5                	mov    %ebp,%esp
46585b:	5d                   	pop    %ebp
46585c:	c2 10 00             	ret    $0x10
46585f:	8b ff                	mov    %edi,%edi
465861:	55                   	push   %ebp
465862:	8b ec                	mov    %esp,%ebp
465864:	53                   	push   %ebx
465865:	57                   	push   %edi
465866:	8b 7d 0c             	mov    0xc(%ebp),%edi
465869:	8b d9                	mov    %ecx,%ebx
46586b:	85 ff                	test   %edi,%edi
46586d:	74 51                	je     0x4658c0
46586f:	8b 03                	mov    (%ebx),%eax
465871:	56                   	push   %esi
465872:	8b 70 04             	mov    0x4(%eax),%esi
465875:	39 70 08             	cmp    %esi,0x8(%eax)
465878:	75 0b                	jne    0x465885
46587a:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
46587e:	8b 45 10             	mov    0x10(%ebp),%eax
465881:	74 35                	je     0x4658b8
465883:	eb 2b                	jmp    0x4658b0
465885:	2b 70 08             	sub    0x8(%eax),%esi
465888:	3b f7                	cmp    %edi,%esi
46588a:	72 02                	jb     0x46588e
46588c:	8b f7                	mov    %edi,%esi
46588e:	56                   	push   %esi
46588f:	ff 75 08             	push   0x8(%ebp)
465892:	ff 30                	push   (%eax)
465894:	e8 c7 da fd ff       	call   0x443360
465899:	8b 03                	mov    (%ebx),%eax
46589b:	83 c4 0c             	add    $0xc,%esp
46589e:	01 30                	add    %esi,(%eax)
4658a0:	8b 03                	mov    (%ebx),%eax
4658a2:	01 70 08             	add    %esi,0x8(%eax)
4658a5:	8b 03                	mov    (%ebx),%eax
4658a7:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
4658ab:	8b 45 10             	mov    0x10(%ebp),%eax
4658ae:	74 04                	je     0x4658b4
4658b0:	01 38                	add    %edi,(%eax)
4658b2:	eb 0b                	jmp    0x4658bf
4658b4:	3b f7                	cmp    %edi,%esi
4658b6:	74 05                	je     0x4658bd
4658b8:	83 08 ff             	orl    $0xffffffff,(%eax)
4658bb:	eb 02                	jmp    0x4658bf
4658bd:	01 30                	add    %esi,(%eax)
4658bf:	5e                   	pop    %esi
4658c0:	5f                   	pop    %edi
4658c1:	5b                   	pop    %ebx
4658c2:	5d                   	pop    %ebp
4658c3:	c2 10 00             	ret    $0x10
4658c6:	8b ff                	mov    %edi,%edi
4658c8:	55                   	push   %ebp
4658c9:	8b ec                	mov    %esp,%ebp
4658cb:	51                   	push   %ecx
4658cc:	53                   	push   %ebx
4658cd:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4658d0:	8b c1                	mov    %ecx,%eax
4658d2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4658d5:	85 db                	test   %ebx,%ebx
4658d7:	74 59                	je     0x465932
4658d9:	8b 00                	mov    (%eax),%eax
4658db:	57                   	push   %edi
4658dc:	8b 78 04             	mov    0x4(%eax),%edi
4658df:	39 78 08             	cmp    %edi,0x8(%eax)
4658e2:	75 0b                	jne    0x4658ef
4658e4:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
4658e8:	8b 45 10             	mov    0x10(%ebp),%eax
4658eb:	74 3d                	je     0x46592a
4658ed:	eb 33                	jmp    0x465922
4658ef:	2b 78 08             	sub    0x8(%eax),%edi
4658f2:	3b fb                	cmp    %ebx,%edi
4658f4:	72 02                	jb     0x4658f8
4658f6:	8b fb                	mov    %ebx,%edi
4658f8:	56                   	push   %esi
4658f9:	8d 34 3f             	lea    (%edi,%edi,1),%esi
4658fc:	56                   	push   %esi
4658fd:	ff 75 08             	push   0x8(%ebp)
465900:	ff 30                	push   (%eax)
465902:	e8 59 da fd ff       	call   0x443360
465907:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46590a:	83 c4 0c             	add    $0xc,%esp
46590d:	8b 01                	mov    (%ecx),%eax
46590f:	01 30                	add    %esi,(%eax)
465911:	8b 01                	mov    (%ecx),%eax
465913:	5e                   	pop    %esi
465914:	01 78 08             	add    %edi,0x8(%eax)
465917:	8b 01                	mov    (%ecx),%eax
465919:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
46591d:	8b 45 10             	mov    0x10(%ebp),%eax
465920:	74 04                	je     0x465926
465922:	01 18                	add    %ebx,(%eax)
465924:	eb 0b                	jmp    0x465931
465926:	3b fb                	cmp    %ebx,%edi
465928:	74 05                	je     0x46592f
46592a:	83 08 ff             	orl    $0xffffffff,(%eax)
46592d:	eb 02                	jmp    0x465931
46592f:	01 38                	add    %edi,(%eax)
465931:	5f                   	pop    %edi
465932:	5b                   	pop    %ebx
465933:	8b e5                	mov    %ebp,%esp
465935:	5d                   	pop    %ebp
465936:	c2 10 00             	ret    $0x10
465939:	8b ff                	mov    %edi,%edi
46593b:	55                   	push   %ebp
46593c:	8b ec                	mov    %esp,%ebp
46593e:	8b 45 0c             	mov    0xc(%ebp),%eax
465941:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
465945:	8b 00                	mov    (%eax),%eax
465947:	8b 00                	mov    (%eax),%eax
465949:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
46594d:	25 00 80 00 00       	and    $0x8000,%eax
465952:	5d                   	pop    %ebp
465953:	c3                   	ret
465954:	8b ff                	mov    %edi,%edi
465956:	55                   	push   %ebp
465957:	8b ec                	mov    %esp,%ebp
465959:	83 ec 2c             	sub    $0x2c,%esp
46595c:	8b 45 1c             	mov    0x1c(%ebp),%eax
46595f:	8b 55 10             	mov    0x10(%ebp),%edx
465962:	8b 4d 14             	mov    0x14(%ebp),%ecx
465965:	89 45 f0             	mov    %eax,-0x10(%ebp)
465968:	8b 45 18             	mov    0x18(%ebp),%eax
46596b:	89 45 f8             	mov    %eax,-0x8(%ebp)
46596e:	8b 45 08             	mov    0x8(%ebp),%eax
465971:	89 45 e8             	mov    %eax,-0x18(%ebp)
465974:	8b 45 0c             	mov    0xc(%ebp),%eax
465977:	89 4d f4             	mov    %ecx,-0xc(%ebp)
46597a:	89 55 fc             	mov    %edx,-0x4(%ebp)
46597d:	89 45 ec             	mov    %eax,-0x14(%ebp)
465980:	85 d2                	test   %edx,%edx
465982:	75 15                	jne    0x465999
465984:	e8 a6 74 fe ff       	call   0x44ce2f
465989:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
46598f:	e8 42 73 fe ff       	call   0x44ccd6
465994:	83 c8 ff             	or     $0xffffffff,%eax
465997:	eb 2e                	jmp    0x4659c7
465999:	85 c9                	test   %ecx,%ecx
46599b:	74 e7                	je     0x465984
46599d:	8d 45 fc             	lea    -0x4(%ebp),%eax
4659a0:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4659a3:	8d 45 f8             	lea    -0x8(%ebp),%eax
4659a6:	89 45 d8             	mov    %eax,-0x28(%ebp)
4659a9:	8d 45 e8             	lea    -0x18(%ebp),%eax
4659ac:	89 45 dc             	mov    %eax,-0x24(%ebp)
4659af:	8d 45 f4             	lea    -0xc(%ebp),%eax
4659b2:	89 45 e0             	mov    %eax,-0x20(%ebp)
4659b5:	8d 45 f0             	lea    -0x10(%ebp),%eax
4659b8:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4659bb:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4659be:	50                   	push   %eax
4659bf:	52                   	push   %edx
4659c0:	e8 e6 f0 fe ff       	call   0x454aab
4659c5:	59                   	pop    %ecx
4659c6:	59                   	pop    %ecx
4659c7:	8b e5                	mov    %ebp,%esp
4659c9:	5d                   	pop    %ebp
4659ca:	c3                   	ret
4659cb:	8b ff                	mov    %edi,%edi
4659cd:	55                   	push   %ebp
4659ce:	8b ec                	mov    %esp,%ebp
4659d0:	83 ec 2c             	sub    $0x2c,%esp
4659d3:	8b 45 1c             	mov    0x1c(%ebp),%eax
4659d6:	8b 55 10             	mov    0x10(%ebp),%edx
4659d9:	8b 4d 14             	mov    0x14(%ebp),%ecx
4659dc:	89 45 f0             	mov    %eax,-0x10(%ebp)
4659df:	8b 45 18             	mov    0x18(%ebp),%eax
4659e2:	89 45 f8             	mov    %eax,-0x8(%ebp)
4659e5:	8b 45 08             	mov    0x8(%ebp),%eax
4659e8:	89 45 e8             	mov    %eax,-0x18(%ebp)
4659eb:	8b 45 0c             	mov    0xc(%ebp),%eax
4659ee:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4659f1:	89 55 fc             	mov    %edx,-0x4(%ebp)
4659f4:	89 45 ec             	mov    %eax,-0x14(%ebp)
4659f7:	85 d2                	test   %edx,%edx
4659f9:	75 15                	jne    0x465a10
4659fb:	e8 2f 74 fe ff       	call   0x44ce2f
465a00:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
465a06:	e8 cb 72 fe ff       	call   0x44ccd6
465a0b:	83 c8 ff             	or     $0xffffffff,%eax
465a0e:	eb 2e                	jmp    0x465a3e
465a10:	85 c9                	test   %ecx,%ecx
465a12:	74 e7                	je     0x4659fb
465a14:	8d 45 fc             	lea    -0x4(%ebp),%eax
465a17:	89 45 d4             	mov    %eax,-0x2c(%ebp)
465a1a:	8d 45 f8             	lea    -0x8(%ebp),%eax
465a1d:	89 45 d8             	mov    %eax,-0x28(%ebp)
465a20:	8d 45 e8             	lea    -0x18(%ebp),%eax
465a23:	89 45 dc             	mov    %eax,-0x24(%ebp)
465a26:	8d 45 f4             	lea    -0xc(%ebp),%eax
465a29:	89 45 e0             	mov    %eax,-0x20(%ebp)
465a2c:	8d 45 f0             	lea    -0x10(%ebp),%eax
465a2f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
465a32:	8d 45 d4             	lea    -0x2c(%ebp),%eax
465a35:	50                   	push   %eax
465a36:	52                   	push   %edx
465a37:	e8 97 f0 fe ff       	call   0x454ad3
465a3c:	59                   	pop    %ecx
465a3d:	59                   	pop    %ecx
465a3e:	8b e5                	mov    %ebp,%esp
465a40:	5d                   	pop    %ebp
465a41:	c3                   	ret
465a42:	8b ff                	mov    %edi,%edi
465a44:	55                   	push   %ebp
465a45:	8b ec                	mov    %esp,%ebp
465a47:	83 ec 2c             	sub    $0x2c,%esp
465a4a:	8b 45 1c             	mov    0x1c(%ebp),%eax
465a4d:	8b 55 10             	mov    0x10(%ebp),%edx
465a50:	8b 4d 14             	mov    0x14(%ebp),%ecx
465a53:	89 45 f0             	mov    %eax,-0x10(%ebp)
465a56:	8b 45 18             	mov    0x18(%ebp),%eax
465a59:	89 45 f8             	mov    %eax,-0x8(%ebp)
465a5c:	8b 45 08             	mov    0x8(%ebp),%eax
465a5f:	89 45 e8             	mov    %eax,-0x18(%ebp)
465a62:	8b 45 0c             	mov    0xc(%ebp),%eax
465a65:	89 4d f4             	mov    %ecx,-0xc(%ebp)
465a68:	89 55 fc             	mov    %edx,-0x4(%ebp)
465a6b:	89 45 ec             	mov    %eax,-0x14(%ebp)
465a6e:	85 d2                	test   %edx,%edx
465a70:	75 15                	jne    0x465a87
465a72:	e8 b8 73 fe ff       	call   0x44ce2f
465a77:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
465a7d:	e8 54 72 fe ff       	call   0x44ccd6
465a82:	83 c8 ff             	or     $0xffffffff,%eax
465a85:	eb 2e                	jmp    0x465ab5
465a87:	85 c9                	test   %ecx,%ecx
465a89:	74 e7                	je     0x465a72
465a8b:	8d 45 fc             	lea    -0x4(%ebp),%eax
465a8e:	89 45 d4             	mov    %eax,-0x2c(%ebp)
465a91:	8d 45 f8             	lea    -0x8(%ebp),%eax
465a94:	89 45 d8             	mov    %eax,-0x28(%ebp)
465a97:	8d 45 e8             	lea    -0x18(%ebp),%eax
465a9a:	89 45 dc             	mov    %eax,-0x24(%ebp)
465a9d:	8d 45 f4             	lea    -0xc(%ebp),%eax
465aa0:	89 45 e0             	mov    %eax,-0x20(%ebp)
465aa3:	8d 45 f0             	lea    -0x10(%ebp),%eax
465aa6:	89 45 e4             	mov    %eax,-0x1c(%ebp)
465aa9:	8d 45 d4             	lea    -0x2c(%ebp),%eax
465aac:	50                   	push   %eax
465aad:	52                   	push   %edx
465aae:	e8 d0 ef fe ff       	call   0x454a83
465ab3:	59                   	pop    %ecx
465ab4:	59                   	pop    %ecx
465ab5:	8b e5                	mov    %ebp,%esp
465ab7:	5d                   	pop    %ebp
465ab8:	c3                   	ret
465ab9:	8b ff                	mov    %edi,%edi
465abb:	55                   	push   %ebp
465abc:	8b ec                	mov    %esp,%ebp
465abe:	83 ec 2c             	sub    $0x2c,%esp
465ac1:	8b 45 1c             	mov    0x1c(%ebp),%eax
465ac4:	8b 55 10             	mov    0x10(%ebp),%edx
465ac7:	8b 4d 14             	mov    0x14(%ebp),%ecx