47f408:	6b c0 1e             	imul   $0x1e,%eax,%eax
47f40b:	80 bc 10 f0 4f 4b 00 	cmpb   $0x0,0x4b4ff0(%eax,%edx,1)
47f412:	00
47f413:	0f 84 71 ff ff ff    	je     0x47f38a
47f419:	e9 54 ff ff ff       	jmp    0x47f372
47f41e:	8b 55 f8             	mov    -0x8(%ebp),%edx
47f421:	85 d2                	test   %edx,%edx
47f423:	74 48                	je     0x47f46d
47f425:	0f b6 04 8d 98 4d 4b 	movzbl 0x4b4d98(,%ecx,4),%eax
47f42c:	00
47f42d:	8b 57 0c             	mov    0xc(%edi),%edx
47f430:	6b c0 1e             	imul   $0x1e,%eax,%eax
47f433:	80 bc 10 f0 4f 4b 00 	cmpb   $0x0,0x4b4ff0(%eax,%edx,1)
47f43a:	00
47f43b:	74 2a                	je     0x47f467
47f43d:	0f b6 04 8d 99 4d 4b 	movzbl 0x4b4d99(,%ecx,4),%eax
47f444:	00
47f445:	6b c0 1e             	imul   $0x1e,%eax,%eax
47f448:	80 bc 10 f0 4f 4b 00 	cmpb   $0x0,0x4b4ff0(%eax,%edx,1)
47f44f:	00
47f450:	74 15                	je     0x47f467
47f452:	0f b6 04 8d 9b 4d 4b 	movzbl 0x4b4d9b(,%ecx,4),%eax
47f459:	00
47f45a:	3b d0                	cmp    %eax,%edx
47f45c:	75 04                	jne    0x47f462
47f45e:	85 db                	test   %ebx,%ebx
47f460:	75 05                	jne    0x47f467
47f462:	33 c0                	xor    %eax,%eax
47f464:	40                   	inc    %eax
47f465:	eb 02                	jmp    0x47f469
47f467:	33 c0                	xor    %eax,%eax
47f469:	3b d8                	cmp    %eax,%ebx
47f46b:	74 0a                	je     0x47f477
47f46d:	33 d2                	xor    %edx,%edx
47f46f:	85 d2                	test   %edx,%edx
47f471:	0f 84 59 e0 f9 ff    	je     0x41d4d0
47f477:	8b 5d fc             	mov    -0x4(%ebp),%ebx
47f47a:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
47f47e:	0f 84 0b e1 f9 ff    	je     0x41d58f
47f484:	e9 70 e1 f9 ff       	jmp    0x41d5f9
47f489:	8b 45 c8             	mov    -0x38(%ebp),%eax
47f48c:	8b d3                	mov    %ebx,%edx
47f48e:	8b f7                	mov    %edi,%esi
47f490:	e9 90 e0 f9 ff       	jmp    0x41d525
47f495:	74 12                	je     0x47f4a9
47f497:	83 e8 06             	sub    $0x6,%eax
47f49a:	74 18                	je     0x47f4b4
47f49c:	48                   	dec    %eax
47f49d:	74 18                	je     0x47f4b7
47f49f:	48                   	dec    %eax
47f4a0:	0f 85 2a e0 f9 ff    	jne    0x41d4d0
47f4a6:	33 ff                	xor    %edi,%edi
47f4a8:	47                   	inc    %edi
47f4a9:	8b 45 08             	mov    0x8(%ebp),%eax
47f4ac:	8b 48 08             	mov    0x8(%eax),%ecx
47f4af:	e9 b0 e0 f9 ff       	jmp    0x41d564
47f4b4:	33 ff                	xor    %edi,%edi
47f4b6:	47                   	inc    %edi
47f4b7:	8b 45 08             	mov    0x8(%ebp),%eax
47f4ba:	8b 48 08             	mov    0x8(%eax),%ecx
47f4bd:	83 c1 40             	add    $0x40,%ecx
47f4c0:	e9 9f e0 f9 ff       	jmp    0x41d564
47f4c5:	8b 45 08             	mov    0x8(%ebp),%eax
47f4c8:	8b 48 08             	mov    0x8(%eax),%ecx
47f4cb:	81 c1 a0 00 00 00    	add    $0xa0,%ecx
47f4d1:	e9 8e e0 f9 ff       	jmp    0x41d564
47f4d6:	8b 04 11             	mov    (%ecx,%edx,1),%eax
47f4d9:	f7 d0                	not    %eax
47f4db:	23 02                	and    (%edx),%eax
47f4dd:	83 c2 04             	add    $0x4,%edx
47f4e0:	85 c0                	test   %eax,%eax
47f4e2:	0f 85 e8 df f9 ff    	jne    0x41d4d0
47f4e8:	3b d6                	cmp    %esi,%edx
47f4ea:	72 ea                	jb     0x47f4d6
47f4ec:	e9 94 e0 f9 ff       	jmp    0x41d585
47f4f1:	33 c0                	xor    %eax,%eax
47f4f3:	39 47 04             	cmp    %eax,0x4(%edi)
47f4f6:	0f 95 c0             	setne  %al
47f4f9:	e9 d4 df f9 ff       	jmp    0x41d4d2
47f4fe:	45                   	inc    %ebp
47f4ff:	f0 47                	lock inc %edi
47f501:	00 0d f0 47 00 6f    	add    %cl,0x6f0047f0
47f507:	f0 47                	lock inc %edi
47f509:	00 5a f0             	add    %bl,-0x10(%edx)
47f50c:	47                   	inc    %edi
47f50d:	00 9c f0 47 00 87 f0 	add    %bl,-0xf78ffb9(%eax,%esi,8)
47f514:	47                   	inc    %edi
47f515:	00 ea                	add    %ch,%dl
47f517:	ef                   	out    %eax,(%dx)
47f518:	47                   	inc    %edi
47f519:	00 9a f1 47 00 27    	add    %bl,0x270047f1(%edx)
47f51f:	f1                   	int1
47f520:	47                   	inc    %edi
47f521:	00 b4 f0 47 00 d6 f1 	add    %dh,-0xe29ffb9(%eax,%esi,8)
47f528:	47                   	inc    %edi
47f529:	00 4f d6             	add    %cl,-0x2a(%edi)
47f52c:	41                   	inc    %ecx
47f52d:	00 b6 ef 47 00 d2    	add    %dh,-0x2dffb811(%esi)
47f533:	ef                   	out    %eax,(%dx)
47f534:	47                   	inc    %edi
47f535:	00 d0                	add    %dl,%al
47f537:	d4 41                	aam    $0x41
47f539:	00 00                	add    %al,(%eax)
47f53b:	01 02                	add    %eax,(%edx)
47f53d:	03 04 05 0e 0e 0e 06 	add    0x60e0e0e(,%eax,1),%eax
47f544:	06                   	push   %es
47f545:	07                   	pop    %es
47f546:	08 09                	or     %cl,(%ecx)
47f548:	0a 07                	or     (%edi),%al
47f54a:	0e                   	push   %cs
47f54b:	07                   	pop    %es
47f54c:	0b 07                	or     (%edi),%eax
47f54e:	0e                   	push   %cs
47f54f:	0e                   	push   %cs
47f550:	0e                   	push   %cs
47f551:	0c 0e                	or     $0xe,%al
47f553:	0d 8b ff 6f f4       	or     $0xf46fff8b,%eax
47f558:	47                   	inc    %edi
47f559:	00 e5                	add    %ah,%ch
47f55b:	f2 47                	repnz inc %edi
47f55d:	00 f8                	add    %bh,%al
47f55f:	f2 47                	repnz inc %edi
47f561:	00 0d f3 47 00 33    	add    %cl,0x330047f3
47f567:	f3 47                	repz inc %edi
47f569:	00 40 f3             	add    %al,-0xd(%eax)
47f56c:	47                   	inc    %edi
47f56d:	00 96 f3 47 00 e0    	add    %dl,-0x1fffb80d(%esi)
47f573:	f3 47                	repz inc %edi
47f575:	00 1e                	add    %bl,(%esi)
47f577:	f4                   	hlt
47f578:	47                   	inc    %edi
47f579:	00 00                	add    %al,(%eax)
47f57b:	01 02                	add    %eax,(%edx)
47f57d:	03 04 05 05 05 06 06 	add    0x6060505(,%eax,1),%eax
47f584:	06                   	push   %es
47f585:	07                   	pop    %es
47f586:	07                   	pop    %es
47f587:	07                   	pop    %es
47f588:	08 08                	or     %cl,(%eax)
47f58a:	08 8b f9 89 7d fc    	or     %cl,-0x3827607(%ebx)
47f590:	0f b7 37             	movzwl (%edi),%esi
47f593:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
47f59a:	e9 05 83 f8 ff       	jmp    0x4078a4
47f59f:	85 f6                	test   %esi,%esi
47f5a1:	0f 84 b0 83 f8 ff    	je     0x407957
47f5a7:	dd d8                	fstp   %st(0)
47f5a9:	83 fe 5c             	cmp    $0x5c,%esi
47f5ac:	75 16                	jne    0x47f5c4
47f5ae:	66 83 7f 02 45       	cmpw   $0x45,0x2(%edi)
47f5b3:	75 0f                	jne    0x47f5c4
47f5b5:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
47f5bc:	83 c7 02             	add    $0x2,%edi
47f5bf:	e9 bf 85 f8 ff       	jmp    0x407b83
47f5c4:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
47f5ca:	8b 4d 28             	mov    0x28(%ebp),%ecx
47f5cd:	85 c0                	test   %eax,%eax
47f5cf:	74 20                	je     0x47f5f1
47f5d1:	83 7d 2c 00          	cmpl   $0x0,0x2c(%ebp)
47f5d5:	75 10                	jne    0x47f5e7
47f5d7:	2b 79 18             	sub    0x18(%ecx),%edi
47f5da:	d1 ff                	sar    $1,%edi
47f5dc:	66 2b 78 04          	sub    0x4(%eax),%di
47f5e0:	66 89 78 06          	mov    %di,0x6(%eax)
47f5e4:	8b 7d fc             	mov    -0x4(%ebp),%edi
47f5e7:	c7 85 78 ff ff ff 00 	movl   $0x0,-0x88(%ebp)
47f5ee:	00 00 00
47f5f1:	f7 c3 00 40 00 00    	test   $0x4000,%ebx
47f5f7:	0f 84 58 84 f8 ff    	je     0x407a55
47f5fd:	c7 02 76 00 ff 00    	movl   $0xff0076,(%edx)
47f603:	2b 79 18             	sub    0x18(%ecx),%edi
47f606:	33 c9                	xor    %ecx,%ecx
47f608:	d1 ff                	sar    $1,%edi
47f60a:	66 89 7a 04          	mov    %di,0x4(%edx)
47f60e:	66 89 4a 06          	mov    %cx,0x6(%edx)
47f612:	8b 7d fc             	mov    -0x4(%ebp),%edi
47f615:	89 95 78 ff ff ff    	mov    %edx,-0x88(%ebp)
47f61b:	83 c2 08             	add    $0x8,%edx
47f61e:	89 55 f8             	mov    %edx,-0x8(%ebp)
47f621:	e9 2f 84 f8 ff       	jmp    0x407a55
47f626:	8b 4d 28             	mov    0x28(%ebp),%ecx
47f629:	8b 45 dc             	mov    -0x24(%ebp),%eax
47f62c:	81 fe ff 00 00 00    	cmp    $0xff,%esi
47f632:	77 1d                	ja     0x47f651
47f634:	8b 41 0c             	mov    0xc(%ecx),%eax
47f637:	f6 04 30 01          	testb  $0x1,(%eax,%esi,1)
47f63b:	74 11                	je     0x47f64e
47f63d:	83 c7 02             	add    $0x2,%edi
47f640:	89 7d fc             	mov    %edi,-0x4(%ebp)
47f643:	0f b7 37             	movzwl (%edi),%esi
47f646:	81 fe ff 00 00 00    	cmp    $0xff,%esi
47f64c:	76 e9                	jbe    0x47f637
47f64e:	8b 45 dc             	mov    -0x24(%ebp),%eax
47f651:	83 fe 23             	cmp    $0x23,%esi
47f654:	0f 85 bd 00 00 00    	jne    0x47f717
47f65a:	83 c7 02             	add    $0x2,%edi
47f65d:	89 7d fc             	mov    %edi,-0x4(%ebp)
47f660:	0f b7 17             	movzwl (%edi),%edx
47f663:	66 85 d2             	test   %dx,%dx
47f666:	74 3d                	je     0x47f6a5
47f668:	8b 71 7c             	mov    0x7c(%ecx),%esi
47f66b:	85 f6                	test   %esi,%esi
47f66d:	74 3b                	je     0x47f6aa
47f66f:	8b 49 1c             	mov    0x1c(%ecx),%ecx
47f672:	3b f9                	cmp    %ecx,%edi
47f674:	0f 83 98 00 00 00    	jae    0x47f712
47f67a:	50                   	push   %eax
47f67b:	8b 45 28             	mov    0x28(%ebp),%eax
47f67e:	83 e8 80             	sub    $0xffffff80,%eax
47f681:	50                   	push   %eax
47f682:	51                   	push   %ecx
47f683:	8b d6                	mov    %esi,%edx
47f685:	8b cf                	mov    %edi,%ecx
47f687:	e8 72 99 f8 ff       	call   0x408ffe
47f68c:	8b 4d 28             	mov    0x28(%ebp),%ecx
47f68f:	83 c4 0c             	add    $0xc,%esp
47f692:	85 c0                	test   %eax,%eax
47f694:	74 44                	je     0x47f6da
47f696:	8b 81 80 00 00 00    	mov    0x80(%ecx),%eax
47f69c:	8d 3c 47             	lea    (%edi,%eax,2),%edi
47f69f:	8b 45 dc             	mov    -0x24(%ebp),%eax
47f6a2:	89 7d fc             	mov    %edi,-0x4(%ebp)
47f6a5:	0f b7 37             	movzwl (%edi),%esi
47f6a8:	eb 82                	jmp    0x47f62c
47f6aa:	8b b1 80 00 00 00    	mov    0x80(%ecx),%esi
47f6b0:	8b 49 1c             	mov    0x1c(%ecx),%ecx
47f6b3:	8d 04 36             	lea    (%esi,%esi,1),%eax
47f6b6:	2b c8                	sub    %eax,%ecx
47f6b8:	3b f9                	cmp    %ecx,%edi
47f6ba:	8b 4d 28             	mov    0x28(%ebp),%ecx
47f6bd:	77 1b                	ja     0x47f6da
47f6bf:	66 3b 91 84 00 00 00 	cmp    0x84(%ecx),%dx
47f6c6:	75 12                	jne    0x47f6da
47f6c8:	83 fe 01             	cmp    $0x1,%esi
47f6cb:	74 c9                	je     0x47f696
47f6cd:	66 8b 47 02          	mov    0x2(%edi),%ax
47f6d1:	66 3b 81 86 00 00 00 	cmp    0x86(%ecx),%ax
47f6d8:	74 bc                	je     0x47f696
47f6da:	8b 45 dc             	mov    -0x24(%ebp),%eax
47f6dd:	83 c7 02             	add    $0x2,%edi
47f6e0:	89 7d fc             	mov    %edi,-0x4(%ebp)
47f6e3:	85 c0                	test   %eax,%eax
47f6e5:	74 1e                	je     0x47f705
47f6e7:	66 8b 07             	mov    (%edi),%ax
47f6ea:	ba 00 fc 00 00       	mov    $0xfc00,%edx
47f6ef:	66 23 c2             	and    %dx,%ax
47f6f2:	ba 00 dc 00 00       	mov    $0xdc00,%edx
47f6f7:	66 3b c2             	cmp    %dx,%ax
47f6fa:	8b 45 dc             	mov    -0x24(%ebp),%eax
47f6fd:	75 06                	jne    0x47f705
47f6ff:	83 c7 02             	add    $0x2,%edi
47f702:	89 7d fc             	mov    %edi,-0x4(%ebp)
47f705:	0f b7 17             	movzwl (%edi),%edx
47f708:	66 85 d2             	test   %dx,%dx
47f70b:	74 98                	je     0x47f6a5
47f70d:	e9 56 ff ff ff       	jmp    0x47f668
47f712:	8b 4d 28             	mov    0x28(%ebp),%ecx
47f715:	eb c6                	jmp    0x47f6dd
47f717:	8b 55 f8             	mov    -0x8(%ebp),%edx
47f71a:	e9 41 82 f8 ff       	jmp    0x407960
47f71f:	8d 4f 02             	lea    0x2(%edi),%ecx
47f722:	e8 73 18 ff ff       	call   0x470f9a
47f727:	8b 55 f8             	mov    -0x8(%ebp),%edx
47f72a:	85 c0                	test   %eax,%eax
47f72c:	0f 85 2b 88 f8 ff    	jne    0x407f5d
47f732:	e9 4d 82 f8 ff       	jmp    0x407984
47f737:	39 4d 84             	cmp    %ecx,-0x7c(%ebp)
47f73a:	0f 85 52 82 f8 ff    	jne    0x407992
47f740:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
47f746:	ff 8d 58 ff ff ff    	decl   -0xa8(%ebp)
47f74c:	85 c0                	test   %eax,%eax
47f74e:	0f 8f 3e 82 f8 ff    	jg     0x407992
47f754:	39 4d 2c             	cmp    %ecx,0x2c(%ebp)
47f757:	75 19                	jne    0x47f772
47f759:	8b 45 28             	mov    0x28(%ebp),%eax
47f75c:	2b 78 18             	sub    0x18(%eax),%edi
47f75f:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
47f765:	d1 ff                	sar    $1,%edi
47f767:	66 2b 78 04          	sub    0x4(%eax),%di
47f76b:	66 89 78 06          	mov    %di,0x6(%eax)
47f76f:	8b 7d fc             	mov    -0x4(%ebp),%edi
47f772:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
47f778:	e9 15 82 f8 ff       	jmp    0x407992
47f77d:	85 c9                	test   %ecx,%ecx
47f77f:	0f 85 1b 82 f8 ff    	jne    0x4079a0
47f785:	39 4d 84             	cmp    %ecx,-0x7c(%ebp)
47f788:	0f 85 12 82 f8 ff    	jne    0x4079a0
47f78e:	c7 02 76 00 ff 00    	movl   $0xff0076,(%edx)
47f794:	8d 42 04             	lea    0x4(%edx),%eax
47f797:	89 95 78 ff ff ff    	mov    %edx,-0x88(%ebp)
47f79d:	8b 55 28             	mov    0x28(%ebp),%edx
47f7a0:	2b 7a 18             	sub    0x18(%edx),%edi
47f7a3:	d1 ff                	sar    $1,%edi
47f7a5:	33 d2                	xor    %edx,%edx
47f7a7:	66 89 50 02          	mov    %dx,0x2(%eax)
47f7ab:	8d 50 04             	lea    0x4(%eax),%edx
47f7ae:	66 89 38             	mov    %di,(%eax)
47f7b1:	8b 7d fc             	mov    -0x4(%ebp),%edi
47f7b4:	8b 45 f4             	mov    -0xc(%ebp),%eax
47f7b7:	89 55 f8             	mov    %edx,-0x8(%ebp)
47f7ba:	e9 e1 81 f8 ff       	jmp    0x4079a0
47f7bf:	8b 5d f4             	mov    -0xc(%ebp),%ebx
47f7c2:	dd d8                	fstp   %st(0)
47f7c4:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
47f7cb:	f6 c3 02             	test   $0x2,%bl
47f7ce:	74 23                	je     0x47f7f3
47f7d0:	83 7d d0 fe          	cmpl   $0xfffffffe,-0x30(%ebp)
47f7d4:	75 07                	jne    0x47f7dd
47f7d6:	c7 45 d0 ff ff ff ff 	movl   $0xffffffff,-0x30(%ebp)
47f7dd:	b8 1c 00 00 00       	mov    $0x1c,%eax
47f7e2:	66 89 02             	mov    %ax,(%edx)
47f7e5:	8b 7d fc             	mov    -0x4(%ebp),%edi
47f7e8:	83 c2 02             	add    $0x2,%edx
47f7eb:	89 55 f8             	mov    %edx,-0x8(%ebp)
47f7ee:	e9 90 83 f8 ff       	jmp    0x407b83
47f7f3:	b8 1b 00 00 00       	mov    $0x1b,%eax
47f7f8:	66 89 02             	mov    %ax,(%edx)
47f7fb:	8b 7d fc             	mov    -0x4(%ebp),%edi
47f7fe:	83 c2 02             	add    $0x2,%edx
47f801:	89 55 f8             	mov    %edx,-0x8(%ebp)
47f804:	e9 7a 83 f8 ff       	jmp    0x407b83
47f809:	8b 5d f4             	mov    -0xc(%ebp),%ebx
47f80c:	dd d8                	fstp   %st(0)
47f80e:	f6 c3 02             	test   $0x2,%bl
47f811:	b8 00 00 00 00       	mov    $0x0,%eax
47f816:	0f 95 c0             	setne  %al
47f819:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
47f820:	83 c0 19             	add    $0x19,%eax
47f823:	66 89 02             	mov    %ax,(%edx)
47f826:	8b 7d fc             	mov    -0x4(%ebp),%edi
47f829:	83 c2 02             	add    $0x2,%edx
47f82c:	89 55 f8             	mov    %edx,-0x8(%ebp)
47f82f:	e9 4f 83 f8 ff       	jmp    0x407b83
47f834:	8b 45 28             	mov    0x28(%ebp),%eax
47f837:	dd d8                	fstp   %st(0)
47f839:	f7 40 60 00 00 00 02 	testl  $0x2000000,0x60(%eax)
47f840:	0f 84 0f 82 f8 ff    	je     0x407a55
47f846:	8b 45 0c             	mov    0xc(%ebp),%eax
47f849:	c7 00 40 00 00 00    	movl   $0x40,(%eax)
47f84f:	8b 45 08             	mov    0x8(%ebp),%eax
47f852:	89 38                	mov    %edi,(%eax)
47f854:	33 c0                	xor    %eax,%eax
47f856:	e9 d7 81 f8 ff       	jmp    0x407a32
47f85b:	8d 47 0e             	lea    0xe(%edi),%eax
47f85e:	bf c0 4d 4b 00       	mov    $0x4b4dc0,%edi
47f863:	89 45 84             	mov    %eax,-0x7c(%ebp)
47f866:	83 ef 02             	sub    $0x2,%edi
47f869:	8b 55 f8             	mov    -0x8(%ebp),%edx
47f86c:	e9 0f 83 f8 ff       	jmp    0x407b80
47f871:	8b 55 f8             	mov    -0x8(%ebp),%edx
47f874:	8d 47 0e             	lea    0xe(%edi),%eax