50f349:	ed                   	in     (%dx),%eax
50f34a:	50                   	push   %eax
50f34b:	00 a8 ef 50 00 8f    	add    %ch,-0x70ffaf11(%eax)
50f351:	ed                   	in     (%dx),%eax
50f352:	50                   	push   %eax
50f353:	00 91 ee 50 00 36    	add    %dl,0x360050ee(%ecx)
50f359:	f3 50                	repz push %eax
50f35b:	00 00                	add    %al,(%eax)
50f35d:	05 00 05 05 00       	add    $0x50500,%eax
50f36a:	00 05 05 05 05 05    	add    %al,0x5050505
50f370:	05 05 05 05 05       	add    $0x5050505,%eax
50f375:	05 05 05 05 05       	add    $0x5050505,%eax
50f37a:	05 05 05 05 05       	add    $0x5050505,%eax
50f37f:	05 05 05 05 05       	add    $0x5050505,%eax
50f384:	05 05 05 05 05       	add    $0x5050505,%eax
50f389:	05 05 05 05 05       	add    $0x5050505,%eax
50f38e:	05 05 05 05 05       	add    $0x5050505,%eax
50f393:	05 05 05 05 05       	add    $0x5050505,%eax
50f398:	05 05 05 05 05       	add    $0x5050505,%eax
50f39d:	01 05 05 05 05 05    	add    %eax,0x5050505
50f3a3:	05 02 05 03 05       	add    $0x5030502,%eax
50f3a8:	04 cc                	add    $0xcc,%al
50f3aa:	cc                   	int3
50f3ab:	cc                   	int3
50f3ac:	cc                   	int3
50f3ad:	cc                   	int3
50f3ae:	cc                   	int3
50f3af:	cc                   	int3
50f3b0:	55                   	push   %ebp
50f3b1:	8b ec                	mov    %esp,%ebp
50f3b3:	83 ec 0c             	sub    $0xc,%esp
50f3b6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
50f3bb:	33 c5                	xor    %ebp,%eax
50f3bd:	89 45 fc             	mov    %eax,-0x4(%ebp)
50f3c0:	53                   	push   %ebx
50f3c1:	56                   	push   %esi
50f3c2:	8b 75 08             	mov    0x8(%ebp),%esi
50f3c5:	57                   	push   %edi
50f3c6:	8b 7d 0c             	mov    0xc(%ebp),%edi
50f3c9:	0f b6 06             	movzbl (%esi),%eax
50f3cc:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
50f3d3:	74 19                	je     0x50f3ee
50f3d5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
50f3dc:	00 00 00 00
50f3e0:	0f b6 46 01          	movzbl 0x1(%esi),%eax
50f3e4:	46                   	inc    %esi
50f3e5:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
50f3ec:	75 f2                	jne    0x50f3e0
50f3ee:	c7 47 1c 00 00 00 00 	movl   $0x0,0x1c(%edi)
50f3f5:	0f be 0e             	movsbl (%esi),%ecx
50f3f8:	83 f9 2d             	cmp    $0x2d,%ecx
50f3fb:	75 05                	jne    0x50f402
50f3fd:	83 cb ff             	or     $0xffffffff,%ebx
50f400:	eb 08                	jmp    0x50f40a
50f402:	83 f9 2b             	cmp    $0x2b,%ecx
50f405:	75 4f                	jne    0x50f456
50f407:	8d 59 d6             	lea    -0x2a(%ecx),%ebx
50f40a:	8d 45 f4             	lea    -0xc(%ebp),%eax
50f40d:	46                   	inc    %esi
50f40e:	50                   	push   %eax
50f40f:	8d 45 f8             	lea    -0x8(%ebp),%eax
50f412:	50                   	push   %eax
50f413:	68 b4 78 6b 00       	push   $0x6b78b4
50f418:	56                   	push   %esi
50f419:	e8 d2 67 ff ff       	call   0x505bf0
50f41e:	83 c4 10             	add    $0x10,%esp
50f421:	83 f8 02             	cmp    $0x2,%eax
50f424:	74 16                	je     0x50f43c
50f426:	5f                   	pop    %edi
50f427:	5e                   	pop    %esi
50f428:	b8 01 00 00 00       	mov    $0x1,%eax
50f42d:	5b                   	pop    %ebx
50f42e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50f431:	33 cd                	xor    %ebp,%ecx
50f433:	e8 a2 20 0d 00       	call   0x5e14da
50f438:	8b e5                	mov    %ebp,%esp
50f43a:	5d                   	pop    %ebp
50f43b:	c3                   	ret
50f43c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
50f43f:	83 c6 05             	add    $0x5,%esi
50f442:	8b 45 f4             	mov    -0xc(%ebp),%eax
50f445:	c1 e1 04             	shl    $0x4,%ecx
50f448:	2b 4d f8             	sub    -0x8(%ebp),%ecx
50f44b:	8d 04 88             	lea    (%eax,%ecx,4),%eax
50f44e:	0f af c3             	imul   %ebx,%eax
50f451:	89 47 1c             	mov    %eax,0x1c(%edi)
50f454:	eb 23                	jmp    0x50f479
50f456:	83 f9 5a             	cmp    $0x5a,%ecx
50f459:	74 1d                	je     0x50f478
50f45b:	83 f9 7a             	cmp    $0x7a,%ecx
50f45e:	74 18                	je     0x50f478
50f460:	33 c0                	xor    %eax,%eax
50f462:	85 c9                	test   %ecx,%ecx
50f464:	5f                   	pop    %edi
50f465:	5e                   	pop    %esi
50f466:	0f 95 c0             	setne  %al
50f469:	5b                   	pop    %ebx
50f46a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50f46d:	33 cd                	xor    %ebp,%ecx
50f46f:	e8 66 20 0d 00       	call   0x5e14da
50f474:	8b e5                	mov    %ebp,%esp
50f476:	5d                   	pop    %ebp
50f477:	c3                   	ret
50f478:	46                   	inc    %esi
50f479:	0f b6 06             	movzbl (%esi),%eax
50f47c:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
50f483:	74 19                	je     0x50f49e
50f485:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
50f48c:	00 00 00 00
50f490:	0f b6 46 01          	movzbl 0x1(%esi),%eax
50f494:	46                   	inc    %esi
50f495:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
50f49c:	75 f2                	jne    0x50f490
50f49e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50f4a1:	33 c0                	xor    %eax,%eax
50f4a3:	c6 47 2d 01          	movb   $0x1,0x2d(%edi)
50f4a7:	38 06                	cmp    %al,(%esi)
50f4a9:	5f                   	pop    %edi
50f4aa:	0f 95 c0             	setne  %al
50f4ad:	33 cd                	xor    %ebp,%ecx
50f4af:	5e                   	pop    %esi
50f4b0:	5b                   	pop    %ebx
50f4b1:	e8 24 20 0d 00       	call   0x5e14da
50f4b6:	8b e5                	mov    %ebp,%esp
50f4b8:	5d                   	pop    %ebp
50f4b9:	c3                   	ret
50f4ba:	cc                   	int3
50f4bb:	cc                   	int3
50f4bc:	cc                   	int3
50f4bd:	cc                   	int3
50f4be:	cc                   	int3
50f4bf:	cc                   	int3
50f4c0:	55                   	push   %ebp
50f4c1:	8b ec                	mov    %esp,%ebp
50f4c3:	83 ec 10             	sub    $0x10,%esp
50f4c6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
50f4cb:	33 c5                	xor    %ebp,%eax
50f4cd:	89 45 fc             	mov    %eax,-0x4(%ebp)
50f4d0:	53                   	push   %ebx
50f4d1:	56                   	push   %esi
50f4d2:	8b 75 08             	mov    0x8(%ebp),%esi
50f4d5:	57                   	push   %edi
50f4d6:	8b 7d 0c             	mov    0xc(%ebp),%edi
50f4d9:	80 3e 2d             	cmpb   $0x2d,(%esi)
50f4dc:	75 08                	jne    0x50f4e6
50f4de:	46                   	inc    %esi
50f4df:	bb 01 00 00 00       	mov    $0x1,%ebx
50f4e4:	eb 02                	jmp    0x50f4e8
50f4e6:	33 db                	xor    %ebx,%ebx
50f4e8:	8d 45 f0             	lea    -0x10(%ebp),%eax
50f4eb:	50                   	push   %eax
50f4ec:	8d 45 f4             	lea    -0xc(%ebp),%eax
50f4ef:	50                   	push   %eax
50f4f0:	8d 45 f8             	lea    -0x8(%ebp),%eax
50f4f3:	50                   	push   %eax
50f4f4:	68 c8 78 6b 00       	push   $0x6b78c8
50f4f9:	56                   	push   %esi
50f4fa:	e8 f1 66 ff ff       	call   0x505bf0
50f4ff:	83 c4 14             	add    $0x14,%esp
50f502:	83 f8 03             	cmp    $0x3,%eax
50f505:	74 16                	je     0x50f51d
50f507:	5f                   	pop    %edi
50f508:	5e                   	pop    %esi
50f509:	b8 01 00 00 00       	mov    $0x1,%eax
50f50e:	5b                   	pop    %ebx
50f50f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50f512:	33 cd                	xor    %ebp,%ecx
50f514:	e8 c1 1f 0d 00       	call   0x5e14da
50f519:	8b e5                	mov    %ebp,%esp
50f51b:	5d                   	pop    %ebp
50f51c:	c3                   	ret
50f51d:	83 c6 0a             	add    $0xa,%esi
50f520:	8a 0e                	mov    (%esi),%cl
50f522:	0f b6 c1             	movzbl %cl,%eax
50f525:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
50f52c:	75 05                	jne    0x50f533
50f52e:	80 f9 54             	cmp    $0x54,%cl
50f531:	75 03                	jne    0x50f536
50f533:	46                   	inc    %esi
50f534:	eb ea                	jmp    0x50f520
50f536:	57                   	push   %edi
50f537:	56                   	push   %esi
50f538:	e8 83 f6 ff ff       	call   0x50ebc0
50f53d:	83 c4 08             	add    $0x8,%esp
50f540:	85 c0                	test   %eax,%eax
50f542:	74 09                	je     0x50f54d
50f544:	80 3e 00             	cmpb   $0x0,(%esi)
50f547:	75 be                	jne    0x50f507
50f549:	c6 47 2b 00          	movb   $0x0,0x2b(%edi)
50f54d:	8b 45 f8             	mov    -0x8(%ebp),%eax
50f550:	c6 47 28 00          	movb   $0x0,0x28(%edi)
50f554:	c6 47 2a 01          	movb   $0x1,0x2a(%edi)
50f558:	85 db                	test   %ebx,%ebx
50f55a:	74 02                	je     0x50f55e
50f55c:	f7 d8                	neg    %eax
50f55e:	80 7f 2c 00          	cmpb   $0x0,0x2c(%edi)
50f562:	89 47 08             	mov    %eax,0x8(%edi)
50f565:	8b 45 f4             	mov    -0xc(%ebp),%eax
50f568:	89 47 0c             	mov    %eax,0xc(%edi)
50f56b:	8b 45 f0             	mov    -0x10(%ebp),%eax
50f56e:	89 47 10             	mov    %eax,0x10(%edi)
50f571:	74 09                	je     0x50f57c
50f573:	57                   	push   %edi
50f574:	e8 17 bc fe ff       	call   0x4fb190
50f579:	83 c4 04             	add    $0x4,%esp
50f57c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50f57f:	33 c0                	xor    %eax,%eax
50f581:	5f                   	pop    %edi
50f582:	5e                   	pop    %esi
50f583:	33 cd                	xor    %ebp,%ecx
50f585:	5b                   	pop    %ebx
50f586:	e8 4f 1f 0d 00       	call   0x5e14da
50f58b:	8b e5                	mov    %ebp,%esp
50f58d:	5d                   	pop    %ebp
50f58e:	c3                   	ret
50f58f:	cc                   	int3
50f590:	55                   	push   %ebp
50f591:	8b ec                	mov    %esp,%ebp
50f593:	53                   	push   %ebx
50f594:	56                   	push   %esi
50f595:	8b 75 08             	mov    0x8(%ebp),%esi
50f598:	57                   	push   %edi
50f599:	6a 00                	push   $0x0
50f59b:	ff 75 0c             	push   0xc(%ebp)
50f59e:	56                   	push   %esi
50f59f:	e8 dc 7f 01 00       	call   0x527580
50f5a4:	8b 7d 10             	mov    0x10(%ebp),%edi
50f5a7:	83 c4 0c             	add    $0xc,%esp
50f5aa:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
50f5ae:	8b d8                	mov    %eax,%ebx
50f5b0:	75 06                	jne    0x50f5b8
50f5b2:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
50f5b6:	74 1e                	je     0x50f5d6
50f5b8:	8b 0e                	mov    (%esi),%ecx
50f5ba:	80 b9 a5 00 00 00 00 	cmpb   $0x0,0xa5(%ecx)
50f5c1:	75 13                	jne    0x50f5d6
50f5c3:	ff 37                	push   (%edi)
50f5c5:	ff 77 04             	push   0x4(%edi)
50f5c8:	68 94 be 6b 00       	push   $0x6bbe94
50f5cd:	56                   	push   %esi
50f5ce:	e8 8d 3c 01 00       	call   0x523260
50f5d3:	83 c4 10             	add    $0x10,%esp
50f5d6:	6a 01                	push   $0x1
50f5d8:	57                   	push   %edi
50f5d9:	53                   	push   %ebx
50f5da:	56                   	push   %esi
50f5db:	e8 80 84 01 00       	call   0x527a60
50f5e0:	83 c4 10             	add    $0x10,%esp
50f5e3:	8b c3                	mov    %ebx,%eax
50f5e5:	5f                   	pop    %edi
50f5e6:	5e                   	pop    %esi
50f5e7:	5b                   	pop    %ebx
50f5e8:	5d                   	pop    %ebp
50f5e9:	c3                   	ret
50f5ea:	cc                   	int3
50f5eb:	cc                   	int3
50f5ec:	cc                   	int3
50f5ed:	cc                   	int3
50f5ee:	cc                   	int3
50f5ef:	cc                   	int3
50f5f0:	55                   	push   %ebp
50f5f1:	8b ec                	mov    %esp,%ebp
50f5f3:	56                   	push   %esi
50f5f4:	8b 75 0c             	mov    0xc(%ebp),%esi
50f5f7:	83 7e 34 00          	cmpl   $0x0,0x34(%esi)
50f5fb:	74 44                	je     0x50f641
50f5fd:	33 d2                	xor    %edx,%edx
50f5ff:	8b c6                	mov    %esi,%eax
50f601:	33 c9                	xor    %ecx,%ecx
50f603:	81 48 04 00 01 00 00 	orl    $0x100,0x4(%eax)
50f60a:	41                   	inc    %ecx
50f60b:	89 50 38             	mov    %edx,0x38(%eax)
50f60e:	8b d0                	mov    %eax,%edx
50f610:	8b 40 34             	mov    0x34(%eax),%eax
50f613:	85 c0                	test   %eax,%eax
50f615:	75 ec                	jne    0x50f603
50f617:	f7 46 04 00 04 00 00 	testl  $0x400,0x4(%esi)
50f61e:	75 21                	jne    0x50f641
50f620:	8b 55 08             	mov    0x8(%ebp),%edx
50f623:	8b 02                	mov    (%edx),%eax
50f625:	8b 40 7c             	mov    0x7c(%eax),%eax
50f628:	85 c0                	test   %eax,%eax
50f62a:	7e 15                	jle    0x50f641
50f62c:	3b c8                	cmp    %eax,%ecx
50f62e:	7e 11                	jle    0x50f641
50f630:	5e                   	pop    %esi
50f631:	c7 45 0c 70 be 6b 00 	movl   $0x6bbe70,0xc(%ebp)
50f638:	89 55 08             	mov    %edx,0x8(%ebp)
50f63b:	5d                   	pop    %ebp
50f63c:	e9 1f 3c 01 00       	jmp    0x523260
50f641:	5e                   	pop    %esi
50f642:	5d                   	pop    %ebp
50f643:	c3                   	ret
50f644:	cc                   	int3
50f645:	cc                   	int3
50f646:	cc                   	int3
50f647:	cc                   	int3
50f648:	cc                   	int3
50f649:	cc                   	int3
50f64a:	cc                   	int3
50f64b:	cc                   	int3
50f64c:	cc                   	int3
50f64d:	cc                   	int3
50f64e:	cc                   	int3
50f64f:	cc                   	int3
50f650:	55                   	push   %ebp
50f651:	8b ec                	mov    %esp,%ebp
50f653:	83 ec 28             	sub    $0x28,%esp
50f656:	a1 d4 89 72 00       	mov    0x7289d4,%eax
50f65b:	33 c5                	xor    %ebp,%eax
50f65d:	89 45 fc             	mov    %eax,-0x4(%ebp)
50f660:	8b 4d 10             	mov    0x10(%ebp),%ecx
50f663:	53                   	push   %ebx
50f664:	56                   	push   %esi
50f665:	8b 75 0c             	mov    0xc(%ebp),%esi
50f668:	0f b6 41 01          	movzbl 0x1(%ecx),%eax
50f66c:	89 45 e0             	mov    %eax,-0x20(%ebp)
50f66f:	0f b6 01             	movzbl (%ecx),%eax
50f672:	89 45 f4             	mov    %eax,-0xc(%ebp)
50f675:	8a 41 03             	mov    0x3(%ecx),%al
50f678:	57                   	push   %edi
50f679:	8b 7d 08             	mov    0x8(%ebp),%edi
50f67c:	89 7d f0             	mov    %edi,-0x10(%ebp)
50f67f:	89 75 ec             	mov    %esi,-0x14(%ebp)
50f682:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
50f685:	88 45 eb             	mov    %al,-0x15(%ebp)
50f688:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
50f68f:	90                   	nop
50f690:	8a 07                	mov    (%edi),%al
50f692:	3c 80                	cmp    $0x80,%al
50f694:	73 09                	jae    0x50f69f
50f696:	47                   	inc    %edi
50f697:	0f b6 d8             	movzbl %al,%ebx
50f69a:	89 7d f0             	mov    %edi,-0x10(%ebp)
50f69d:	eb 14                	jmp    0x50f6b3
50f69f:	8d 45 f0             	lea    -0x10(%ebp),%eax
50f6a2:	50                   	push   %eax
50f6a3:	e8 98 1e 03 00       	call   0x541540
50f6a8:	8b 7d f0             	mov    -0x10(%ebp),%edi
50f6ab:	83 c4 04             	add    $0x4,%esp
50f6ae:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
50f6b1:	8b d8                	mov    %eax,%ebx
50f6b3:	85 db                	test   %ebx,%ebx
50f6b5:	0f 84 55 03 00 00    	je     0x50fa10
50f6bb:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
50f6be:	0f 84 8c 01 00 00    	je     0x50f850
50f6c4:	3b 5d 14             	cmp    0x14(%ebp),%ebx
50f6c7:	75 22                	jne    0x50f6eb
50f6c9:	80 79 02 00          	cmpb   $0x0,0x2(%ecx)
50f6cd:	75 32                	jne    0x50f701