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
48118b:	75 ec                	jne    0x481179
48118d:	8b 45 0c             	mov    0xc(%ebp),%eax
481190:	c7 00 12 00 00 00    	movl   $0x12,(%eax)
481196:	8b 45 08             	mov    0x8(%ebp),%eax
481199:	89 38                	mov    %edi,(%eax)
48119b:	33 c0                	xor    %eax,%eax
48119d:	e9 90 68 f8 ff       	jmp    0x407a32
4811a2:	66 83 3f 00          	cmpw   $0x0,(%edi)
4811a6:	0f 85 bd e6 ff ff    	jne    0x47f869
4811ac:	eb df                	jmp    0x48118d
4811ae:	c7 45 b0 01 00 00 00 	movl   $0x1,-0x50(%ebp)
4811b5:	83 c7 02             	add    $0x2,%edi
4811b8:	be 83 00 00 00       	mov    $0x83,%esi
4811bd:	89 7d fc             	mov    %edi,-0x4(%ebp)
4811c0:	8b 55 f8             	mov    -0x8(%ebp),%edx
4811c3:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
4811c6:	e9 91 70 f8 ff       	jmp    0x40825c
4811cb:	66 83 7f 02 3f       	cmpw   $0x3f,0x2(%edi)
4811d0:	be 87 00 00 00       	mov    $0x87,%esi
4811d5:	8b cf                	mov    %edi,%ecx
4811d7:	89 75 88             	mov    %esi,-0x78(%ebp)
4811da:	89 4d 80             	mov    %ecx,-0x80(%ebp)
4811dd:	75 36                	jne    0x481215
4811df:	66 83 7f 04 43       	cmpw   $0x43,0x4(%edi)
4811e4:	75 2f                	jne    0x481215
4811e6:	0f b7 57 06          	movzwl 0x6(%edi),%edx
4811ea:	b8 03 00 00 00       	mov    $0x3,%eax
4811ef:	83 fa 30             	cmp    $0x30,%edx
4811f2:	72 11                	jb     0x481205
4811f4:	66 83 fa 39          	cmp    $0x39,%dx
4811f8:	77 0b                	ja     0x481205
4811fa:	0f b7 54 47 02       	movzwl 0x2(%edi,%eax,2),%edx
4811ff:	40                   	inc    %eax
481200:	83 fa 30             	cmp    $0x30,%edx
481203:	73 ef                	jae    0x4811f4
481205:	66 83 3c 47 29       	cmpw   $0x29,(%edi,%eax,2)
48120a:	75 09                	jne    0x481215
48120c:	8d 48 01             	lea    0x1(%eax),%ecx
48120f:	8d 0c 4f             	lea    (%edi,%ecx,2),%ecx
481212:	89 4d 80             	mov    %ecx,-0x80(%ebp)
481215:	66 83 79 02 3f       	cmpw   $0x3f,0x2(%ecx)
48121a:	75 13                	jne    0x48122f
48121c:	0f b7 41 04          	movzwl 0x4(%ecx),%eax
481220:	83 f8 3d             	cmp    $0x3d,%eax
481223:	74 9b                	je     0x4811c0
481225:	83 f8 21             	cmp    $0x21,%eax
481228:	74 96                	je     0x4811c0
48122a:	83 f8 3c             	cmp    $0x3c,%eax
48122d:	74 91                	je     0x4811c0
48122f:	8b 55 f8             	mov    -0x8(%ebp),%edx
481232:	b8 8d 00 00 00       	mov    $0x8d,%eax
481237:	66 89 42 04          	mov    %ax,0x4(%edx)
48123b:	8b 7d fc             	mov    -0x4(%ebp),%edi
48123e:	83 c7 02             	add    $0x2,%edi
481241:	89 7d fc             	mov    %edi,-0x4(%ebp)
481244:	0f b7 07             	movzwl (%edi),%eax
481247:	c7 45 f0 02 00 00 00 	movl   $0x2,-0x10(%ebp)
48124e:	c7 45 e4 ff ff ff ff 	movl   $0xffffffff,-0x1c(%ebp)
481255:	83 f8 52             	cmp    $0x52,%eax
481258:	75 21                	jne    0x48127b
48125a:	66 83 7f 02 26       	cmpw   $0x26,0x2(%edi)
48125f:	75 1a                	jne    0x48127b
481261:	83 c9 ff             	or     $0xffffffff,%ecx
481264:	83 c7 04             	add    $0x4,%edi
481267:	89 7d fc             	mov    %edi,-0x4(%ebp)
48126a:	b8 8f 00 00 00       	mov    $0x8f,%eax
48126f:	66 89 42 04          	mov    %ax,0x4(%edx)
481273:	8b 7d fc             	mov    -0x4(%ebp),%edi
481276:	89 4d ec             	mov    %ecx,-0x14(%ebp)
481279:	eb 16                	jmp    0x481291
48127b:	83 f8 3c             	cmp    $0x3c,%eax
48127e:	0f 85 fc 00 00 00    	jne    0x481380
481284:	c7 45 ec 3e 00 00 00 	movl   $0x3e,-0x14(%ebp)
48128b:	83 c7 02             	add    $0x2,%edi
48128e:	89 7d fc             	mov    %edi,-0x4(%ebp)
481291:	0f b7 07             	movzwl (%edi),%eax
481294:	83 f8 30             	cmp    $0x30,%eax
481297:	72 09                	jb     0x4812a2
481299:	83 f8 39             	cmp    $0x39,%eax
48129c:	0f 86 8d 0e 00 00    	jbe    0x48212f
4812a2:	b9 ff 00 00 00       	mov    $0xff,%ecx
4812a7:	66 3b c1             	cmp    %cx,%ax
4812aa:	0f 87 c1 0e 00 00    	ja     0x482171
4812b0:	8b 4d 28             	mov    0x28(%ebp),%ecx
4812b3:	0f b7 c0             	movzwl %ax,%eax
4812b6:	8b 49 0c             	mov    0xc(%ecx),%ecx
4812b9:	f6 04 08 10          	testb  $0x10,(%eax,%ecx,1)
4812bd:	0f 84 ae 0e 00 00    	je     0x482171
4812c3:	89 7d 94             	mov    %edi,-0x6c(%ebp)
4812c6:	83 c7 02             	add    $0x2,%edi
4812c9:	89 7d fc             	mov    %edi,-0x4(%ebp)
4812cc:	0f b7 07             	movzwl (%edi),%eax
4812cf:	c7 45 d4 ff 00 00 00 	movl   $0xff,-0x2c(%ebp)
4812d6:	66 3b 45 d4          	cmp    -0x2c(%ebp),%ax
4812da:	77 1f                	ja     0x4812fb
4812dc:	0f b7 c0             	movzwl %ax,%eax
4812df:	f6 04 08 10          	testb  $0x10,(%eax,%ecx,1)
4812e3:	74 16                	je     0x4812fb
4812e5:	83 c7 02             	add    $0x2,%edi
4812e8:	89 7d fc             	mov    %edi,-0x4(%ebp)
4812eb:	0f b7 07             	movzwl (%edi),%eax
4812ee:	c7 45 d4 ff 00 00 00 	movl   $0xff,-0x2c(%ebp)
4812f5:	66 3b 45 d4          	cmp    -0x2c(%ebp),%ax
4812f9:	76 e1                	jbe    0x4812dc
4812fb:	8b c7                	mov    %edi,%eax
4812fd:	2b 45 94             	sub    -0x6c(%ebp),%eax
481300:	d1 f8                	sar    $1,%eax
481302:	89 45 9c             	mov    %eax,-0x64(%ebp)
481305:	8b 45 2c             	mov    0x2c(%ebp),%eax
481308:	85 c0                	test   %eax,%eax
48130a:	74 02                	je     0x48130e
48130c:	ff 00                	incl   (%eax)
48130e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
481311:	85 c9                	test   %ecx,%ecx
481313:	7e 12                	jle    0x481327
481315:	66 8b 07             	mov    (%edi),%ax
481318:	83 c7 02             	add    $0x2,%edi
48131b:	89 7d fc             	mov    %edi,-0x4(%ebp)
48131e:	66 3b c1             	cmp    %cx,%ax
481321:	0f 85 32 0e 00 00    	jne    0x482159
481327:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
48132a:	66 8b 07             	mov    (%edi),%ax
48132d:	83 c7 02             	add    $0x2,%edi
481330:	89 7d e8             	mov    %edi,-0x18(%ebp)
481333:	89 7d fc             	mov    %edi,-0x4(%ebp)
481336:	66 83 f8 29          	cmp    $0x29,%ax
48133a:	0f 85 19 0e 00 00    	jne    0x482159
481340:	83 7d 2c 00          	cmpl   $0x0,0x2c(%ebp)
481344:	0f 85 79 fe ff ff    	jne    0x4811c3
48134a:	85 c9                	test   %ecx,%ecx
48134c:	0f 88 e5 00 00 00    	js     0x481437
481352:	8b 45 c8             	mov    -0x38(%ebp),%eax
481355:	85 c0                	test   %eax,%eax
481357:	0f 8e e7 0d 00 00    	jle    0x482144
48135d:	85 c9                	test   %ecx,%ecx
48135f:	0f 84 af 00 00 00    	je     0x481414
481365:	83 f9 2d             	cmp    $0x2d,%ecx
481368:	8b 4d 28             	mov    0x28(%ebp),%ecx
48136b:	0f 85 9b 00 00 00    	jne    0x48140c
481371:	8b 41 40             	mov    0x40(%ecx),%eax
481374:	2b 45 c8             	sub    -0x38(%ebp),%eax
481377:	40                   	inc    %eax
481378:	89 45 c8             	mov    %eax,-0x38(%ebp)
48137b:	e9 97 00 00 00       	jmp    0x481417
481380:	83 f8 27             	cmp    $0x27,%eax
481383:	75 08                	jne    0x48138d
481385:	89 45 ec             	mov    %eax,-0x14(%ebp)
481388:	e9 fe fe ff ff       	jmp    0x48128b
48138d:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
481394:	83 f8 2d             	cmp    $0x2d,%eax
481397:	74 1e                	je     0x4813b7
481399:	83 f8 2b             	cmp    $0x2b,%eax
48139c:	74 19                	je     0x4813b7
48139e:	83 f8 30             	cmp    $0x30,%eax
4813a1:	0f 82 fb fe ff ff    	jb     0x4812a2
4813a7:	83 f8 39             	cmp    $0x39,%eax
4813aa:	0f 87 e1 fe ff ff    	ja     0x481291
4813b0:	33 c9                	xor    %ecx,%ecx
4813b2:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4813b5:	eb 13                	jmp    0x4813ca
4813b7:	8b c8                	mov    %eax,%ecx
4813b9:	83 c7 02             	add    $0x2,%edi
4813bc:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4813bf:	89 7d fc             	mov    %edi,-0x4(%ebp)
4813c2:	85 c9                	test   %ecx,%ecx
4813c4:	0f 88 c7 fe ff ff    	js     0x481291
4813ca:	0f b7 07             	movzwl (%edi),%eax
4813cd:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
4813d4:	83 f8 30             	cmp    $0x30,%eax
4813d7:	0f 82 4d ff ff ff    	jb     0x48132a
4813dd:	8b 4d c8             	mov    -0x38(%ebp),%ecx
4813e0:	66 83 f8 39          	cmp    $0x39,%ax
4813e4:	0f 87 3d ff ff ff    	ja     0x481327
4813ea:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
4813ed:	0f b7 c0             	movzwl %ax,%eax