42c218:	2b c0                	sub    %eax,%eax
42c21a:	ac                   	lods   %ds:(%esi),%al
42c21b:	8b c8                	mov    %eax,%ecx
42c21d:	80 e1 f0             	and    $0xf0,%cl
42c220:	24 0f                	and    $0xf,%al
42c222:	c1 e1 0c             	shl    $0xc,%ecx
42c225:	8a e8                	mov    %al,%ch
42c227:	ac                   	lods   %ds:(%esi),%al
42c228:	0b c8                	or     %eax,%ecx
42c22a:	51                   	push   %ecx
42c22b:	02 cd                	add    %ch,%cl
42c22d:	bd 00 fd ff ff       	mov    $0xfffffd00,%ebp
42c232:	d3 e5                	shl    %cl,%ebp
42c234:	59                   	pop    %ecx
42c235:	58                   	pop    %eax
42c236:	8b dc                	mov    %esp,%ebx
42c238:	8d a4 6c 90 f1 ff ff 	lea    -0xe70(%esp,%ebp,2),%esp
42c23f:	51                   	push   %ecx
42c240:	2b c9                	sub    %ecx,%ecx
42c242:	51                   	push   %ecx
42c243:	51                   	push   %ecx
42c244:	8b cc                	mov    %esp,%ecx
42c246:	51                   	push   %ecx
42c247:	66 8b 17             	mov    (%edi),%dx
42c24a:	c1 e2 0c             	shl    $0xc,%edx
42c24d:	52                   	push   %edx
42c24e:	57                   	push   %edi
42c24f:	83 c1 04             	add    $0x4,%ecx
42c252:	51                   	push   %ecx
42c253:	50                   	push   %eax
42c254:	83 c1 04             	add    $0x4,%ecx
42c257:	56                   	push   %esi
42c258:	51                   	push   %ecx
42c259:	e8 5e 00 00 00       	call   0x42c2bc
42c25e:	8b e3                	mov    %ebx,%esp
42c260:	5e                   	pop    %esi
42c261:	5a                   	pop    %edx
42c262:	2b c0                	sub    %eax,%eax
42c264:	89 04 32             	mov    %eax,(%edx,%esi,1)
42c267:	b4 10                	mov    $0x10,%ah
42c269:	2b d0                	sub    %eax,%edx
42c26b:	2b c9                	sub    %ecx,%ecx
42c26d:	3b ca                	cmp    %edx,%ecx
42c26f:	73 26                	jae    0x42c297
42c271:	8b d9                	mov    %ecx,%ebx
42c273:	ac                   	lods   %ds:(%esi),%al
42c274:	41                   	inc    %ecx
42c275:	24 fe                	and    $0xfe,%al
42c277:	3c e8                	cmp    $0xe8,%al
42c279:	75 f2                	jne    0x42c26d
42c27b:	43                   	inc    %ebx
42c27c:	83 c1 04             	add    $0x4,%ecx
42c27f:	ad                   	lods   %ds:(%esi),%eax
42c280:	0b c0                	or     %eax,%eax
42c282:	78 06                	js     0x42c28a
42c284:	3b c2                	cmp    %edx,%eax
42c286:	73 e5                	jae    0x42c26d
42c288:	eb 06                	jmp    0x42c290
42c28a:	03 c3                	add    %ebx,%eax
42c28c:	78 df                	js     0x42c26d
42c28e:	03 c2                	add    %edx,%eax
42c290:	2b c3                	sub    %ebx,%eax
42c292:	89 46 fc             	mov    %eax,-0x4(%esi)
42c295:	eb d6                	jmp    0x42c26d
42c297:	e8 00 00 00 00       	call   0x42c29c
42c29c:	5f                   	pop    %edi
42c29d:	81 c7 4d ff ff ff    	add    $0xffffff4d,%edi
42c2a3:	b0 e9                	mov    $0xe9,%al
42c2a5:	aa                   	stos   %al,%es:(%edi)
42c2a6:	b8 56 0b 00 00       	mov    $0xb56,%eax
42c2ab:	ab                   	stos   %eax,%es:(%edi)
42c2ac:	e8 00 00 00 00       	call   0x42c2b1
42c2b1:	58                   	pop    %eax
42c2b2:	05 98 0a 00 00       	add    $0xa98,%eax
42c2b7:	e9 88 0a 00 00       	jmp    0x42cd44
42c2bc:	55                   	push   %ebp
42c2bd:	57                   	push   %edi
42c2be:	56                   	push   %esi
42c2bf:	53                   	push   %ebx
42c2c0:	83 ec 7c             	sub    $0x7c,%esp
42c2c3:	8b 94 24 90 00 00 00 	mov    0x90(%esp),%edx
42c2ca:	c7 44 24 74 00 00 00 	movl   $0x0,0x74(%esp)
42c2d1:	00
42c2d2:	c6 44 24 73 00       	movb   $0x0,0x73(%esp)
42c2d7:	8b ac 24 9c 00 00 00 	mov    0x9c(%esp),%ebp
42c2de:	8d 42 04             	lea    0x4(%edx),%eax
42c2e1:	89 44 24 78          	mov    %eax,0x78(%esp)
42c2e5:	b8 01 00 00 00       	mov    $0x1,%eax
42c2ea:	0f b6 4a 02          	movzbl 0x2(%edx),%ecx
42c2ee:	8b d8                	mov    %eax,%ebx
42c2f0:	d3 e3                	shl    %cl,%ebx
42c2f2:	8b cb                	mov    %ebx,%ecx
42c2f4:	49                   	dec    %ecx
42c2f5:	89 4c 24 6c          	mov    %ecx,0x6c(%esp)
42c2f9:	0f b6 4a 01          	movzbl 0x1(%edx),%ecx
42c2fd:	d3 e0                	shl    %cl,%eax
42c2ff:	48                   	dec    %eax
42c300:	89 44 24 68          	mov    %eax,0x68(%esp)
42c304:	8b 84 24 a8 00 00 00 	mov    0xa8(%esp),%eax
42c30b:	0f b6 32             	movzbl (%edx),%esi
42c30e:	c7 45 00 00 00 00 00 	movl   $0x0,0x0(%ebp)
42c315:	c7 44 24 60 00 00 00 	movl   $0x0,0x60(%esp)
42c31c:	00
42c31d:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
42c323:	b8 00 03 00 00       	mov    $0x300,%eax
42c328:	89 74 24 64          	mov    %esi,0x64(%esp)
42c32c:	c7 44 24 5c 01 00 00 	movl   $0x1,0x5c(%esp)
42c333:	00
42c334:	c7 44 24 58 01 00 00 	movl   $0x1,0x58(%esp)
42c33b:	00
42c33c:	c7 44 24 54 01 00 00 	movl   $0x1,0x54(%esp)
42c343:	00
42c344:	c7 44 24 50 01 00 00 	movl   $0x1,0x50(%esp)
42c34b:	00
42c34c:	0f b6 4a 01          	movzbl 0x1(%edx),%ecx
42c350:	03 ce                	add    %esi,%ecx
42c352:	d3 e0                	shl    %cl,%eax
42c354:	8d 88 36 07 00 00    	lea    0x736(%eax),%ecx
42c35a:	39 4c 24 74          	cmp    %ecx,0x74(%esp)
42c35e:	73 0e                	jae    0x42c36e
42c360:	8b 44 24 78          	mov    0x78(%esp),%eax
42c364:	66 c7 00 00 04       	movw   $0x400,(%eax)
42c369:	83 c0 02             	add    $0x2,%eax
42c36c:	e2 f6                	loop   0x42c364
42c36e:	8b 9c 24 94 00 00 00 	mov    0x94(%esp),%ebx
42c375:	33 ff                	xor    %edi,%edi
42c377:	c7 44 24 48 ff ff ff 	movl   $0xffffffff,0x48(%esp)
42c37e:	ff
42c37f:	8b d3                	mov    %ebx,%edx
42c381:	03 94 24 98 00 00 00 	add    0x98(%esp),%edx
42c388:	89 54 24 4c          	mov    %edx,0x4c(%esp)
42c38c:	33 d2                	xor    %edx,%edx
42c38e:	3b 5c 24 4c          	cmp    0x4c(%esp),%ebx
42c392:	0f 84 7d 09 00 00    	je     0x42cd15
42c398:	0f b6 03             	movzbl (%ebx),%eax
42c39b:	c1 e7 08             	shl    $0x8,%edi
42c39e:	42                   	inc    %edx
42c39f:	43                   	inc    %ebx
42c3a0:	0b f8                	or     %eax,%edi
42c3a2:	83 fa 04             	cmp    $0x4,%edx
42c3a5:	7e e7                	jle    0x42c38e
42c3a7:	8b 8c 24 a4 00 00 00 	mov    0xa4(%esp),%ecx
42c3ae:	39 4c 24 74          	cmp    %ecx,0x74(%esp)
42c3b2:	0f 83 65 09 00 00    	jae    0x42cd1d
42c3b8:	8b 74 24 74          	mov    0x74(%esp),%esi
42c3bc:	23 74 24 6c          	and    0x6c(%esp),%esi
42c3c0:	8b 44 24 60          	mov    0x60(%esp),%eax
42c3c4:	8b 54 24 78          	mov    0x78(%esp),%edx
42c3c8:	c1 e0 04             	shl    $0x4,%eax
42c3cb:	89 74 24 44          	mov    %esi,0x44(%esp)
42c3cf:	03 c6                	add    %esi,%eax
42c3d1:	81 7c 24 48 ff ff ff 	cmpl   $0xffffff,0x48(%esp)
42c3d8:	00
42c3d9:	8d 2c 42             	lea    (%edx,%eax,2),%ebp
42c3dc:	77 18                	ja     0x42c3f6
42c3de:	3b 5c 24 4c          	cmp    0x4c(%esp),%ebx
42c3e2:	0f 84 2d 09 00 00    	je     0x42cd15
42c3e8:	c1 64 24 48 08       	shll   $0x8,0x48(%esp)
42c3ed:	0f b6 03             	movzbl (%ebx),%eax
42c3f0:	c1 e7 08             	shl    $0x8,%edi
42c3f3:	43                   	inc    %ebx
42c3f4:	0b f8                	or     %eax,%edi
42c3f6:	8b 44 24 48          	mov    0x48(%esp),%eax
42c3fa:	66 8b 55 00          	mov    0x0(%ebp),%dx
42c3fe:	c1 e8 0b             	shr    $0xb,%eax
42c401:	0f b7 ca             	movzwl %dx,%ecx
42c404:	0f af c1             	imul   %ecx,%eax
42c407:	3b f8                	cmp    %eax,%edi
42c409:	0f 83 dd 01 00 00    	jae    0x42c5ec
42c40f:	89 44 24 48          	mov    %eax,0x48(%esp)
42c413:	b8 00 08 00 00       	mov    $0x800,%eax
42c418:	2b c1                	sub    %ecx,%eax
42c41a:	8a 4c 24 64          	mov    0x64(%esp),%cl
42c41e:	c1 f8 05             	sar    $0x5,%eax
42c421:	be 01 00 00 00       	mov    $0x1,%esi
42c426:	8d 04 10             	lea    (%eax,%edx,1),%eax
42c429:	0f b6 54 24 73       	movzbl 0x73(%esp),%edx
42c42e:	66 89 45 00          	mov    %ax,0x0(%ebp)
42c432:	8b 44 24 74          	mov    0x74(%esp),%eax
42c436:	23 44 24 68          	and    0x68(%esp),%eax
42c43a:	8b 6c 24 78          	mov    0x78(%esp),%ebp
42c43e:	d3 e0                	shl    %cl,%eax
42c440:	b9 08 00 00 00       	mov    $0x8,%ecx
42c445:	2b 4c 24 64          	sub    0x64(%esp),%ecx
42c449:	d3 fa                	sar    %cl,%edx
42c44b:	03 c2                	add    %edx,%eax
42c44d:	69 c0 00 06 00 00    	imul   $0x600,%eax,%eax
42c453:	83 7c 24 60 06       	cmpl   $0x6,0x60(%esp)
42c458:	8d 84 28 6c 0e 00 00 	lea    0xe6c(%eax,%ebp,1),%eax
42c45f:	89 44 24 14          	mov    %eax,0x14(%esp)
42c463:	0f 8e ca 00 00 00    	jle    0x42c533
42c469:	8b 44 24 74          	mov    0x74(%esp),%eax
42c46d:	2b 44 24 5c          	sub    0x5c(%esp),%eax
42c471:	8b 94 24 a0 00 00 00 	mov    0xa0(%esp),%edx
42c478:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
42c47c:	89 44 24 40          	mov    %eax,0x40(%esp)
42c480:	d1 64 24 40          	shll   $1,0x40(%esp)
42c484:	8b 4c 24 40          	mov    0x40(%esp),%ecx
42c488:	8d 14 36             	lea    (%esi,%esi,1),%edx
42c48b:	8b 6c 24 14          	mov    0x14(%esp),%ebp
42c48f:	81 e1 00 01 00 00    	and    $0x100,%ecx
42c495:	81 7c 24 48 ff ff ff 	cmpl   $0xffffff,0x48(%esp)
42c49c:	00
42c49d:	8d 44 4d 00          	lea    0x0(%ebp,%ecx,2),%eax
42c4a1:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
42c4a5:	8d 2c 02             	lea    (%edx,%eax,1),%ebp
42c4a8:	77 18                	ja     0x42c4c2
42c4aa:	3b 5c 24 4c          	cmp    0x4c(%esp),%ebx
42c4ae:	0f 84 61 08 00 00    	je     0x42cd15
42c4b4:	c1 64 24 48 08       	shll   $0x8,0x48(%esp)
42c4b9:	0f b6 03             	movzbl (%ebx),%eax
42c4bc:	c1 e7 08             	shl    $0x8,%edi
42c4bf:	43                   	inc    %ebx
42c4c0:	0b f8                	or     %eax,%edi
42c4c2:	8b 44 24 48          	mov    0x48(%esp),%eax
42c4c6:	66 8b 8d 00 02 00 00 	mov    0x200(%ebp),%cx
42c4cd:	c1 e8 0b             	shr    $0xb,%eax
42c4d0:	0f b7 f1             	movzwl %cx,%esi
42c4d3:	0f af c6             	imul   %esi,%eax
42c4d6:	3b f8                	cmp    %eax,%edi
42c4d8:	73 23                	jae    0x42c4fd
42c4da:	89 44 24 48          	mov    %eax,0x48(%esp)
42c4de:	b8 00 08 00 00       	mov    $0x800,%eax
42c4e3:	2b c6                	sub    %esi,%eax
42c4e5:	8b f2                	mov    %edx,%esi
42c4e7:	c1 f8 05             	sar    $0x5,%eax
42c4ea:	83 7c 24 3c 00       	cmpl   $0x0,0x3c(%esp)
42c4ef:	8d 04 08             	lea    (%eax,%ecx,1),%eax
42c4f2:	66 89 85 00 02 00 00 	mov    %ax,0x200(%ebp)
42c4f9:	74 22                	je     0x42c51d
42c4fb:	eb 2e                	jmp    0x42c52b
42c4fd:	29 44 24 48          	sub    %eax,0x48(%esp)
42c501:	2b f8                	sub    %eax,%edi
42c503:	8b c1                	mov    %ecx,%eax
42c505:	8d 72 01             	lea    0x1(%edx),%esi
42c508:	66 c1 e8 05          	shr    $0x5,%ax
42c50c:	66 2b c8             	sub    %ax,%cx
42c50f:	83 7c 24 3c 00       	cmpl   $0x0,0x3c(%esp)
42c514:	66 89 8d 00 02 00 00 	mov    %cx,0x200(%ebp)
42c51b:	74 0e                	je     0x42c52b
42c51d:	81 fe ff 00 00 00    	cmp    $0xff,%esi
42c523:	0f 8e 57 ff ff ff    	jle    0x42c480
42c529:	eb 79                	jmp    0x42c5a4
42c52b:	81 fe ff 00 00 00    	cmp    $0xff,%esi
42c531:	7f 71                	jg     0x42c5a4
42c533:	8d 14 36             	lea    (%esi,%esi,1),%edx
42c536:	8b 6c 24 14          	mov    0x14(%esp),%ebp
42c53a:	03 ea                	add    %edx,%ebp
42c53c:	81 7c 24 48 ff ff ff 	cmpl   $0xffffff,0x48(%esp)
42c543:	00
42c544:	77 18                	ja     0x42c55e
42c546:	3b 5c 24 4c          	cmp    0x4c(%esp),%ebx
42c54a:	0f 84 c5 07 00 00    	je     0x42cd15
42c550:	c1 64 24 48 08       	shll   $0x8,0x48(%esp)
42c555:	0f b6 03             	movzbl (%ebx),%eax
42c558:	c1 e7 08             	shl    $0x8,%edi
42c55b:	43                   	inc    %ebx
42c55c:	0b f8                	or     %eax,%edi
42c55e:	8b 44 24 48          	mov    0x48(%esp),%eax
42c562:	66 8b 4d 00          	mov    0x0(%ebp),%cx
42c566:	c1 e8 0b             	shr    $0xb,%eax
42c569:	0f b7 f1             	movzwl %cx,%esi
42c56c:	0f af c6             	imul   %esi,%eax
42c56f:	3b f8                	cmp    %eax,%edi
42c571:	73 19                	jae    0x42c58c
42c573:	89 44 24 48          	mov    %eax,0x48(%esp)
42c577:	b8 00 08 00 00       	mov    $0x800,%eax
42c57c:	2b c6                	sub    %esi,%eax
42c57e:	8b f2                	mov    %edx,%esi
42c580:	c1 f8 05             	sar    $0x5,%eax
42c583:	8d 04 08             	lea    (%eax,%ecx,1),%eax
42c586:	66 89 45 00          	mov    %ax,0x0(%ebp)
42c58a:	eb 9f                	jmp    0x42c52b
42c58c:	29 44 24 48          	sub    %eax,0x48(%esp)
42c590:	2b f8                	sub    %eax,%edi
42c592:	8b c1                	mov    %ecx,%eax
42c594:	8d 72 01             	lea    0x1(%edx),%esi
42c597:	66 c1 e8 05          	shr    $0x5,%ax
42c59b:	66 2b c8             	sub    %ax,%cx
42c59e:	66 89 4d 00          	mov    %cx,0x0(%ebp)
42c5a2:	eb 87                	jmp    0x42c52b
42c5a4:	8b 54 24 74          	mov    0x74(%esp),%edx
42c5a8:	8b c6                	mov    %esi,%eax
42c5aa:	8b 8c 24 a0 00 00 00 	mov    0xa0(%esp),%ecx
42c5b1:	88 44 24 73          	mov    %al,0x73(%esp)
42c5b5:	88 04 11             	mov    %al,(%ecx,%edx,1)
42c5b8:	42                   	inc    %edx
42c5b9:	83 7c 24 60 03       	cmpl   $0x3,0x60(%esp)
42c5be:	89 54 24 74          	mov    %edx,0x74(%esp)
42c5c2:	7f 0d                	jg     0x42c5d1
42c5c4:	c7 44 24 60 00 00 00 	movl   $0x0,0x60(%esp)
42c5cb:	00
42c5cc:	e9 1c 07 00 00       	jmp    0x42cced
42c5d1:	83 7c 24 60 09       	cmpl   $0x9,0x60(%esp)
42c5d6:	7f 0a                	jg     0x42c5e2
42c5d8:	83 6c 24 60 03       	subl   $0x3,0x60(%esp)
42c5dd:	e9 0b 07 00 00       	jmp    0x42cced
42c5e2:	83 6c 24 60 06       	subl   $0x6,0x60(%esp)
42c5e7:	e9 01 07 00 00       	jmp    0x42cced
42c5ec:	8b 4c 24 48          	mov    0x48(%esp),%ecx
42c5f0:	2b f8                	sub    %eax,%edi
42c5f2:	8b 74 24 60          	mov    0x60(%esp),%esi
42c5f6:	2b c8                	sub    %eax,%ecx
42c5f8:	8b c2                	mov    %edx,%eax
42c5fa:	66 c1 e8 05          	shr    $0x5,%ax
42c5fe:	66 2b d0             	sub    %ax,%dx
42c601:	81 f9 ff ff ff 00    	cmp    $0xffffff,%ecx
42c607:	66 89 55 00          	mov    %dx,0x0(%ebp)
42c60b:	8b 6c 24 78          	mov    0x78(%esp),%ebp
42c60f:	8d 74 75 00          	lea    0x0(%ebp,%esi,2),%esi
42c613:	89 74 24 38          	mov    %esi,0x38(%esp)
42c617:	77 16                	ja     0x42c62f
42c619:	3b 5c 24 4c          	cmp    0x4c(%esp),%ebx
42c61d:	0f 84 f2 06 00 00    	je     0x42cd15
42c623:	0f b6 03             	movzbl (%ebx),%eax
42c626:	c1 e7 08             	shl    $0x8,%edi
42c629:	c1 e1 08             	shl    $0x8,%ecx
42c62c:	43                   	inc    %ebx
42c62d:	0b f8                	or     %eax,%edi
42c62f:	8b 6c 24 38          	mov    0x38(%esp),%ebp
42c633:	8b c1                	mov    %ecx,%eax
42c635:	c1 e8 0b             	shr    $0xb,%eax
42c638:	66 8b 95 80 01 00 00 	mov    0x180(%ebp),%dx
42c63f:	0f b7 ea             	movzwl %dx,%ebp
42c642:	0f af c5             	imul   %ebp,%eax
42c645:	3b f8                	cmp    %eax,%edi
42c647:	73 52                	jae    0x42c69b
42c649:	8b f0                	mov    %eax,%esi
42c64b:	b8 00 08 00 00       	mov    $0x800,%eax
42c650:	2b c5                	sub    %ebp,%eax
42c652:	8b 6c 24 58          	mov    0x58(%esp),%ebp
42c656:	c1 f8 05             	sar    $0x5,%eax
42c659:	8b 4c 24 54          	mov    0x54(%esp),%ecx
42c65d:	8d 04 10             	lea    (%eax,%edx,1),%eax
42c660:	8b 54 24 38          	mov    0x38(%esp),%edx
42c664:	89 4c 24 50          	mov    %ecx,0x50(%esp)
42c668:	8b 4c 24 78          	mov    0x78(%esp),%ecx
42c66c:	66 89 82 80 01 00 00 	mov    %ax,0x180(%edx)
42c673:	8b 44 24 5c          	mov    0x5c(%esp),%eax
42c677:	89 6c 24 54          	mov    %ebp,0x54(%esp)
42c67b:	89 44 24 58          	mov    %eax,0x58(%esp)
42c67f:	33 c0                	xor    %eax,%eax
42c681:	83 7c 24 60 06       	cmpl   $0x6,0x60(%esp)
42c686:	0f 9f c0             	setg   %al
42c689:	81 c1 64 06 00 00    	add    $0x664,%ecx
42c68f:	8d 04 40             	lea    (%eax,%eax,2),%eax
42c692:	89 44 24 60          	mov    %eax,0x60(%esp)
42c696:	e9 74 02 00 00       	jmp    0x42c90f
42c69b:	8b f1                	mov    %ecx,%esi
42c69d:	2b f8                	sub    %eax,%edi