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
480cb3:	83 e3 17             	and    $0x17,%ebx
480cb6:	83 c3 27             	add    $0x27,%ebx
480cb9:	83 f8 2b             	cmp    $0x2b,%eax
480cbc:	74 17                	je     0x480cd5
480cbe:	83 f8 2d             	cmp    $0x2d,%eax
480cc1:	74 12                	je     0x480cd5
480cc3:	83 f8 30             	cmp    $0x30,%eax
480cc6:	0f 82 08 0d 00 00    	jb     0x4819d4
480ccc:	83 f8 39             	cmp    $0x39,%eax
480ccf:	0f 87 ff 0c 00 00    	ja     0x4819d4
480cd5:	0f b7 4f 04          	movzwl 0x4(%edi),%ecx
480cd9:	8d 47 04             	lea    0x4(%edi),%eax
480cdc:	83 f9 30             	cmp    $0x30,%ecx
480cdf:	72 12                	jb     0x480cf3
480ce1:	66 83 f9 39          	cmp    $0x39,%cx
480ce5:	77 0c                	ja     0x480cf3
480ce7:	0f b7 48 02          	movzwl 0x2(%eax),%ecx
480ceb:	83 c0 02             	add    $0x2,%eax
480cee:	83 f9 30             	cmp    $0x30,%ecx
480cf1:	73 ee                	jae    0x480ce1
480cf3:	66 39 18             	cmp    %bx,(%eax)
480cf6:	74 10                	je     0x480d08
480cf8:	8b c2                	mov    %edx,%eax
480cfa:	8b 55 f8             	mov    -0x8(%ebp),%edx
480cfd:	c7 00 39 00 00 00    	movl   $0x39,(%eax)
480d03:	e9 78 6e f8 ff       	jmp    0x407b80
480d08:	8b 4d 28             	mov    0x28(%ebp),%ecx
480d0b:	83 c7 02             	add    $0x2,%edi
480d0e:	89 7d fc             	mov    %edi,-0x4(%ebp)
480d11:	e9 97 0f 00 00       	jmp    0x481cad
480d16:	8b 7d fc             	mov    -0x4(%ebp),%edi
480d19:	0f b7 47 02          	movzwl 0x2(%edi),%eax
480d1d:	83 f8 3c             	cmp    $0x3c,%eax
480d20:	74 18                	je     0x480d3a
480d22:	83 f8 27             	cmp    $0x27,%eax
480d25:	74 13                	je     0x480d3a
480d27:	83 f8 7b             	cmp    $0x7b,%eax
480d2a:	74 0e                	je     0x480d3a
480d2c:	c7 02 45 00 00 00    	movl   $0x45,(%edx)
480d32:	8b 55 f8             	mov    -0x8(%ebp),%edx
480d35:	e9 49 6e f8 ff       	jmp    0x407b83
480d3a:	8b 4d 28             	mov    0x28(%ebp),%ecx
480d3d:	83 c7 02             	add    $0x2,%edi
480d40:	89 7d fc             	mov    %edi,-0x4(%ebp)
480d43:	0f b7 07             	movzwl (%edi),%eax
480d46:	33 d2                	xor    %edx,%edx
480d48:	89 55 e4             	mov    %edx,-0x1c(%ebp)
480d4b:	83 f8 3c             	cmp    $0x3c,%eax
480d4e:	75 08                	jne    0x480d58
480d50:	8d 5a 3e             	lea    0x3e(%edx),%ebx
480d53:	e9 84 0c 00 00       	jmp    0x4819dc
480d58:	33 db                	xor    %ebx,%ebx
480d5a:	83 f8 27             	cmp    $0x27,%eax
480d5d:	0f 95 c3             	setne  %bl
480d60:	4b                   	dec    %ebx
480d61:	83 e3 aa             	and    $0xffffffaa,%ebx
480d64:	83 c3 7d             	add    $0x7d,%ebx
480d67:	e9 70 0c 00 00       	jmp    0x4819dc
480d6c:	8b fe                	mov    %esi,%edi
480d6e:	f7 df                	neg    %edi
480d70:	89 7d c8             	mov    %edi,-0x38(%ebp)
480d73:	e9 a4 0e 00 00       	jmp    0x481c1c
480d78:	83 7f 48 00          	cmpl   $0x0,0x48(%edi)
480d7c:	0f 85 e3 72 f8 ff    	jne    0x408065
480d82:	c7 47 48 01 00 00 00 	movl   $0x1,0x48(%edi)
480d89:	e9 d7 72 f8 ff       	jmp    0x408065
480d8e:	83 fe 22             	cmp    $0x22,%esi
480d91:	0f 8f d7 72 f8 ff    	jg     0x40806e
480d97:	8b 45 fc             	mov    -0x4(%ebp),%eax
480d9a:	8b 3c b5 fc fe 4b 00 	mov    0x4bfefc(,%esi,4),%edi
480da1:	8b 55 f8             	mov    -0x8(%ebp),%edx
480da4:	83 c0 02             	add    $0x2,%eax
480da7:	89 45 84             	mov    %eax,-0x7c(%ebp)
480daa:	83 ef 02             	sub    $0x2,%edi
480dad:	e9 d1 6d f8 ff       	jmp    0x407b83
480db2:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
480db9:	e9 c2 72 f8 ff       	jmp    0x408080
480dbe:	83 fe 0e             	cmp    $0xe,%esi
480dc1:	0f 85 c3 72 f8 ff    	jne    0x40808a
480dc7:	be 0d 00 00 00       	mov    $0xd,%esi
480dcc:	e9 b9 72 f8 ff       	jmp    0x40808a
480dd1:	52                   	push   %edx
480dd2:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
480dd8:	50                   	push   %eax
480dd9:	8d 85 10 ff ff ff    	lea    -0xf0(%ebp),%eax
480ddf:	50                   	push   %eax
480de0:	8d 95 f0 fe ff ff    	lea    -0x110(%ebp),%edx
480de6:	8d 4d fc             	lea    -0x4(%ebp),%ecx
480de9:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
480df0:	00 00 00
480df3:	c7 85 24 ff ff ff 00 	movl   $0x0,-0xdc(%ebp)
480dfa:	00 00 00
480dfd:	e8 b1 00 ff ff       	call   0x470eb3
480e02:	83 c4 0c             	add    $0xc,%esp
480e05:	85 c0                	test   %eax,%eax
480e07:	0f 84 df 79 f8 ff    	je     0x4087ec
480e0d:	8b 55 f8             	mov    -0x8(%ebp),%edx
480e10:	33 c0                	xor    %eax,%eax
480e12:	83 fe 10             	cmp    $0x10,%esi
480e15:	0f 94 c0             	sete   %al
480e18:	33 c9                	xor    %ecx,%ecx
480e1a:	89 55 e0             	mov    %edx,-0x20(%ebp)
480e1d:	3b 85 f0 fe ff ff    	cmp    -0x110(%ebp),%eax
480e23:	0f b7 85 10 ff ff ff 	movzwl -0xf0(%ebp),%eax
480e2a:	0f 95 c1             	setne  %cl
480e2d:	83 c1 0f             	add    $0xf,%ecx
480e30:	66 89 0a             	mov    %cx,(%edx)
480e33:	66 89 42 02          	mov    %ax,0x2(%edx)
480e37:	0f b7 85 24 ff ff ff 	movzwl -0xdc(%ebp),%eax
480e3e:	66 89 42 04          	mov    %ax,0x4(%edx)
480e42:	8b 7d fc             	mov    -0x4(%ebp),%edi
480e45:	83 c2 06             	add    $0x6,%edx
480e48:	89 55 f8             	mov    %edx,-0x8(%ebp)
480e4b:	e9 33 6d f8 ff       	jmp    0x407b83
480e50:	8b 7d fc             	mov    -0x4(%ebp),%edi
480e53:	8b 55 f8             	mov    -0x8(%ebp),%edx
480e56:	e9 28 6d f8 ff       	jmp    0x407b83
480e5b:	66 8b 47 02          	mov    0x2(%edi),%ax
480e5f:	83 c7 02             	add    $0x2,%edi
480e62:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
480e67:	66 23 c1             	and    %cx,%ax
480e6a:	b9 00 dc 00 00       	mov    $0xdc00,%ecx
480e6f:	66 3b c1             	cmp    %cx,%ax
480e72:	0f 85 0a 6c f8 ff    	jne    0x407a82
480e78:	89 7d fc             	mov    %edi,-0x4(%ebp)
480e7b:	66 8b 07             	mov    (%edi),%ax
480e7e:	be 02 00 00 00       	mov    $0x2,%esi
480e83:	66 89 85 fa fe ff ff 	mov    %ax,-0x106(%ebp)
480e8a:	89 75 f0             	mov    %esi,-0x10(%ebp)
480e8d:	e9 f3 6b f8 ff       	jmp    0x407a85
480e92:	8b 85 fa fe ff ff    	mov    -0x106(%ebp),%eax
480e98:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
480e9e:	25 ff 03 00 00       	and    $0x3ff,%eax
480ea3:	c1 e1 0a             	shl    $0xa,%ecx
480ea6:	0b c8                	or     %eax,%ecx
480ea8:	81 c1 00 00 01 00    	add    $0x10000,%ecx
480eae:	e9 fb 6b f8 ff       	jmp    0x407aae
480eb3:	8b 7d fc             	mov    -0x4(%ebp),%edi
480eb6:	c7 45 8c ff ff ff ff 	movl   $0xffffffff,-0x74(%ebp)
480ebd:	c7 45 d0 ff ff ff ff 	movl   $0xffffffff,-0x30(%ebp)
480ec4:	e9 ba 6c f8 ff       	jmp    0x407b83
480ec9:	8b 4d 28             	mov    0x28(%ebp),%ecx
480ecc:	81 49 64 00 08 00 00 	orl    $0x800,0x64(%ecx)
480ed3:	e9 65 6c f8 ff       	jmp    0x407b3d
480ed8:	85 c0                	test   %eax,%eax
480eda:	0f 84 a9 70 f8 ff    	je     0x407f89
480ee0:	8b 7d fc             	mov    -0x4(%ebp),%edi
480ee3:	c7 45 a8 ff ff ff ff 	movl   $0xffffffff,-0x58(%ebp)
480eea:	c7 45 d0 ff ff ff ff 	movl   $0xffffffff,-0x30(%ebp)
480ef1:	e9 8a 6c f8 ff       	jmp    0x407b80
480ef6:	0f b7 42 fe          	movzwl -0x2(%edx),%eax
480efa:	8b 7d fc             	mov    -0x4(%ebp),%edi
480efd:	89 45 a0             	mov    %eax,-0x60(%ebp)
480f00:	8b 41 68             	mov    0x68(%ecx),%eax
480f03:	89 45 a8             	mov    %eax,-0x58(%ebp)
480f06:	e9 78 6c f8 ff       	jmp    0x407b83
480f0b:	83 bd 70 ff ff ff 00 	cmpl   $0x0,-0x90(%ebp)
480f12:	0f 84 52 6c f8 ff    	je     0x407b6a
480f18:	8b 5d f4             	mov    -0xc(%ebp),%ebx
480f1b:	e9 de 6d f8 ff       	jmp    0x407cfe
480f20:	8d 47 02             	lea    0x2(%edi),%eax
480f23:	89 45 88             	mov    %eax,-0x78(%ebp)
480f26:	0f b7 00             	movzwl (%eax),%eax
480f29:	83 f8 3a             	cmp    $0x3a,%eax
480f2c:	74 26                	je     0x480f54
480f2e:	c7 45 d4 ff 00 00 00 	movl   $0xff,-0x2c(%ebp)
480f35:	66 3b 45 d4          	cmp    -0x2c(%ebp),%ax
480f39:	77 11                	ja     0x480f4c
480f3b:	8b c8                	mov    %eax,%ecx
480f3d:	8b 45 28             	mov    0x28(%ebp),%eax
480f40:	8b 40 0c             	mov    0xc(%eax),%eax
480f43:	f6 04 01 02          	testb  $0x2,(%ecx,%eax,1)
480f47:	75 0b                	jne    0x480f54
480f49:	8b 4d 28             	mov    0x28(%ebp),%ecx
480f4c:	8b 45 f4             	mov    -0xc(%ebp),%eax