48083b:	b8 9d 00 00 00       	mov    $0x9d,%eax
480840:	dd d8                	fstp   %st(0)
480842:	66 3b c8             	cmp    %ax,%cx
480845:	0f 84 c7 79 f8 ff    	je     0x408212
48084b:	8b 45 0c             	mov    0xc(%ebp),%eax
48084e:	c7 00 0b 00 00 00    	movl   $0xb,(%eax)
480854:	8b 45 08             	mov    0x8(%ebp),%eax
480857:	89 38                	mov    %edi,(%eax)
480859:	33 c0                	xor    %eax,%eax
48085b:	e9 d2 71 f8 ff       	jmp    0x407a32
480860:	83 fe 01             	cmp    $0x1,%esi
480863:	75 0d                	jne    0x480872
480865:	83 f9 ff             	cmp    $0xffffffff,%ecx
480868:	75 08                	jne    0x480872
48086a:	83 c0 64             	add    $0x64,%eax
48086d:	e9 89 7c f8 ff       	jmp    0x4084fb
480872:	83 c0 68             	add    $0x68,%eax
480875:	66 89 02             	mov    %ax,(%edx)
480878:	8d 41 01             	lea    0x1(%ecx),%eax
48087b:	f7 d8                	neg    %eax
48087d:	1b c0                	sbb    %eax,%eax
48087f:	23 c1                	and    %ecx,%eax
480881:	66 89 72 02          	mov    %si,0x2(%edx)
480885:	66 89 42 04          	mov    %ax,0x4(%edx)
480889:	89 45 c4             	mov    %eax,-0x3c(%ebp)
48088c:	83 c2 06             	add    $0x6,%edx
48088f:	e9 6d 7c f8 ff       	jmp    0x408501
480894:	8b c1                	mov    %ecx,%eax
480896:	dd d8                	fstp   %st(0)
480898:	83 e8 1e             	sub    $0x1e,%eax
48089b:	74 18                	je     0x4808b5
48089d:	48                   	dec    %eax
48089e:	74 0e                	je     0x4808ae
4808a0:	48                   	dec    %eax
4808a1:	74 04                	je     0x4808a7
4808a3:	33 f6                	xor    %esi,%esi
4808a5:	eb 13                	jmp    0x4808ba
4808a7:	be 27 00 00 00       	mov    $0x27,%esi
4808ac:	eb 0c                	jmp    0x4808ba
4808ae:	be 1a 00 00 00       	mov    $0x1a,%esi
4808b3:	eb 05                	jmp    0x4808ba
4808b5:	be 0d 00 00 00       	mov    $0xd,%esi
4808ba:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
4808be:	74 6b                	je     0x48092b
4808c0:	66 8b 42 fe          	mov    -0x2(%edx),%ax
4808c4:	8d 5a fe             	lea    -0x2(%edx),%ebx
4808c7:	c7 45 bc 00 fc 00 00 	movl   $0xfc00,-0x44(%ebp)
4808ce:	66 23 45 bc          	and    -0x44(%ebp),%ax
4808d2:	c7 45 bc 00 dc 00 00 	movl   $0xdc00,-0x44(%ebp)
4808d9:	89 5d b0             	mov    %ebx,-0x50(%ebp)
4808dc:	66 3b 45 bc          	cmp    -0x44(%ebp),%ax
4808e0:	75 49                	jne    0x48092b
4808e2:	66 8b 03             	mov    (%ebx),%ax
4808e5:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
4808ea:	66 23 c1             	and    %cx,%ax
4808ed:	b9 00 dc 00 00       	mov    $0xdc00,%ecx
4808f2:	66 3b c1             	cmp    %cx,%ax
4808f5:	75 06                	jne    0x4808fd
4808f7:	83 eb 02             	sub    $0x2,%ebx
4808fa:	89 5d b0             	mov    %ebx,-0x50(%ebp)
4808fd:	8b 4d b0             	mov    -0x50(%ebp),%ecx
480900:	8b da                	mov    %edx,%ebx
480902:	2b d9                	sub    %ecx,%ebx
480904:	d1 fb                	sar    $1,%ebx
480906:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
480909:	50                   	push   %eax
48090a:	51                   	push   %ecx
48090b:	8d 85 bc fe ff ff    	lea    -0x144(%ebp),%eax
480911:	50                   	push   %eax
480912:	e8 69 e5 f9 ff       	call   0x41ee80
480917:	8b 7d fc             	mov    -0x4(%ebp),%edi
48091a:	8b 55 f8             	mov    -0x8(%ebp),%edx
48091d:	83 c4 0c             	add    $0xc,%esp
480920:	81 cb 00 00 00 10    	or     $0x10000000,%ebx
480926:	e9 4d 78 f8 ff       	jmp    0x408178
48092b:	0f b7 5a fe          	movzwl -0x2(%edx),%ebx
48092f:	83 f9 1e             	cmp    $0x1e,%ecx
480932:	0f 87 40 78 f8 ff    	ja     0x408178
480938:	83 7d ac 01          	cmpl   $0x1,-0x54(%ebp)
48093c:	0f 8e 36 78 f8 ff    	jle    0x408178
480942:	8b 45 28             	mov    0x28(%ebp),%eax
480945:	89 5d a0             	mov    %ebx,-0x60(%ebp)
480948:	8b 40 68             	mov    0x68(%eax),%eax
48094b:	0b 85 70 ff ff ff    	or     -0x90(%ebp),%eax
480951:	89 45 a8             	mov    %eax,-0x58(%ebp)
480954:	e9 1f 78 f8 ff       	jmp    0x408178
480959:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
48095d:	89 45 e8             	mov    %eax,-0x18(%ebp)
480960:	0f b7 41 04          	movzwl 0x4(%ecx),%eax
480964:	89 45 ec             	mov    %eax,-0x14(%ebp)
480967:	e9 31 78 f8 ff       	jmp    0x40819d
48096c:	8b 75 e8             	mov    -0x18(%ebp),%esi
48096f:	8b 7d ec             	mov    -0x14(%ebp),%edi
480972:	83 f9 01             	cmp    $0x1,%ecx
480975:	75 14                	jne    0x48098b
480977:	8b 4d e0             	mov    -0x20(%ebp),%ecx
48097a:	8d 42 25             	lea    0x25(%edx),%eax
48097d:	8d 51 02             	lea    0x2(%ecx),%edx
480980:	66 89 01             	mov    %ax,(%ecx)
480983:	89 55 f8             	mov    %edx,-0x8(%ebp)
480986:	e9 54 78 f8 ff       	jmp    0x4081df
48098b:	8d 42 27             	lea    0x27(%edx),%eax
48098e:	8b 55 e0             	mov    -0x20(%ebp),%edx
480991:	83 c2 04             	add    $0x4,%edx
480994:	66 89 42 fc          	mov    %ax,-0x4(%edx)
480998:	66 89 4a fe          	mov    %cx,-0x2(%edx)
48099c:	89 55 f8             	mov    %edx,-0x8(%ebp)
48099f:	e9 3b 78 f8 ff       	jmp    0x4081df
4809a4:	83 f8 01             	cmp    $0x1,%eax
4809a7:	75 38                	jne    0x4809e1
4809a9:	8b 75 c4             	mov    -0x3c(%ebp),%esi
4809ac:	83 fe ff             	cmp    $0xffffffff,%esi
4809af:	75 08                	jne    0x4809b9
4809b1:	8d 42 23             	lea    0x23(%edx),%eax
4809b4:	e9 14 78 f8 ff       	jmp    0x4081cd
4809b9:	8b d1                	mov    %ecx,%edx
4809bb:	89 55 f8             	mov    %edx,-0x8(%ebp)
4809be:	83 fe 01             	cmp    $0x1,%esi
4809c1:	0f 84 4b 78 f8 ff    	je     0x408212
4809c7:	8b 45 f0             	mov    -0x10(%ebp),%eax
4809ca:	83 c0 27             	add    $0x27,%eax
4809cd:	66 89 01             	mov    %ax,(%ecx)
4809d0:	8d 51 02             	lea    0x2(%ecx),%edx
4809d3:	8d 46 ff             	lea    -0x1(%esi),%eax
4809d6:	66 89 02             	mov    %ax,(%edx)
4809d9:	83 c2 02             	add    $0x2,%edx
4809dc:	e9 f5 77 f8 ff       	jmp    0x4081d6
4809e1:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4809e4:	8d 46 29             	lea    0x29(%esi),%eax
4809e7:	66 89 01             	mov    %ax,(%ecx)
4809ea:	8b 45 ac             	mov    -0x54(%ebp),%eax
4809ed:	8d 51 02             	lea    0x2(%ecx),%edx
4809f0:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
4809f3:	66 89 02             	mov    %ax,(%edx)
4809f6:	83 c2 02             	add    $0x2,%edx
4809f9:	89 55 f8             	mov    %edx,-0x8(%ebp)
4809fc:	85 c9                	test   %ecx,%ecx
4809fe:	79 75                	jns    0x480a75
480a00:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
480a04:	74 41                	je     0x480a47
480a06:	f7 c3 00 00 00 10    	test   $0x10000000,%ebx
480a0c:	74 39                	je     0x480a47
480a0e:	8b f3                	mov    %ebx,%esi
480a10:	83 e6 07             	and    $0x7,%esi
480a13:	8d 04 36             	lea    (%esi,%esi,1),%eax
480a16:	50                   	push   %eax
480a17:	8d 85 bc fe ff ff    	lea    -0x144(%ebp),%eax
480a1d:	50                   	push   %eax
480a1e:	52                   	push   %edx
480a1f:	e8 5c e4 f9 ff       	call   0x41ee80
480a24:	8b 55 f8             	mov    -0x8(%ebp),%edx
480a27:	83 c4 0c             	add    $0xc,%esp
480a2a:	8d 14 72             	lea    (%edx,%esi,2),%edx
480a2d:	8b 75 e8             	mov    -0x18(%ebp),%esi
480a30:	8b 45 f0             	mov    -0x10(%ebp),%eax
480a33:	8b 7d ec             	mov    -0x14(%ebp),%edi
480a36:	83 c0 21             	add    $0x21,%eax
480a39:	66 89 02             	mov    %ax,(%edx)
480a3c:	83 c2 02             	add    $0x2,%edx
480a3f:	89 55 f8             	mov    %edx,-0x8(%ebp)
480a42:	e9 98 77 f8 ff       	jmp    0x4081df
480a47:	8b 75 e8             	mov    -0x18(%ebp),%esi
480a4a:	66 89 1a             	mov    %bx,(%edx)
480a4d:	83 c2 02             	add    $0x2,%edx
480a50:	85 f6                	test   %esi,%esi
480a52:	78 dc                	js     0x480a30
480a54:	8b 7d ec             	mov    -0x14(%ebp),%edi
480a57:	8b 45 f0             	mov    -0x10(%ebp),%eax
480a5a:	66 89 32             	mov    %si,(%edx)
480a5d:	66 89 7a 02          	mov    %di,0x2(%edx)
480a61:	83 c2 04             	add    $0x4,%edx
480a64:	83 c0 21             	add    $0x21,%eax
480a67:	66 89 02             	mov    %ax,(%edx)
480a6a:	83 c2 02             	add    $0x2,%edx
480a6d:	89 55 f8             	mov    %edx,-0x8(%ebp)
480a70:	e9 6a 77 f8 ff       	jmp    0x4081df
480a75:	3b c8                	cmp    %eax,%ecx
480a77:	0f 84 5c 77 f8 ff    	je     0x4081d9
480a7d:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
480a81:	74 2f                	je     0x480ab2
480a83:	f7 c3 00 00 00 10    	test   $0x10000000,%ebx
480a89:	74 27                	je     0x480ab2
480a8b:	8b f3                	mov    %ebx,%esi
480a8d:	83 e6 07             	and    $0x7,%esi
480a90:	8d 04 36             	lea    (%esi,%esi,1),%eax
480a93:	50                   	push   %eax
480a94:	8d 85 bc fe ff ff    	lea    -0x144(%ebp),%eax
480a9a:	50                   	push   %eax
480a9b:	52                   	push   %edx
480a9c:	e8 df e3 f9 ff       	call   0x41ee80
480aa1:	8b 55 f8             	mov    -0x8(%ebp),%edx
480aa4:	8b 45 ac             	mov    -0x54(%ebp),%eax
480aa7:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
480aaa:	83 c4 0c             	add    $0xc,%esp
480aad:	8d 14 72             	lea    (%edx,%esi,2),%edx
480ab0:	eb 06                	jmp    0x480ab8
480ab2:	66 89 1a             	mov    %bx,(%edx)
480ab5:	83 c2 02             	add    $0x2,%edx
480ab8:	8b 75 e8             	mov    -0x18(%ebp),%esi
480abb:	8b 7d ec             	mov    -0x14(%ebp),%edi
480abe:	85 f6                	test   %esi,%esi
480ac0:	78 0a                	js     0x480acc
480ac2:	66 89 32             	mov    %si,(%edx)
480ac5:	66 89 7a 02          	mov    %di,0x2(%edx)
480ac9:	83 c2 04             	add    $0x4,%edx
480acc:	2b c8                	sub    %eax,%ecx
480ace:	8b 45 f0             	mov    -0x10(%ebp),%eax
480ad1:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
480ad4:	83 f9 01             	cmp    $0x1,%ecx
480ad7:	75 11                	jne    0x480aea
480ad9:	83 c0 25             	add    $0x25,%eax
480adc:	66 89 02             	mov    %ax,(%edx)
480adf:	83 c2 02             	add    $0x2,%edx
480ae2:	89 55 f8             	mov    %edx,-0x8(%ebp)
480ae5:	e9 f5 76 f8 ff       	jmp    0x4081df
480aea:	83 c0 27             	add    $0x27,%eax
480aed:	66 89 02             	mov    %ax,(%edx)
480af0:	66 89 4a 02          	mov    %cx,0x2(%edx)
480af4:	83 c2 04             	add    $0x4,%edx
480af7:	89 55 f8             	mov    %edx,-0x8(%ebp)
480afa:	e9 e0 76 f8 ff       	jmp    0x4081df
480aff:	83 e3 07             	and    $0x7,%ebx
480b02:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
480b05:	50                   	push   %eax
480b06:	8d 85 bc fe ff ff    	lea    -0x144(%ebp),%eax
480b0c:	50                   	push   %eax
480b0d:	52                   	push   %edx
480b0e:	e8 6d e3 f9 ff       	call   0x41ee80
480b13:	8b 55 f8             	mov    -0x8(%ebp),%edx
480b16:	83 c4 0c             	add    $0xc,%esp
480b19:	8d 14 5a             	lea    (%edx,%ebx,2),%edx
480b1c:	e9 d6 76 f8 ff       	jmp    0x4081f7
480b21:	66 89 32             	mov    %si,(%edx)
480b24:	66 89 7a 02          	mov    %di,0x2(%edx)
480b28:	83 c2 04             	add    $0x4,%edx
480b2b:	89 55 f8             	mov    %edx,-0x8(%ebp)
480b2e:	e9 d2 76 f8 ff       	jmp    0x408205
480b33:	8b 45 b4             	mov    -0x4c(%ebp),%eax
480b36:	0f b7 08             	movzwl (%eax),%ecx
480b39:	8d 41 e3             	lea    -0x1d(%ecx),%eax
480b3c:	83 f8 53             	cmp    $0x53,%eax
480b3f:	0f 87 84 00 00 00    	ja     0x480bc9
480b45:	0f b6 80 97 23 48 00 	movzbl 0x482397(%eax),%eax
480b4c:	ff 24 85 83 23 48 00 	jmp    *0x482383(,%eax,4)
480b53:	8b 45 b4             	mov    -0x4c(%ebp),%eax
480b56:	0f b7 40 04          	movzwl 0x4(%eax),%eax
480b5a:	83 f8 10             	cmp    $0x10,%eax
480b5d:	74 12                	je     0x480b71
480b5f:	83 f8 0f             	cmp    $0xf,%eax
480b62:	74 0d                	je     0x480b71
480b64:	0f b6 89 60 e5 49 00 	movzbl 0x49e560(%ecx),%ecx
480b6b:	33 c0                	xor    %eax,%eax
480b6d:	03 c8                	add    %eax,%ecx
480b6f:	eb 4f                	jmp    0x480bc0
480b71:	0f b6 89 60 e5 49 00 	movzbl 0x49e560(%ecx),%ecx
480b78:	b8 02 00 00 00       	mov    $0x2,%eax
480b7d:	03 c8                	add    %eax,%ecx
480b7f:	eb 3f                	jmp    0x480bc0
480b81:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
480b85:	0f b6 81 60 e5 49 00 	movzbl 0x49e560(%ecx),%eax
480b8c:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
480b8f:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
480b92:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
480b95:	74 32                	je     0x480bc9
480b97:	66 8b 41 fe          	mov    -0x2(%ecx),%ax
480b9b:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
480ba0:	66 23 c1             	and    %cx,%ax
480ba3:	b9 00 d8 00 00       	mov    $0xd800,%ecx
480ba8:	66 3b c1             	cmp    %cx,%ax
480bab:	75 1c                	jne    0x480bc9
480bad:	83 45 b4 02          	addl   $0x2,-0x4c(%ebp)
480bb1:	eb 16                	jmp    0x480bc9
480bb3:	83 45 b4 22          	addl   $0x22,-0x4c(%ebp)
480bb7:	eb 10                	jmp    0x480bc9
480bb9:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
480bbc:	0f b7 49 02          	movzwl 0x2(%ecx),%ecx
480bc0:	8b 45 b4             	mov    -0x4c(%ebp),%eax
480bc3:	8d 04 48             	lea    (%eax,%ecx,2),%eax
480bc6:	89 45 b4             	mov    %eax,-0x4c(%ebp)
480bc9:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
480bcc:	8b f2                	mov    %edx,%esi
480bce:	2b f1                	sub    %ecx,%esi
480bd0:	d1 fe                	sar    $1,%esi
480bd2:	85 f6                	test   %esi,%esi
480bd4:	0f 8e 38 76 f8 ff    	jle    0x408212
480bda:	0f b7 01             	movzwl (%ecx),%eax
480bdd:	83 f8 76             	cmp    $0x76,%eax
480be0:	73 18                	jae    0x480bfa
480be2:	8a 80 e0 60 4b 00    	mov    0x4b60e0(%eax),%al
480be8:	84 c0                	test   %al,%al
480bea:	74 0e                	je     0x480bfa
480bec:	0f b6 c0             	movzbl %al,%eax
480bef:	66 89 01             	mov    %ax,(%ecx)
480bf2:	8b 7d fc             	mov    -0x4(%ebp),%edi
480bf5:	e9 18 76 f8 ff       	jmp    0x408212
480bfa:	ff 75 c0             	push   -0x40(%ebp)
480bfd:	33 c0                	xor    %eax,%eax
480bff:	66 89 02             	mov    %ax,(%edx)
480c02:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
480c05:	53                   	push   %ebx
480c06:	ff 75 dc             	push   -0x24(%ebp)
480c09:	8d 50 02             	lea    0x2(%eax),%edx
480c0c:	e8 e8 d7 f9 ff       	call   0x41e3f9
480c11:	83 c4 0c             	add    $0xc,%esp
480c14:	8d 04 36             	lea    (%esi,%esi,1),%eax
480c17:	50                   	push   %eax
480c18:	8b 45 b4             	mov    -0x4c(%ebp),%eax
480c1b:	50                   	push   %eax
480c1c:	83 c0 04             	add    $0x4,%eax
480c1f:	50                   	push   %eax
480c20:	e8 5b 53 fa ff       	call   0x425f80
480c25:	8b 45 b4             	mov    -0x4c(%ebp),%eax
480c28:	8b 55 f8             	mov    -0x8(%ebp),%edx
480c2b:	b9 81 00 00 00       	mov    $0x81,%ecx
480c30:	66 89 08             	mov    %cx,(%eax)
480c33:	83 c6 02             	add    $0x2,%esi
480c36:	b8 78 00 00 00       	mov    $0x78,%eax
480c3b:	66 89 42 04          	mov    %ax,0x4(%edx)
480c3f:	66 89 72 06          	mov    %si,0x6(%edx)
480c43:	8b 45 b4             	mov    -0x4c(%ebp),%eax
480c46:	83 c4 0c             	add    $0xc,%esp
480c49:	83 c2 08             	add    $0x8,%edx
480c4c:	66 89 70 02          	mov    %si,0x2(%eax)
480c50:	8b 7d fc             	mov    -0x4(%ebp),%edi
480c53:	89 55 f8             	mov    %edx,-0x8(%ebp)
480c56:	e9 b7 75 f8 ff       	jmp    0x408212
480c5b:	8b 7d fc             	mov    -0x4(%ebp),%edi
480c5e:	66 83 7f 02 5c       	cmpw   $0x5c,0x2(%edi)
480c63:	75 12                	jne    0x480c77
480c65:	66 83 7f 04 45       	cmpw   $0x45,0x4(%edi)
480c6a:	75 0b                	jne    0x480c77
480c6c:	8b 55 f8             	mov    -0x8(%ebp),%edx
480c6f:	83 c7 04             	add    $0x4,%edi
480c72:	e9 0c 6f f8 ff       	jmp    0x407b83
480c77:	8b 55 f8             	mov    -0x8(%ebp),%edx
480c7a:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
480c81:	e9 fd 6e f8 ff       	jmp    0x407b83
480c86:	8b cf                	mov    %edi,%ecx
480c88:	8b 7d fc             	mov    -0x4(%ebp),%edi
480c8b:	8b 41 20             	mov    0x20(%ecx),%eax
480c8e:	83 c7 02             	add    $0x2,%edi
480c91:	33 db                	xor    %ebx,%ebx
480c93:	89 7d fc             	mov    %edi,-0x4(%ebp)
480c96:	66 83 3f 3c          	cmpw   $0x3c,(%edi)
480c9a:	89 45 c0             	mov    %eax,-0x40(%ebp)
480c9d:	0f b7 47 02          	movzwl 0x2(%edi),%eax
480ca1:	0f 95 c3             	setne  %bl
480ca4:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
480cab:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
480cb2:	4b                   	dec    %ebx