483fec:	3b 43 78             	cmp    0x78(%ebx),%eax
483fef:	0f 84 7f 65 f8 ff    	je     0x40a574
483ff5:	8b 4b 78             	mov    0x78(%ebx),%ecx
483ff8:	3b c1                	cmp    %ecx,%eax
483ffa:	0f 84 76 66 f8 ff    	je     0x40a676
484000:	3b 43 7c             	cmp    0x7c(%ebx),%eax
484003:	0f 84 6b 65 f8 ff    	je     0x40a574
484009:	8b 53 18             	mov    0x18(%ebx),%edx
48400c:	85 d2                	test   %edx,%edx
48400e:	74 28                	je     0x484038
484010:	3b c1                	cmp    %ecx,%eax
484012:	0f 86 5c 65 f8 ff    	jbe    0x40a574
484018:	ff 75 e4             	push   -0x1c(%ebp)
48401b:	8d 43 1c             	lea    0x1c(%ebx),%eax
48401e:	50                   	push   %eax
48401f:	51                   	push   %ecx
484020:	8b 4d f8             	mov    -0x8(%ebp),%ecx
484023:	e8 34 d3 fe ff       	call   0x47135c
484028:	83 c4 0c             	add    $0xc,%esp
48402b:	85 c0                	test   %eax,%eax
48402d:	0f 84 41 65 f8 ff    	je     0x40a574
484033:	e9 3e 66 f8 ff       	jmp    0x40a676
484038:	8b 73 1c             	mov    0x1c(%ebx),%esi
48403b:	8d 14 36             	lea    (%esi,%esi,1),%edx
48403e:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
484041:	39 45 f8             	cmp    %eax,-0x8(%ebp)
484044:	0f 82 2a 65 f8 ff    	jb     0x40a574
48404a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48404d:	2b ca                	sub    %edx,%ecx
48404f:	66 8b 01             	mov    (%ecx),%ax
484052:	66 3b 43 34          	cmp    0x34(%ebx),%ax
484056:	0f 85 18 65 f8 ff    	jne    0x40a574
48405c:	83 fe 01             	cmp    $0x1,%esi
48405f:	0f 84 11 66 f8 ff    	je     0x40a676
484065:	66 8b 41 02          	mov    0x2(%ecx),%ax
484069:	66 3b 43 36          	cmp    0x36(%ebx),%ax
48406d:	0f 85 01 65 f8 ff    	jne    0x40a574
484073:	e9 fe 65 f8 ff       	jmp    0x40a676
484078:	8b 8b 98 00 00 00    	mov    0x98(%ebx),%ecx
48407e:	8b 43 78             	mov    0x78(%ebx),%eax
484081:	8d 04 48             	lea    (%eax,%ecx,2),%eax
484084:	39 45 f8             	cmp    %eax,-0x8(%ebp)
484087:	0f 85 e7 64 f8 ff    	jne    0x40a574
48408d:	83 c7 02             	add    $0x2,%edi
484090:	89 7d cc             	mov    %edi,-0x34(%ebp)
484093:	e9 c8 62 f8 ff       	jmp    0x40a360
484098:	8b 45 f8             	mov    -0x8(%ebp),%eax
48409b:	83 c7 02             	add    $0x2,%edi
48409e:	89 45 08             	mov    %eax,0x8(%ebp)
4840a1:	89 7d cc             	mov    %edi,-0x34(%ebp)
4840a4:	e9 b7 62 f8 ff       	jmp    0x40a360
4840a9:	8b 4b 7c             	mov    0x7c(%ebx),%ecx
4840ac:	8b 45 f8             	mov    -0x8(%ebp),%eax
4840af:	3b c1                	cmp    %ecx,%eax
4840b1:	0f 83 b7 00 00 00    	jae    0x48416e
4840b7:	8b 53 18             	mov    0x18(%ebx),%edx
4840ba:	85 d2                	test   %edx,%edx
4840bc:	74 79                	je     0x484137
4840be:	ff 75 e4             	push   -0x1c(%ebp)
4840c1:	8d 43 1c             	lea    0x1c(%ebx),%eax
4840c4:	50                   	push   %eax
4840c5:	51                   	push   %ecx
4840c6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4840c9:	e8 30 4f f8 ff       	call   0x408ffe
4840ce:	83 c4 0c             	add    $0xc,%esp
4840d1:	85 c0                	test   %eax,%eax
4840d3:	0f 85 9d 65 f8 ff    	jne    0x40a676
4840d9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4840dc:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
4840e3:	0f 84 8b 64 f8 ff    	je     0x40a574
4840e9:	83 c0 02             	add    $0x2,%eax
4840ec:	3b 43 7c             	cmp    0x7c(%ebx),%eax
4840ef:	0f 82 7f 64 f8 ff    	jb     0x40a574
4840f5:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
4840f9:	0f 85 75 64 f8 ff    	jne    0x40a574
4840ff:	83 7b 1c 02          	cmpl   $0x2,0x1c(%ebx)
484103:	0f 85 6b 64 f8 ff    	jne    0x40a574
484109:	8b 45 f8             	mov    -0x8(%ebp),%eax
48410c:	66 8b 00             	mov    (%eax),%ax
48410f:	66 3b 43 34          	cmp    0x34(%ebx),%ax
484113:	0f 85 5b 64 f8 ff    	jne    0x40a574
484119:	c7 43 68 01 00 00 00 	movl   $0x1,0x68(%ebx)
484120:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
484127:	0f 8e 47 64 f8 ff    	jle    0x40a574
48412d:	b8 f4 ff ff ff       	mov    $0xfffffff4,%eax
484132:	e9 90 63 f8 ff       	jmp    0x40a4c7
484137:	8b 53 1c             	mov    0x1c(%ebx),%edx
48413a:	8d 04 12             	lea    (%edx,%edx,1),%eax
48413d:	2b c8                	sub    %eax,%ecx
48413f:	8b 45 f8             	mov    -0x8(%ebp),%eax
484142:	3b c1                	cmp    %ecx,%eax
484144:	77 96                	ja     0x4840dc
484146:	66 8b 00             	mov    (%eax),%ax
484149:	66 3b 43 34          	cmp    0x34(%ebx),%ax
48414d:	75 8a                	jne    0x4840d9
48414f:	83 fa 01             	cmp    $0x1,%edx
484152:	0f 84 1e 65 f8 ff    	je     0x40a676
484158:	8b 45 f8             	mov    -0x8(%ebp),%eax
48415b:	66 8b 40 02          	mov    0x2(%eax),%ax
48415f:	66 3b 43 36          	cmp    0x36(%ebx),%ax
484163:	0f 85 70 ff ff ff    	jne    0x4840d9
484169:	e9 08 65 f8 ff       	jmp    0x40a676
48416e:	39 53 4c             	cmp    %edx,0x4c(%ebx)
484171:	0f 85 fd 63 f8 ff    	jne    0x40a574
484177:	39 93 8c 00 00 00    	cmp    %edx,0x8c(%ebx)
48417d:	eb 07                	jmp    0x484186
48417f:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
484186:	0f 84 ea 64 f8 ff    	je     0x40a676
48418c:	3b 83 88 00 00 00    	cmp    0x88(%ebx),%eax
484192:	0f 86 de 64 f8 ff    	jbe    0x40a676
484198:	c7 43 68 01 00 00 00 	movl   $0x1,0x68(%ebx)
48419f:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
4841a6:	7f 85                	jg     0x48412d
4841a8:	83 c7 02             	add    $0x2,%edi
4841ab:	89 7d cc             	mov    %edi,-0x34(%ebp)
4841ae:	e9 ad 61 f8 ff       	jmp    0x40a360
4841b3:	39 53 4c             	cmp    %edx,0x4c(%ebx)
4841b6:	0f 85 b8 63 f8 ff    	jne    0x40a574
4841bc:	39 53 5c             	cmp    %edx,0x5c(%ebx)
4841bf:	74 14                	je     0x4841d5
4841c1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4841c4:	3b 43 7c             	cmp    0x7c(%ebx),%eax
4841c7:	0f 82 a7 63 f8 ff    	jb     0x40a574
4841cd:	39 93 8c 00 00 00    	cmp    %edx,0x8c(%ebx)
4841d3:	eb b1                	jmp    0x484186
4841d5:	8b 4b 7c             	mov    0x7c(%ebx),%ecx
4841d8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4841db:	3b c1                	cmp    %ecx,%eax
4841dd:	73 a0                	jae    0x48417f
4841df:	8b 53 18             	mov    0x18(%ebx),%edx
4841e2:	8d 73 1c             	lea    0x1c(%ebx),%esi
4841e5:	85 d2                	test   %edx,%edx
4841e7:	74 18                	je     0x484201
4841e9:	ff 75 e4             	push   -0x1c(%ebp)
4841ec:	56                   	push   %esi
4841ed:	51                   	push   %ecx
4841ee:	8b c8                	mov    %eax,%ecx
4841f0:	e8 09 4e f8 ff       	call   0x408ffe
4841f5:	83 c4 0c             	add    $0xc,%esp
4841f8:	85 c0                	test   %eax,%eax
4841fa:	75 3a                	jne    0x484236
4841fc:	e9 d8 fe ff ff       	jmp    0x4840d9
484201:	8b 16                	mov    (%esi),%edx
484203:	8d 04 12             	lea    (%edx,%edx,1),%eax
484206:	2b c8                	sub    %eax,%ecx
484208:	8b 45 f8             	mov    -0x8(%ebp),%eax
48420b:	3b c1                	cmp    %ecx,%eax
48420d:	0f 87 c9 fe ff ff    	ja     0x4840dc
484213:	66 8b 00             	mov    (%eax),%ax
484216:	66 3b 43 34          	cmp    0x34(%ebx),%ax
48421a:	0f 85 b9 fe ff ff    	jne    0x4840d9
484220:	83 fa 01             	cmp    $0x1,%edx
484223:	74 11                	je     0x484236
484225:	8b 45 f8             	mov    -0x8(%ebp),%eax
484228:	66 8b 40 02          	mov    0x2(%eax),%ax
48422c:	66 3b 43 36          	cmp    0x36(%ebx),%ax
484230:	0f 85 a3 fe ff ff    	jne    0x4840d9
484236:	8b 0e                	mov    (%esi),%ecx
484238:	8b 43 7c             	mov    0x7c(%ebx),%eax
48423b:	03 c9                	add    %ecx,%ecx
48423d:	2b c1                	sub    %ecx,%eax
48423f:	39 45 f8             	cmp    %eax,-0x8(%ebp)
484242:	8b 45 f8             	mov    -0x8(%ebp),%eax
484245:	0f 85 91 fe ff ff    	jne    0x4840dc
48424b:	e9 2f ff ff ff       	jmp    0x48417f
484250:	8b 45 f8             	mov    -0x8(%ebp),%eax
484253:	39 55 e4             	cmp    %edx,-0x1c(%ebp)
484256:	0f 84 a5 01 00 00    	je     0x484401
48425c:	3b 43 78             	cmp    0x78(%ebx),%eax
48425f:	0f 84 d4 00 00 00    	je     0x484339
484265:	8d 50 fe             	lea    -0x2(%eax),%edx
484268:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
48426d:	66 8b 02             	mov    (%edx),%ax
484270:	66 23 c1             	and    %cx,%ax
484273:	b9 00 dc 00 00       	mov    $0xdc00,%ecx
484278:	66 3b c1             	cmp    %cx,%ax
48427b:	75 03                	jne    0x484280
48427d:	83 ea 02             	sub    $0x2,%edx
484280:	3b 93 88 00 00 00    	cmp    0x88(%ebx),%edx
484286:	73 06                	jae    0x48428e
484288:	89 93 88 00 00 00    	mov    %edx,0x88(%ebx)
48428e:	0f b7 0a             	movzwl (%edx),%ecx
484291:	8b c1                	mov    %ecx,%eax
484293:	25 00 fc 00 00       	and    $0xfc00,%eax
484298:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48429d:	75 1a                	jne    0x4842b9
48429f:	0f b7 42 02          	movzwl 0x2(%edx),%eax
4842a3:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
4842a9:	25 ff 03 00 00       	and    $0x3ff,%eax
4842ae:	c1 e1 0a             	shl    $0xa,%ecx
4842b1:	0b c8                	or     %eax,%ecx
4842b3:	81 c1 00 00 01 00    	add    $0x10000,%ecx
4842b9:	83 7b 58 00          	cmpl   $0x0,0x58(%ebx)
4842bd:	74 5c                	je     0x48431b
4842bf:	83 f9 5f             	cmp    $0x5f,%ecx
4842c2:	75 08                	jne    0x4842cc
4842c4:	8b 45 f8             	mov    -0x8(%ebp),%eax
4842c7:	8d 71 a2             	lea    -0x5e(%ecx),%esi
4842ca:	eb 6f                	jmp    0x48433b
4842cc:	8b c1                	mov    %ecx,%eax
4842ce:	99                   	cltd
4842cf:	83 e2 7f             	and    $0x7f,%edx
4842d2:	03 c2                	add    %edx,%eax
4842d4:	c1 f8 07             	sar    $0x7,%eax
4842d7:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
4842de:	c1 e0 07             	shl    $0x7,%eax
4842e1:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
4842e7:	79 05                	jns    0x4842ee
4842e9:	49                   	dec    %ecx
4842ea:	83 c9 80             	or     $0xffffff80,%ecx
4842ed:	41                   	inc    %ecx
4842ee:	03 c1                	add    %ecx,%eax
4842f0:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
4842f7:	00
4842f8:	0f b6 04 c5 09 b1 4a 	movzbl 0x4ab109(,%eax,8),%eax
4842ff:	00
484300:	8b 04 85 80 61 4b 00 	mov    0x4b6180(,%eax,4),%eax
484307:	83 f8 01             	cmp    $0x1,%eax
48430a:	74 05                	je     0x484311
48430c:	83 f8 03             	cmp    $0x3,%eax
48430f:	75 25                	jne    0x484336
484311:	8b 45 f8             	mov    -0x8(%ebp),%eax
484314:	be 01 00 00 00       	mov    $0x1,%esi
484319:	eb 20                	jmp    0x48433b
48431b:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
484321:	73 13                	jae    0x484336
484323:	8b 43 44             	mov    0x44(%ebx),%eax
484326:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
48432a:	74 0a                	je     0x484336
48432c:	8b 45 f8             	mov    -0x8(%ebp),%eax
48432f:	be 01 00 00 00       	mov    $0x1,%esi
484334:	eb 05                	jmp    0x48433b
484336:	8b 45 f8             	mov    -0x8(%ebp),%eax
484339:	33 f6                	xor    %esi,%esi
48433b:	3b 43 7c             	cmp    0x7c(%ebx),%eax
48433e:	73 63                	jae    0x4843a3
484340:	0f b7 08             	movzwl (%eax),%ecx
484343:	8b c1                	mov    %ecx,%eax
484345:	25 00 fc 00 00       	and    $0xfc00,%eax
48434a:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48434f:	75 1d                	jne    0x48436e
484351:	8b 45 f8             	mov    -0x8(%ebp),%eax
484354:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
48435a:	0f b7 40 02          	movzwl 0x2(%eax),%eax
48435e:	25 ff 03 00 00       	and    $0x3ff,%eax
484363:	c1 e1 0a             	shl    $0xa,%ecx
484366:	0b c8                	or     %eax,%ecx
484368:	81 c1 00 00 01 00    	add    $0x10000,%ecx
48436e:	83 7b 58 00          	cmpl   $0x0,0x58(%ebx)
484372:	74 76                	je     0x4843ea
484374:	83 f9 5f             	cmp    $0x5f,%ecx
484377:	0f 84 ad 01 00 00    	je     0x48452a
48437d:	8b c1                	mov    %ecx,%eax
48437f:	99                   	cltd
484380:	83 e2 7f             	and    $0x7f,%edx
484383:	03 c2                	add    %edx,%eax
484385:	c1 f8 07             	sar    $0x7,%eax
484388:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
48438f:	c1 e0 07             	shl    $0x7,%eax
484392:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
484398:	0f 88 38 01 00 00    	js     0x4844d6
48439e:	e9 38 01 00 00       	jmp    0x4844db
4843a3:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
4843aa:	74 1c                	je     0x4843c8
4843ac:	3b 83 88 00 00 00    	cmp    0x88(%ebx),%eax
4843b2:	76 14                	jbe    0x4843c8
4843b4:	c7 43 68 01 00 00 00 	movl   $0x1,0x68(%ebx)
4843bb:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
4843c2:	0f 8f 65 fd ff ff    	jg     0x48412d
4843c8:	33 c9                	xor    %ecx,%ecx
4843ca:	66 8b 07             	mov    (%edi),%ax
4843cd:	83 c7 02             	add    $0x2,%edi
4843d0:	89 7d cc             	mov    %edi,-0x34(%ebp)
4843d3:	66 83 f8 05          	cmp    $0x5,%ax
4843d7:	0f 85 57 01 00 00    	jne    0x484534
4843dd:	3b ce                	cmp    %esi,%ecx
4843df:	0f 85 7b 5f f8 ff    	jne    0x40a360
4843e5:	e9 8a 61 f8 ff       	jmp    0x40a574
4843ea:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
4843f0:	73 d6                	jae    0x4843c8
4843f2:	8b 43 44             	mov    0x44(%ebx),%eax
4843f5:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
4843f9:	0f 85 2b 01 00 00    	jne    0x48452a
4843ff:	eb c7                	jmp    0x4843c8
484401:	3b 43 78             	cmp    0x78(%ebx),%eax
484404:	0f 84 96 00 00 00    	je     0x4844a0
48440a:	3b 83 88 00 00 00    	cmp    0x88(%ebx),%eax
484410:	77 0c                	ja     0x48441e
484412:	83 c0 fe             	add    $0xfffffffe,%eax
484415:	89 83 88 00 00 00    	mov    %eax,0x88(%ebx)
48441b:	8b 45 f8             	mov    -0x8(%ebp),%eax
48441e:	0f b7 48 fe          	movzwl -0x2(%eax),%ecx
484422:	39 53 58             	cmp    %edx,0x58(%ebx)
484425:	74 59                	je     0x484480
484427:	83 f9 5f             	cmp    $0x5f,%ecx
48442a:	75 05                	jne    0x484431
48442c:	8d 71 a2             	lea    -0x5e(%ecx),%esi
48442f:	eb 71                	jmp    0x4844a2
484431:	8b c1                	mov    %ecx,%eax
484433:	99                   	cltd
484434:	83 e2 7f             	and    $0x7f,%edx
484437:	03 c2                	add    %edx,%eax
484439:	c1 f8 07             	sar    $0x7,%eax
48443c:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
484443:	c1 e0 07             	shl    $0x7,%eax
484446:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
48444c:	79 05                	jns    0x484453
48444e:	49                   	dec    %ecx
48444f:	83 c9 80             	or     $0xffffff80,%ecx
484452:	41                   	inc    %ecx
484453:	03 c1                	add    %ecx,%eax
484455:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
48445c:	00
48445d:	0f b6 04 c5 09 b1 4a 	movzbl 0x4ab109(,%eax,8),%eax
484464:	00
484465:	8b 04 85 80 61 4b 00 	mov    0x4b6180(,%eax,4),%eax
48446c:	83 f8 01             	cmp    $0x1,%eax
48446f:	74 05                	je     0x484476
484471:	83 f8 03             	cmp    $0x3,%eax
484474:	75 27                	jne    0x48449d
484476:	8b 45 f8             	mov    -0x8(%ebp),%eax
484479:	be 01 00 00 00       	mov    $0x1,%esi
48447e:	eb 22                	jmp    0x4844a2
484480:	ba ff 00 00 00       	mov    $0xff,%edx
484485:	66 3b ca             	cmp    %dx,%cx
484488:	77 16                	ja     0x4844a0
48448a:	8b 43 44             	mov    0x44(%ebx),%eax
48448d:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
484491:	74 0a                	je     0x48449d
484493:	8b 45 f8             	mov    -0x8(%ebp),%eax
484496:	be 01 00 00 00       	mov    $0x1,%esi
48449b:	eb 05                	jmp    0x4844a2
48449d:	8b 45 f8             	mov    -0x8(%ebp),%eax
4844a0:	33 f6                	xor    %esi,%esi
4844a2:	3b 43 7c             	cmp    0x7c(%ebx),%eax
4844a5:	0f 83 f8 fe ff ff    	jae    0x4843a3
4844ab:	83 7b 58 00          	cmpl   $0x0,0x58(%ebx)
4844af:	74 59                	je     0x48450a
4844b1:	0f b7 08             	movzwl (%eax),%ecx
4844b4:	83 f9 5f             	cmp    $0x5f,%ecx
4844b7:	74 71                	je     0x48452a
4844b9:	8b c1                	mov    %ecx,%eax
4844bb:	99                   	cltd
4844bc:	83 e2 7f             	and    $0x7f,%edx
4844bf:	03 c2                	add    %edx,%eax
4844c1:	c1 f8 07             	sar    $0x7,%eax
4844c4:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
4844cb:	c1 e0 07             	shl    $0x7,%eax
4844ce:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
4844d4:	79 05                	jns    0x4844db