5573c0:	83 e8 30             	sub    $0x30,%eax
5573c3:	83 f8 01             	cmp    $0x1,%eax
5573c6:	7e 2b                	jle    0x5573f3
5573c8:	83 f8 07             	cmp    $0x7,%eax
5573cb:	7d 26                	jge    0x5573f3
5573cd:	8b d4                	mov    %esp,%edx
5573cf:	b9 01 00 00 00       	mov    $0x1,%ecx
5573d4:	8b c6                	mov    %esi,%eax
5573d6:	8b 38                	mov    (%eax),%edi
5573d8:	ff 57 08             	call   *0x8(%edi)
5573db:	80 3c 24 20          	cmpb   $0x20,(%esp)
5573df:	74 12                	je     0x5573f3
5573e1:	80 3c 24 23          	cmpb   $0x23,(%esp)
5573e5:	74 0c                	je     0x5573f3
5573e7:	80 3c 24 0a          	cmpb   $0xa,(%esp)
5573eb:	74 06                	je     0x5573f3
5573ed:	33 db                	xor    %ebx,%ebx
5573ef:	eb 02                	jmp    0x5573f3
5573f1:	33 db                	xor    %ebx,%ebx
5573f3:	ff 74 24 0c          	push   0xc(%esp)
5573f7:	ff 74 24 0c          	push   0xc(%esp)
5573fb:	8b c6                	mov    %esi,%eax
5573fd:	e8 d6 72 ec ff       	call   0x41e6d8
557402:	8b c3                	mov    %ebx,%eax
557404:	83 c4 24             	add    $0x24,%esp
557407:	5f                   	pop    %edi
557408:	5e                   	pop    %esi
557409:	5b                   	pop    %ebx
55740a:	c3                   	ret
55740b:	00 12                	add    %dl,(%edx)
55740d:	01 01                	add    %eax,(%ecx)
55740f:	01 01                	add    %eax,(%ecx)
557411:	00 00                	add    %al,(%eax)
557413:	00 56 57             	add    %dl,0x57(%esi)
557416:	8b f8                	mov    %eax,%edi
557418:	33 d2                	xor    %edx,%edx
55741a:	8d 8f 00 20 00 00    	lea    0x2000(%edi),%ecx
557420:	8b f1                	mov    %ecx,%esi
557422:	8b c2                	mov    %edx,%eax
557424:	88 46 02             	mov    %al,0x2(%esi)
557427:	88 46 01             	mov    %al,0x1(%esi)
55742a:	88 06                	mov    %al,(%esi)
55742c:	42                   	inc    %edx
55742d:	83 c1 03             	add    $0x3,%ecx
557430:	81 fa 00 01 00 00    	cmp    $0x100,%edx
557436:	75 e8                	jne    0x557420
557438:	5f                   	pop    %edi
557439:	5e                   	pop    %esi
55743a:	c3                   	ret
55743b:	90                   	nop
55743c:	53                   	push   %ebx
55743d:	56                   	push   %esi
55743e:	57                   	push   %edi
55743f:	51                   	push   %ecx
557440:	33 d2                	xor    %edx,%edx
557442:	66 c7 04 24 00 00    	movw   $0x0,(%esp)
557448:	33 ff                	xor    %edi,%edi
55744a:	33 c9                	xor    %ecx,%ecx
55744c:	8d 34 52             	lea    (%edx,%edx,2),%esi
55744f:	8a 1c 24             	mov    (%esp),%bl
557452:	43                   	inc    %ebx
557453:	c1 e3 03             	shl    $0x3,%ebx
557456:	4b                   	dec    %ebx
557457:	c1 e3 02             	shl    $0x2,%ebx
55745a:	88 9c 30 02 20 00 00 	mov    %bl,0x2002(%eax,%esi,1)
557461:	8b df                	mov    %edi,%ebx
557463:	43                   	inc    %ebx
557464:	c1 e3 03             	shl    $0x3,%ebx
557467:	4b                   	dec    %ebx
557468:	c1 e3 02             	shl    $0x2,%ebx
55746b:	88 9c 30 01 20 00 00 	mov    %bl,0x2001(%eax,%esi,1)
557472:	8b d9                	mov    %ecx,%ebx
557474:	43                   	inc    %ebx
557475:	c1 e3 04             	shl    $0x4,%ebx
557478:	4b                   	dec    %ebx
557479:	c1 e3 02             	shl    $0x2,%ebx
55747c:	88 9c 30 00 20 00 00 	mov    %bl,0x2000(%eax,%esi,1)
557483:	42                   	inc    %edx
557484:	41                   	inc    %ecx
557485:	66 83 f9 04          	cmp    $0x4,%cx
557489:	75 c1                	jne    0x55744c
55748b:	47                   	inc    %edi
55748c:	66 83 ff 08          	cmp    $0x8,%di
557490:	75 b8                	jne    0x55744a
557492:	66 ff 04 24          	incw   (%esp)
557496:	66 83 3c 24 08       	cmpw   $0x8,(%esp)
55749b:	75 ab                	jne    0x557448
55749d:	5a                   	pop    %edx
55749e:	5f                   	pop    %edi
55749f:	5e                   	pop    %esi
5574a0:	5b                   	pop    %ebx
5574a1:	c3                   	ret
5574a2:	8b c0                	mov    %eax,%eax
5574a4:	55                   	push   %ebp
5574a5:	8b ec                	mov    %esp,%ebp
5574a7:	53                   	push   %ebx
5574a8:	56                   	push   %esi
5574a9:	57                   	push   %edi
5574aa:	8b 45 08             	mov    0x8(%ebp),%eax
5574ad:	8b 58 fc             	mov    -0x4(%eax),%ebx
5574b0:	8b 45 08             	mov    0x8(%ebp),%eax
5574b3:	8b 40 f8             	mov    -0x8(%eax),%eax
5574b6:	e8 31 72 ec ff       	call   0x41e6ec
5574bb:	8b f0                	mov    %eax,%esi
5574bd:	8b 45 08             	mov    0x8(%ebp),%eax
5574c0:	8b 40 f8             	mov    -0x8(%eax),%eax
5574c3:	e8 f0 71 ec ff       	call   0x41e6b8
5574c8:	2b f0                	sub    %eax,%esi
5574ca:	81 fe 00 20 00 00    	cmp    $0x2000,%esi
5574d0:	7d 18                	jge    0x5574ea
5574d2:	8b d3                	mov    %ebx,%edx
5574d4:	8b 45 08             	mov    0x8(%ebp),%eax
5574d7:	8b 40 f8             	mov    -0x8(%eax),%eax
5574da:	8b ce                	mov    %esi,%ecx
5574dc:	8b 38                	mov    (%eax),%edi
5574de:	ff 57 08             	call   *0x8(%edi)
5574e1:	66 89 b3 14 24 00 00 	mov    %si,0x2414(%ebx)
5574e8:	eb 1b                	jmp    0x557505
5574ea:	8b d3                	mov    %ebx,%edx
5574ec:	8b 45 08             	mov    0x8(%ebp),%eax
5574ef:	8b 40 f8             	mov    -0x8(%eax),%eax
5574f2:	b9 00 20 00 00       	mov    $0x2000,%ecx
5574f7:	8b 30                	mov    (%eax),%esi
5574f9:	ff 56 08             	call   *0x8(%esi)
5574fc:	66 c7 83 14 24 00 00 	movw   $0x2000,0x2414(%ebx)
557503:	00 20
557505:	66 c7 83 16 24 00 00 	movw   $0x0,0x2416(%ebx)
55750c:	00 00
55750e:	5f                   	pop    %edi
55750f:	5e                   	pop    %esi
557510:	5b                   	pop    %ebx
557511:	5d                   	pop    %ebp
557512:	c3                   	ret
557513:	90                   	nop
557514:	55                   	push   %ebp
557515:	8b ec                	mov    %esp,%ebp
557517:	51                   	push   %ecx
557518:	53                   	push   %ebx
557519:	56                   	push   %esi
55751a:	57                   	push   %edi
55751b:	8b f2                	mov    %edx,%esi
55751d:	89 45 fc             	mov    %eax,-0x4(%ebp)
557520:	8b 45 08             	mov    0x8(%ebp),%eax
557523:	8b 58 fc             	mov    -0x4(%eax),%ebx
557526:	66 8b 83 14 24 00 00 	mov    0x2414(%ebx),%ax
55752d:	66 3b f0             	cmp    %ax,%si
557530:	76 4f                	jbe    0x557581
557532:	66 85 c0             	test   %ax,%ax
557535:	75 0a                	jne    0x557541
557537:	8b 45 08             	mov    0x8(%ebp),%eax
55753a:	50                   	push   %eax
55753b:	e8 64 ff ff ff       	call   0x5574a4
557540:	59                   	pop    %ecx
557541:	0f b7 fe             	movzwl %si,%edi
557544:	4f                   	dec    %edi
557545:	85 ff                	test   %edi,%edi
557547:	7c 5b                	jl     0x5575a4
557549:	47                   	inc    %edi
55754a:	8b 75 fc             	mov    -0x4(%ebp),%esi
55754d:	0f b7 83 16 24 00 00 	movzwl 0x2416(%ebx),%eax
557554:	8a 04 03             	mov    (%ebx,%eax,1),%al
557557:	88 06                	mov    %al,(%esi)
557559:	66 ff 83 16 24 00 00 	incw   0x2416(%ebx)
557560:	66 ff 8b 14 24 00 00 	decw   0x2414(%ebx)
557567:	66 83 bb 14 24 00 00 	cmpw   $0x0,0x2414(%ebx)
55756e:	00
55756f:	75 0a                	jne    0x55757b
557571:	8b 45 08             	mov    0x8(%ebp),%eax
557574:	50                   	push   %eax
557575:	e8 2a ff ff ff       	call   0x5574a4
55757a:	59                   	pop    %ecx
55757b:	46                   	inc    %esi
55757c:	4f                   	dec    %edi
55757d:	75 ce                	jne    0x55754d
55757f:	eb 23                	jmp    0x5575a4
557581:	8b 55 fc             	mov    -0x4(%ebp),%edx
557584:	0f b7 ce             	movzwl %si,%ecx
557587:	0f b7 83 16 24 00 00 	movzwl 0x2416(%ebx),%eax
55758e:	8d 04 03             	lea    (%ebx,%eax,1),%eax
557591:	e8 8a b4 ea ff       	call   0x402a20
557596:	66 01 b3 16 24 00 00 	add    %si,0x2416(%ebx)
55759d:	66 29 b3 14 24 00 00 	sub    %si,0x2414(%ebx)
5575a4:	5f                   	pop    %edi
5575a5:	5e                   	pop    %esi
5575a6:	5b                   	pop    %ebx
5575a7:	59                   	pop    %ecx
5575a8:	5d                   	pop    %ebp
5575a9:	c3                   	ret
5575aa:	8b c0                	mov    %eax,%eax
5575ac:	55                   	push   %ebp
5575ad:	8b ec                	mov    %esp,%ebp
5575af:	53                   	push   %ebx
5575b0:	8b 45 08             	mov    0x8(%ebp),%eax
5575b3:	8b 58 fc             	mov    -0x4(%eax),%ebx
5575b6:	66 83 bb 14 24 00 00 	cmpw   $0x0,0x2414(%ebx)
5575bd:	00
5575be:	75 0a                	jne    0x5575ca
5575c0:	8b 45 08             	mov    0x8(%ebp),%eax
5575c3:	50                   	push   %eax
5575c4:	e8 db fe ff ff       	call   0x5574a4
5575c9:	59                   	pop    %ecx
5575ca:	0f b7 83 16 24 00 00 	movzwl 0x2416(%ebx),%eax
5575d1:	8a 04 03             	mov    (%ebx,%eax,1),%al
5575d4:	66 ff 83 16 24 00 00 	incw   0x2416(%ebx)
5575db:	66 ff 8b 14 24 00 00 	decw   0x2414(%ebx)
5575e2:	5b                   	pop    %ebx
5575e3:	5d                   	pop    %ebp
5575e4:	c3                   	ret
5575e5:	8d 40 00             	lea    0x0(%eax),%eax
5575e8:	55                   	push   %ebp
5575e9:	8b ec                	mov    %esp,%ebp
5575eb:	53                   	push   %ebx
5575ec:	8b 45 08             	mov    0x8(%ebp),%eax
5575ef:	50                   	push   %eax
5575f0:	e8 b7 ff ff ff       	call   0x5575ac
5575f5:	59                   	pop    %ecx
5575f6:	33 db                	xor    %ebx,%ebx
5575f8:	8a d8                	mov    %al,%bl
5575fa:	8b 45 08             	mov    0x8(%ebp),%eax
5575fd:	50                   	push   %eax
5575fe:	e8 a9 ff ff ff       	call   0x5575ac
557603:	59                   	pop    %ecx
557604:	25 ff 00 00 00       	and    $0xff,%eax
557609:	c1 e0 08             	shl    $0x8,%eax
55760c:	66 03 d8             	add    %ax,%bx
55760f:	8b c3                	mov    %ebx,%eax
557611:	5b                   	pop    %ebx
557612:	5d                   	pop    %ebp
557613:	c3                   	ret
557614:	55                   	push   %ebp
557615:	8b ec                	mov    %esp,%ebp
557617:	83 c4 d0             	add    $0xffffffd0,%esp
55761a:	53                   	push   %ebx
55761b:	56                   	push   %esi
55761c:	57                   	push   %edi
55761d:	33 db                	xor    %ebx,%ebx
55761f:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
557622:	89 5d f0             	mov    %ebx,-0x10(%ebp)
557625:	89 4d f4             	mov    %ecx,-0xc(%ebp)
557628:	89 55 f8             	mov    %edx,-0x8(%ebp)
55762b:	89 45 fc             	mov    %eax,-0x4(%ebp)
55762e:	33 c0                	xor    %eax,%eax
557630:	55                   	push   %ebp
557631:	68 cc 7d 55 00       	push   $0x557dcc
557636:	64 ff 30             	push   %fs:(%eax)
557639:	64 89 20             	mov    %esp,%fs:(%eax)
55763c:	8b 45 10             	mov    0x10(%ebp),%eax
55763f:	8b 40 fc             	mov    -0x4(%eax),%eax
557642:	89 45 ec             	mov    %eax,-0x14(%ebp)
557645:	8b 45 10             	mov    0x10(%ebp),%eax
557648:	8b 40 f8             	mov    -0x8(%eax),%eax
55764b:	66 b9 02 00          	mov    $0x2,%cx
55764f:	ba e6 ff ff ff       	mov    $0xffffffe6,%edx
557654:	8b 18                	mov    (%eax),%ebx
557656:	ff 53 10             	call   *0x10(%ebx)
557659:	8b 45 ec             	mov    -0x14(%ebp),%eax
55765c:	8d 90 19 24 00 00    	lea    0x2419(%eax),%edx
557662:	8b 45 10             	mov    0x10(%ebp),%eax
557665:	8b 40 f8             	mov    -0x8(%eax),%eax
557668:	b9 1a 00 00 00       	mov    $0x1a,%ecx
55766d:	8b 18                	mov    (%eax),%ebx
55766f:	ff 53 08             	call   *0x8(%ebx)
557672:	8d 45 e4             	lea    -0x1c(%ebp),%eax
557675:	8b 55 ec             	mov    -0x14(%ebp),%edx
557678:	81 c2 21 24 00 00    	add    $0x2421,%edx
55767e:	b9 12 00 00 00       	mov    $0x12,%ecx
557683:	e8 48 d4 ea ff       	call   0x404ad0
557688:	8b 45 e4             	mov    -0x1c(%ebp),%eax
55768b:	ba e4 7d 55 00       	mov    $0x557de4,%edx
557690:	e8 cf d5 ea ff       	call   0x404c64
557695:	0f 94 c0             	sete   %al
557698:	8b 55 ec             	mov    -0x14(%ebp),%edx
55769b:	88 82 18 24 00 00    	mov    %al,0x2418(%edx)
5576a1:	8b 45 10             	mov    0x10(%ebp),%eax
5576a4:	8b 40 e0             	mov    -0x20(%eax),%eax
5576a7:	8b 00                	mov    (%eax),%eax
5576a9:	05 3c 01 00 00       	add    $0x13c,%eax
5576ae:	e8 b5 d1 ea ff       	call   0x404868
5576b3:	e8 48 3c eb ff       	call   0x40b300
5576b8:	8b 45 10             	mov    0x10(%ebp),%eax
5576bb:	8b 40 e0             	mov    -0x20(%eax),%eax
5576be:	8b 00                	mov    (%eax),%eax
5576c0:	dd 98 40 01 00 00    	fstpl  0x140(%eax)
5576c6:	9b                   	fwait
5576c7:	8b 45 10             	mov    0x10(%ebp),%eax
5576ca:	8b 40 e0             	mov    -0x20(%eax),%eax
5576cd:	8b 00                	mov    (%eax),%eax
5576cf:	05 48 01 00 00       	add    $0x148,%eax
5576d4:	e8 8f d1 ea ff       	call   0x404868
5576d9:	8d 45 e0             	lea    -0x20(%ebp),%eax
5576dc:	50                   	push   %eax
5576dd:	33 c9                	xor    %ecx,%ecx
5576df:	33 d2                	xor    %edx,%edx
5576e1:	33 c0                	xor    %eax,%eax
5576e3:	e8 28 1c 05 00       	call   0x5a9310
5576e8:	8b 45 10             	mov    0x10(%ebp),%eax
5576eb:	8b 40 e0             	mov    -0x20(%eax),%eax
5576ee:	8b 00                	mov    (%eax),%eax
5576f0:	66 8b 55 e0          	mov    -0x20(%ebp),%dx
5576f4:	66 89 90 4c 01 00 00 	mov    %dx,0x14c(%eax)
5576fb:	8a 55 e2             	mov    -0x1e(%ebp),%dl
5576fe:	88 90 4e 01 00 00    	mov    %dl,0x14e(%eax)
557704:	8b 45 10             	mov    0x10(%ebp),%eax
557707:	8b 40 e0             	mov    -0x20(%eax),%eax
55770a:	8b 00                	mov    (%eax),%eax
55770c:	33 d2                	xor    %edx,%edx
55770e:	89 90 50 01 00 00    	mov    %edx,0x150(%eax)
557714:	c7 80 54 01 00 00 00 	movl   $0x3ff00000,0x154(%eax)
55771b:	00 f0 3f
55771e:	8b 45 10             	mov    0x10(%ebp),%eax
557721:	8b 40 e0             	mov    -0x20(%eax),%eax
557724:	8b 00                	mov    (%eax),%eax
557726:	c7 80 58 01 00 00 9a 	movl   $0x9999999a,0x158(%eax)
55772d:	99 99 99
557730:	c7 80 5c 01 00 00 99 	movl   $0x40019999,0x15c(%eax)
557737:	99 01 40
55773a:	8b 45 ec             	mov    -0x14(%ebp),%eax
55773d:	80 b8 18 24 00 00 00 	cmpb   $0x0,0x2418(%eax)
557744:	0f 84 75 02 00 00    	je     0x5579bf
55774a:	8b 45 ec             	mov    -0x14(%ebp),%eax
55774d:	05 33 24 00 00       	add    $0x2433,%eax
557752:	89 45 e8             	mov    %eax,-0x18(%ebp)
557755:	8b 45 ec             	mov    -0x14(%ebp),%eax
557758:	8b 80 24 26 00 00    	mov    0x2624(%eax),%eax
55775e:	8b 55 ec             	mov    -0x14(%ebp),%edx
557761:	03 82 19 24 00 00    	add    0x2419(%edx),%eax
557767:	99                   	cltd
557768:	52                   	push   %edx
557769:	50                   	push   %eax
55776a:	8b 45 10             	mov    0x10(%ebp),%eax
55776d:	8b 40 f8             	mov    -0x8(%eax),%eax
557770:	e8 63 6f ec ff       	call   0x41e6d8
557775:	8b 45 ec             	mov    -0x14(%ebp),%eax
557778:	8d 90 33 24 00 00    	lea    0x2433(%eax),%edx
55777e:	8b 45 10             	mov    0x10(%ebp),%eax
557781:	8b 40 f8             	mov    -0x8(%eax),%eax
557784:	b9 ef 01 00 00       	mov    $0x1ef,%ecx
557789:	8b 18                	mov    (%eax),%ebx
55778b:	ff 53 08             	call   *0x8(%ebx)
55778e:	8b 45 10             	mov    0x10(%ebp),%eax
557791:	8b 40 e0             	mov    -0x20(%eax),%eax
557794:	8b 00                	mov    (%eax),%eax
557796:	05 3c 01 00 00       	add    $0x13c,%eax
55779b:	8b 55 e8             	mov    -0x18(%ebp),%edx
55779e:	83 c2 02             	add    $0x2,%edx
5577a1:	b9 29 00 00 00       	mov    $0x29,%ecx
5577a6:	e8 25 d3 ea ff       	call   0x404ad0
5577ab:	33 c0                	xor    %eax,%eax
5577ad:	55                   	push   %ebp
5577ae:	68 c9 78 55 00       	push   $0x5578c9