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
480f4f:	e9 96 6c f8 ff       	jmp    0x407bea
480f54:	8b 55 88             	mov    -0x78(%ebp),%edx
480f57:	33 c9                	xor    %ecx,%ecx
480f59:	8b fa                	mov    %edx,%edi
480f5b:	89 7d fc             	mov    %edi,-0x4(%ebp)
480f5e:	0f b7 07             	movzwl (%edi),%eax
480f61:	89 4d f0             	mov    %ecx,-0x10(%ebp)
480f64:	89 4d e0             	mov    %ecx,-0x20(%ebp)
480f67:	b9 ff 00 00 00       	mov    $0xff,%ecx
480f6c:	33 f6                	xor    %esi,%esi
480f6e:	c7 45 d4 84 4d 4b 00 	movl   $0x4b4d84,-0x2c(%ebp)
480f75:	66 3b c1             	cmp    %cx,%ax
480f78:	77 22                	ja     0x480f9c
480f7a:	8b 4d 28             	mov    0x28(%ebp),%ecx
480f7d:	8b 49 0c             	mov    0xc(%ecx),%ecx
480f80:	0f b7 c0             	movzwl %ax,%eax
480f83:	f6 04 08 02          	testb  $0x2,(%eax,%ecx,1)
480f87:	74 13                	je     0x480f9c
480f89:	83 c7 02             	add    $0x2,%edi
480f8c:	89 7d fc             	mov    %edi,-0x4(%ebp)
480f8f:	0f b7 07             	movzwl (%edi),%eax
480f92:	bb ff 00 00 00       	mov    $0xff,%ebx
480f97:	66 3b c3             	cmp    %bx,%ax
480f9a:	76 e4                	jbe    0x480f80
480f9c:	8b c7                	mov    %edi,%eax
480f9e:	2b c2                	sub    %edx,%eax
480fa0:	d1 f8                	sar    $1,%eax
480fa2:	66 83 3f 3a          	cmpw   $0x3a,(%edi)
480fa6:	89 45 b0             	mov    %eax,-0x50(%ebp)
480fa9:	75 3c                	jne    0x480fe7
480fab:	83 c7 02             	add    $0x2,%edi
480fae:	89 7d fc             	mov    %edi,-0x4(%ebp)
480fb1:	0f b7 07             	movzwl (%edi),%eax
480fb4:	8b cf                	mov    %edi,%ecx
480fb6:	89 4d f0             	mov    %ecx,-0x10(%ebp)
480fb9:	66 85 c0             	test   %ax,%ax
480fbc:	74 14                	je     0x480fd2
480fbe:	66 83 f8 29          	cmp    $0x29,%ax
480fc2:	74 0e                	je     0x480fd2
480fc4:	83 c7 02             	add    $0x2,%edi
480fc7:	89 7d fc             	mov    %edi,-0x4(%ebp)
480fca:	0f b7 07             	movzwl (%edi),%eax
480fcd:	66 85 c0             	test   %ax,%ax
480fd0:	75 ec                	jne    0x480fbe
480fd2:	8b f7                	mov    %edi,%esi
480fd4:	2b f1                	sub    %ecx,%esi
480fd6:	d1 fe                	sar    $1,%esi
480fd8:	81 fe ff ff 00 00    	cmp    $0xffff,%esi
480fde:	0f 87 0c 11 00 00    	ja     0x4820f0
480fe4:	8b 45 b0             	mov    -0x50(%ebp),%eax
480fe7:	66 83 3f 29          	cmpw   $0x29,(%edi)
480feb:	75 43                	jne    0x481030
480fed:	33 c9                	xor    %ecx,%ecx
480fef:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
480ff2:	bb f0 50 4b 00       	mov    $0x4b50f0,%ebx
480ff7:	8b 13                	mov    (%ebx),%edx
480ff9:	3b c2                	cmp    %edx,%eax
480ffb:	75 18                	jne    0x481015
480ffd:	8b 55 d4             	mov    -0x2c(%ebp),%edx
481000:	8b 4d 88             	mov    -0x78(%ebp),%ecx
481003:	50                   	push   %eax
481004:	e8 ea 78 f8 ff       	call   0x4088f3
481009:	83 c4 04             	add    $0x4,%esp
48100c:	85 c0                	test   %eax,%eax
48100e:	74 35                	je     0x481045
481010:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
481013:	8b 13                	mov    (%ebx),%edx
481015:	8b 45 d4             	mov    -0x2c(%ebp),%eax
481018:	40                   	inc    %eax
481019:	03 c2                	add    %edx,%eax
48101b:	41                   	inc    %ecx
48101c:	83 c3 0c             	add    $0xc,%ebx
48101f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
481022:	8b 45 b0             	mov    -0x50(%ebp),%eax
481025:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
481028:	81 fb 5c 51 4b 00    	cmp    $0x4b515c,%ebx
48102e:	7c c7                	jl     0x480ff7
481030:	8b 45 0c             	mov    0xc(%ebp),%eax
481033:	c7 00 3c 00 00 00    	movl   $0x3c,(%eax)
481039:	8b 45 08             	mov    0x8(%ebp),%eax
48103c:	89 38                	mov    %edi,(%eax)
48103e:	33 c0                	xor    %eax,%eax
481040:	e9 ed 69 f8 ff       	jmp    0x407a32
481045:	8b 45 e4             	mov    -0x1c(%ebp),%eax
481048:	8d 04 40             	lea    (%eax,%eax,2),%eax
48104b:	8b 0c 85 f4 50 4b 00 	mov    0x4b50f4(,%eax,4),%ecx
481052:	81 f9 9e 00 00 00    	cmp    $0x9e,%ecx
481058:	75 61                	jne    0x4810bb
48105a:	85 f6                	test   %esi,%esi
48105c:	0f 85 a3 10 00 00    	jne    0x482105
481062:	8b 45 28             	mov    0x28(%ebp),%eax
481065:	8b 55 f8             	mov    -0x8(%ebp),%edx
481068:	8b 48 24             	mov    0x24(%eax),%ecx
48106b:	c7 40 6c 01 00 00 00 	movl   $0x1,0x6c(%eax)
481072:	85 c9                	test   %ecx,%ecx
481074:	74 19                	je     0x48108f
481076:	b8 a0 00 00 00       	mov    $0xa0,%eax
48107b:	66 89 02             	mov    %ax,(%edx)
48107e:	66 8b 41 04          	mov    0x4(%ecx),%ax
481082:	66 89 42 02          	mov    %ax,0x2(%edx)
481086:	8b 09                	mov    (%ecx),%ecx
481088:	83 c2 04             	add    $0x4,%edx
48108b:	85 c9                	test   %ecx,%ecx
48108d:	75 e7                	jne    0x481076
48108f:	8b 4d 28             	mov    0x28(%ebp),%ecx
481092:	33 c0                	xor    %eax,%eax
481094:	39 41 5c             	cmp    %eax,0x5c(%ecx)
481097:	0f 9f c0             	setg   %al
48109a:	83 c2 02             	add    $0x2,%edx
48109d:	89 55 f8             	mov    %edx,-0x8(%ebp)
4810a0:	05 9e 00 00 00       	add    $0x9e,%eax
4810a5:	83 7d d0 fe          	cmpl   $0xfffffffe,-0x30(%ebp)
4810a9:	66 89 42 fe          	mov    %ax,-0x2(%edx)
4810ad:	0f b7 f8             	movzwl %ax,%edi
4810b0:	75 6b                	jne    0x48111d
4810b2:	c7 45 d0 ff ff ff ff 	movl   $0xffffffff,-0x30(%ebp)
4810b9:	eb 62                	jmp    0x48111d
4810bb:	85 f6                	test   %esi,%esi
4810bd:	75 12                	jne    0x4810d1
4810bf:	85 c9                	test   %ecx,%ecx
4810c1:	0f 88 53 10 00 00    	js     0x48211a
4810c7:	8b 55 f8             	mov    -0x8(%ebp),%edx
4810ca:	0f b7 c1             	movzwl %cx,%eax
4810cd:	8b f8                	mov    %eax,%edi
4810cf:	eb 40                	jmp    0x481111
4810d1:	83 3c 85 f8 50 4b 00 	cmpl   $0x0,0x4b50f8(,%eax,4)
4810d8:	00
4810d9:	0f 8c 26 10 00 00    	jl     0x482105
4810df:	0f b7 04 85 f8 50 4b 	movzwl 0x4b50f8(,%eax,4),%eax
4810e6:	00
4810e7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4810ea:	8b f8                	mov    %eax,%edi
4810ec:	66 89 01             	mov    %ax,(%ecx)
4810ef:	8d 04 36             	lea    (%esi,%esi,1),%eax
4810f2:	50                   	push   %eax
4810f3:	ff 75 f0             	push   -0x10(%ebp)
4810f6:	66 89 71 02          	mov    %si,0x2(%ecx)
4810fa:	83 c1 04             	add    $0x4,%ecx
4810fd:	51                   	push   %ecx
4810fe:	89 4d f8             	mov    %ecx,-0x8(%ebp)
481101:	e8 7a dd f9 ff       	call   0x41ee80
481106:	8b 55 f8             	mov    -0x8(%ebp),%edx
481109:	83 c4 0c             	add    $0xc,%esp
48110c:	8d 14 72             	lea    (%edx,%esi,2),%edx
48110f:	33 c0                	xor    %eax,%eax
481111:	8b 4d 28             	mov    0x28(%ebp),%ecx
481114:	66 89 02             	mov    %ax,(%edx)
481117:	83 c2 02             	add    $0x2,%edx
48111a:	89 55 f8             	mov    %edx,-0x8(%ebp)
48111d:	81 c7 6a ff ff ff    	add    $0xffffff6a,%edi
481123:	83 ff 05             	cmp    $0x5,%edi
481126:	0f 87 ec fd ff ff    	ja     0x480f18
48112c:	ff 24 bd eb 23 48 00 	jmp    *0x4823eb(,%edi,4)
481133:	81 49 64 00 10 00 00 	orl    $0x1000,0x64(%ecx)
48113a:	8b 7d fc             	mov    -0x4(%ebp),%edi
48113d:	e9 3e 6a f8 ff       	jmp    0x407b80
481142:	8b 7d fc             	mov    -0x4(%ebp),%edi
481145:	c7 41 70 01 00 00 00 	movl   $0x1,0x70(%ecx)
48114c:	e9 2f 6a f8 ff       	jmp    0x407b80
481151:	83 e8 21             	sub    $0x21,%eax
481154:	83 f8 5b             	cmp    $0x5b,%eax
481157:	0f 87 b3 6a f8 ff    	ja     0x407c10
48115d:	0f b6 80 3f 24 48 00 	movzbl 0x48243f(%eax),%eax
481164:	ff 24 85 03 24 48 00 	jmp    *0x482403(,%eax,4)
48116b:	83 c7 02             	add    $0x2,%edi
48116e:	89 7d fc             	mov    %edi,-0x4(%ebp)
481171:	0f b7 07             	movzwl (%edi),%eax
481174:	66 85 c0             	test   %ax,%ax
481177:	74 14                	je     0x48118d
481179:	66 83 f8 29          	cmp    $0x29,%ax
48117d:	74 23                	je     0x4811a2
48117f:	83 c7 02             	add    $0x2,%edi
481182:	89 7d fc             	mov    %edi,-0x4(%ebp)
481185:	0f b7 07             	movzwl (%edi),%eax
481188:	66 85 c0             	test   %ax,%ax