4013d4:	6e                   	outsb  %ds:(%esi),(%dx)
4013d5:	64 20 45 64          	and    %al,%fs:0x64(%ebp)
4013d9:	69 74 69 6f 6e 20 a9 	imul   $0x20a9206e,0x6f(%ecx,%ebp,2),%esi
4013e0:	20
4013e1:	32 30                	xor    (%eax),%dh
4013e3:	30 34 2c             	xor    %dh,(%esp,%ebp,1)
4013e6:	20 32                	and    %dh,(%edx)
4013e8:	30 30                	xor    %dh,(%eax)
4013ea:	35 20 50 69 65       	xor    $0x65695020,%eax
4013ef:	72 72                	jb     0x401463
4013f1:	65 20 6c 65 20       	and    %ch,%gs:0x20(%ebp,%eiz,2)
4013f6:	52                   	push   %edx
4013f7:	69 63 68 65 20 2f 20 	imul   $0x202f2065,0x68(%ebx),%esp
4013fe:	50                   	push   %eax
4013ff:	72 6f                	jb     0x401470
401401:	66 65 73 73          	data16 gs jae 0x401478
401405:	69 6f 6e 61 6c 20 53 	imul   $0x53206c61,0x6e(%edi),%ebp
40140c:	6f                   	outsl  %ds:(%esi),(%dx)
40140d:	66 74 77             	data16 je 0x401487
401410:	61                   	popa
401411:	72 65                	jb     0x401478
401413:	20 44 65 76          	and    %al,0x76(%ebp,%eiz,2)
401417:	65 6c                	gs insb (%dx),%es:(%edi)
401419:	6f                   	outsl  %ds:(%esi),(%dx)
40141a:	70 6d                	jo     0x401489
40141c:	65 6e                	outsb  %gs:(%esi),(%dx)
40141e:	74 00                	je     0x401420
401420:	f0 0f b0 11          	lock cmpxchg %dl,(%ecx)
401424:	c3                   	ret
401425:	8d 40 00             	lea    0x0(%eax),%eax
401428:	8b 08                	mov    (%eax),%ecx
40142a:	89 0a                	mov    %ecx,(%edx)
40142c:	8b 48 04             	mov    0x4(%eax),%ecx
40142f:	8b 40 08             	mov    0x8(%eax),%eax
401432:	89 4a 04             	mov    %ecx,0x4(%edx)
401435:	89 42 08             	mov    %eax,0x8(%edx)
401438:	c3                   	ret
401439:	8d 40 00             	lea    0x0(%eax),%eax
40143c:	8b 08                	mov    (%eax),%ecx
40143e:	89 0a                	mov    %ecx,(%edx)
401440:	8b 48 04             	mov    0x4(%eax),%ecx
401443:	89 4a 04             	mov    %ecx,0x4(%edx)
401446:	8b 48 08             	mov    0x8(%eax),%ecx
401449:	89 4a 08             	mov    %ecx,0x8(%edx)
40144c:	8b 48 0c             	mov    0xc(%eax),%ecx
40144f:	8b 40 10             	mov    0x10(%eax),%eax
401452:	89 4a 0c             	mov    %ecx,0xc(%edx)
401455:	89 42 10             	mov    %eax,0x10(%edx)
401458:	c3                   	ret
401459:	8d 40 00             	lea    0x0(%eax),%eax
40145c:	8b 08                	mov    (%eax),%ecx
40145e:	89 0a                	mov    %ecx,(%edx)
401460:	8b 48 04             	mov    0x4(%eax),%ecx
401463:	89 4a 04             	mov    %ecx,0x4(%edx)
401466:	8b 48 08             	mov    0x8(%eax),%ecx
401469:	89 4a 08             	mov    %ecx,0x8(%edx)
40146c:	8b 48 0c             	mov    0xc(%eax),%ecx
40146f:	89 4a 0c             	mov    %ecx,0xc(%edx)
401472:	8b 48 10             	mov    0x10(%eax),%ecx
401475:	89 4a 10             	mov    %ecx,0x10(%edx)
401478:	8b 48 14             	mov    0x14(%eax),%ecx
40147b:	8b 40 18             	mov    0x18(%eax),%eax
40147e:	89 4a 14             	mov    %ecx,0x14(%edx)
401481:	89 42 18             	mov    %eax,0x18(%edx)
401484:	c3                   	ret
401485:	8d 40 00             	lea    0x0(%eax),%eax
401488:	df 28                	fildll (%eax)
40148a:	df 68 08             	fildll 0x8(%eax)
40148d:	df 68 10             	fildll 0x10(%eax)
401490:	df 68 18             	fildll 0x18(%eax)
401493:	8b 48 20             	mov    0x20(%eax),%ecx
401496:	89 4a 20             	mov    %ecx,0x20(%edx)
401499:	df 7a 18             	fistpll 0x18(%edx)
40149c:	df 7a 10             	fistpll 0x10(%edx)
40149f:	df 7a 08             	fistpll 0x8(%edx)
4014a2:	df 3a                	fistpll (%edx)
4014a4:	c3                   	ret
4014a5:	8d 40 00             	lea    0x0(%eax),%eax
4014a8:	df 28                	fildll (%eax)
4014aa:	df 68 08             	fildll 0x8(%eax)
4014ad:	df 68 10             	fildll 0x10(%eax)
4014b0:	df 68 18             	fildll 0x18(%eax)
4014b3:	df 68 20             	fildll 0x20(%eax)
4014b6:	8b 48 28             	mov    0x28(%eax),%ecx
4014b9:	89 4a 28             	mov    %ecx,0x28(%edx)
4014bc:	df 7a 20             	fistpll 0x20(%edx)
4014bf:	df 7a 18             	fistpll 0x18(%edx)
4014c2:	df 7a 10             	fistpll 0x10(%edx)
4014c5:	df 7a 08             	fistpll 0x8(%edx)
4014c8:	df 3a                	fistpll (%edx)
4014ca:	c3                   	ret
4014cb:	90                   	nop
4014cc:	df 28                	fildll (%eax)
4014ce:	df 68 08             	fildll 0x8(%eax)
4014d1:	df 68 10             	fildll 0x10(%eax)
4014d4:	df 68 18             	fildll 0x18(%eax)
4014d7:	df 68 20             	fildll 0x20(%eax)
4014da:	df 68 28             	fildll 0x28(%eax)
4014dd:	8b 48 30             	mov    0x30(%eax),%ecx
4014e0:	89 4a 30             	mov    %ecx,0x30(%edx)
4014e3:	df 7a 28             	fistpll 0x28(%edx)
4014e6:	df 7a 20             	fistpll 0x20(%edx)
4014e9:	df 7a 18             	fistpll 0x18(%edx)
4014ec:	df 7a 10             	fistpll 0x10(%edx)
4014ef:	df 7a 08             	fistpll 0x8(%edx)
4014f2:	df 3a                	fistpll (%edx)
4014f4:	c3                   	ret
4014f5:	8d 40 00             	lea    0x0(%eax),%eax
4014f8:	df 28                	fildll (%eax)
4014fa:	df 68 08             	fildll 0x8(%eax)
4014fd:	df 68 10             	fildll 0x10(%eax)
401500:	df 68 18             	fildll 0x18(%eax)
401503:	df 68 20             	fildll 0x20(%eax)
401506:	df 68 28             	fildll 0x28(%eax)
401509:	df 68 30             	fildll 0x30(%eax)
40150c:	8b 48 38             	mov    0x38(%eax),%ecx
40150f:	89 4a 38             	mov    %ecx,0x38(%edx)
401512:	df 7a 30             	fistpll 0x30(%edx)
401515:	df 7a 28             	fistpll 0x28(%edx)
401518:	df 7a 20             	fistpll 0x20(%edx)
40151b:	df 7a 18             	fistpll 0x18(%edx)
40151e:	df 7a 10             	fistpll 0x10(%edx)
401521:	df 7a 08             	fistpll 0x8(%edx)
401524:	df 3a                	fistpll (%edx)
401526:	c3                   	ret
401527:	90                   	nop
401528:	df 28                	fildll (%eax)
40152a:	df 68 08             	fildll 0x8(%eax)
40152d:	df 68 10             	fildll 0x10(%eax)
401530:	df 68 18             	fildll 0x18(%eax)
401533:	df 68 20             	fildll 0x20(%eax)
401536:	df 68 28             	fildll 0x28(%eax)
401539:	df 68 30             	fildll 0x30(%eax)
40153c:	df 68 38             	fildll 0x38(%eax)
40153f:	8b 48 40             	mov    0x40(%eax),%ecx
401542:	89 4a 40             	mov    %ecx,0x40(%edx)
401545:	df 7a 38             	fistpll 0x38(%edx)
401548:	df 7a 30             	fistpll 0x30(%edx)
40154b:	df 7a 28             	fistpll 0x28(%edx)
40154e:	df 7a 20             	fistpll 0x20(%edx)
401551:	df 7a 18             	fistpll 0x18(%edx)
401554:	df 7a 10             	fistpll 0x10(%edx)
401557:	df 7a 08             	fistpll 0x8(%edx)
40155a:	df 3a                	fistpll (%edx)
40155c:	c3                   	ret
40155d:	8d 40 00             	lea    0x0(%eax),%eax
401560:	83 e9 0c             	sub    $0xc,%ecx
401563:	01 c8                	add    %ecx,%eax
401565:	01 ca                	add    %ecx,%edx
401567:	f7 d9                	neg    %ecx
401569:	79 13                	jns    0x40157e
40156b:	df 2c 01             	fildll (%ecx,%eax,1)
40156e:	df 6c 01 08          	fildll 0x8(%ecx,%eax,1)
401572:	df 7c 11 08          	fistpll 0x8(%ecx,%edx,1)
401576:	df 3c 11             	fistpll (%ecx,%edx,1)
401579:	83 c1 10             	add    $0x10,%ecx
40157c:	78 ed                	js     0x40156b
40157e:	df 2c 01             	fildll (%ecx,%eax,1)
401581:	df 3c 11             	fistpll (%ecx,%edx,1)
401584:	8b 44 01 08          	mov    0x8(%ecx,%eax,1),%eax
401588:	89 44 11 08          	mov    %eax,0x8(%ecx,%edx,1)
40158c:	c3                   	ret
40158d:	8d 40 00             	lea    0x0(%eax),%eax
401590:	83 e9 04             	sub    $0x4,%ecx
401593:	01 c8                	add    %ecx,%eax
401595:	01 ca                	add    %ecx,%edx
401597:	f7 d9                	neg    %ecx
401599:	df 2c 01             	fildll (%ecx,%eax,1)
40159c:	df 3c 11             	fistpll (%ecx,%edx,1)
40159f:	83 c1 08             	add    $0x8,%ecx
4015a2:	78 f5                	js     0x401599
4015a4:	8b 04 01             	mov    (%ecx,%eax,1),%eax
4015a7:	89 04 11             	mov    %eax,(%ecx,%edx,1)
4015aa:	c3                   	ret
4015ab:	90                   	nop
4015ac:	8b 48 04             	mov    0x4(%eax),%ecx
4015af:	8b 10                	mov    (%eax),%edx
4015b1:	39 d1                	cmp    %edx,%ecx
4015b3:	89 11                	mov    %edx,(%ecx)
4015b5:	89 4a 04             	mov    %ecx,0x4(%edx)
4015b8:	74 02                	je     0x4015bc
4015ba:	c3                   	ret
4015bb:	90                   	nop
4015bc:	81 e9 a8 87 4a 00    	sub    $0x4a87a8,%ecx
4015c2:	89 ca                	mov    %ecx,%edx
4015c4:	c1 e9 03             	shr    $0x3,%ecx
4015c7:	0f b6 d6             	movzbl %dh,%edx
4015ca:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
4015cf:	d3 c0                	rol    %cl,%eax
4015d1:	21 04 95 28 87 4a 00 	and    %eax,0x4a8728(,%edx,4)
4015d8:	75 e0                	jne    0x4015ba
4015da:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
4015df:	89 d1                	mov    %edx,%ecx
4015e1:	d3 c0                	rol    %cl,%eax
4015e3:	21 05 24 87 4a 00    	and    %eax,0x4a8724
4015e9:	c3                   	ret
4015ea:	8b c0                	mov    %eax,%eax
4015ec:	81 ea 30 0b 00 00    	sub    $0xb30,%edx
4015f2:	c1 ea 08             	shr    $0x8,%edx
4015f5:	81 ea ff 03 00 00    	sub    $0x3ff,%edx
4015fb:	19 c9                	sbb    %ecx,%ecx
4015fd:	21 ca                	and    %ecx,%edx
4015ff:	81 c2 ff 03 00 00    	add    $0x3ff,%edx
401605:	8d 0c d5 a8 87 4a 00 	lea    0x4a87a8(,%edx,8),%ecx
40160c:	8b 51 04             	mov    0x4(%ecx),%edx
40160f:	39 ca                	cmp    %ecx,%edx
401611:	89 08                	mov    %ecx,(%eax)
401613:	89 50 04             	mov    %edx,0x4(%eax)
401616:	89 02                	mov    %eax,(%edx)
401618:	89 41 04             	mov    %eax,0x4(%ecx)
40161b:	74 03                	je     0x401620
40161d:	c3                   	ret
40161e:	90                   	nop
40161f:	90                   	nop
401620:	81 e9 a8 87 4a 00    	sub    $0x4a87a8,%ecx
401626:	89 ca                	mov    %ecx,%edx
401628:	c1 e9 03             	shr    $0x3,%ecx
40162b:	0f b6 d6             	movzbl %dh,%edx
40162e:	b8 01 00 00 00       	mov    $0x1,%eax
401633:	d3 e0                	shl    %cl,%eax
401635:	09 04 95 28 87 4a 00 	or     %eax,0x4a8728(,%edx,4)
40163c:	b8 01 00 00 00       	mov    $0x1,%eax
401641:	89 d1                	mov    %edx,%ecx
401643:	d3 e0                	shl    %cl,%eax
401645:	09 05 24 87 4a 00    	or     %eax,0x4a8724
40164b:	c3                   	ret
40164c:	83 3d 20 87 4a 00 00 	cmpl   $0x0,0x4a8720
401653:	75 03                	jne    0x401658
401655:	c3                   	ret
401656:	90                   	nop
401657:	90                   	nop
401658:	a1 1c 87 4a 00       	mov    0x4a871c,%eax
40165d:	f6 40 fc 01          	testb  $0x1,-0x4(%eax)
401661:	75 25                	jne    0x401688
401663:	83 48 fc 08          	orl    $0x8,-0x4(%eax)
401667:	8b 15 20 87 4a 00    	mov    0x4a8720,%edx
40166d:	29 d0                	sub    %edx,%eax
40166f:	8d 4a 03             	lea    0x3(%edx),%ecx
401672:	89 48 fc             	mov    %ecx,-0x4(%eax)
401675:	89 54 02 f8          	mov    %edx,-0x8(%edx,%eax,1)
401679:	81 fa 30 0b 00 00    	cmp    $0xb30,%edx
40167f:	0f 83 67 ff ff ff    	jae    0x4015ec
401685:	c3                   	ret
401686:	90                   	nop
401687:	90                   	nop
401688:	ba f0 ff ff ff       	mov    $0xfffffff0,%edx
40168d:	23 50 fc             	and    -0x4(%eax),%edx
401690:	81 fa 30 0b 00 00    	cmp    $0xb30,%edx
401696:	72 12                	jb     0x4016aa
401698:	e8 0f ff ff ff       	call   0x4015ac
40169d:	a1 1c 87 4a 00       	mov    0x4a871c,%eax
4016a2:	ba f0 ff ff ff       	mov    $0xfffffff0,%edx
4016a7:	23 50 fc             	and    -0x4(%eax),%edx
4016aa:	8b 0d 20 87 4a 00    	mov    0x4a8720,%ecx
4016b0:	29 c8                	sub    %ecx,%eax
4016b2:	01 ca                	add    %ecx,%edx
4016b4:	eb b9                	jmp    0x40166f
4016b6:	c3                   	ret
4016b7:	90                   	nop
4016b8:	53                   	push   %ebx
4016b9:	8b d8                	mov    %eax,%ebx
4016bb:	e8 8c ff ff ff       	call   0x40164c
4016c0:	6a 04                	push   $0x4
4016c2:	68 00 10 00 00       	push   $0x1000
4016c7:	68 00 00 14 00       	push   $0x140000
4016cc:	6a 00                	push   $0x0
4016ce:	e8 cd fc ff ff       	call   0x4013a0
4016d3:	85 c0                	test   %eax,%eax
4016d5:	74 4d                	je     0x401724
4016d7:	8b 15 0c 87 4a 00    	mov    0x4a870c,%edx
4016dd:	8b c8                	mov    %eax,%ecx
4016df:	c7 01 08 87 4a 00    	movl   $0x4a8708,(%ecx)
4016e5:	a3 0c 87 4a 00       	mov    %eax,0x4a870c
4016ea:	89 51 04             	mov    %edx,0x4(%ecx)
4016ed:	89 02                	mov    %eax,(%edx)
4016ef:	8b d0                	mov    %eax,%edx
4016f1:	81 c2 00 00 14 00    	add    $0x140000,%edx
4016f7:	8b ca                	mov    %edx,%ecx
4016f9:	83 e9 04             	sub    $0x4,%ecx
4016fc:	c7 01 02 00 00 00    	movl   $0x2,(%ecx)
401702:	b9 f0 ff 13 00       	mov    $0x13fff0,%ecx
401707:	2b cb                	sub    %ebx,%ecx
401709:	89 0d 20 87 4a 00    	mov    %ecx,0x4a8720
40170f:	2b d3                	sub    %ebx,%edx
401711:	8b c2                	mov    %edx,%eax
401713:	a3 1c 87 4a 00       	mov    %eax,0x4a871c
401718:	83 cb 02             	or     $0x2,%ebx
40171b:	8b d0                	mov    %eax,%edx
40171d:	83 ea 04             	sub    $0x4,%edx
401720:	89 1a                	mov    %ebx,(%edx)
401722:	5b                   	pop    %ebx
401723:	c3                   	ret
401724:	33 c0                	xor    %eax,%eax
401726:	a3 20 87 4a 00       	mov    %eax,0x4a8720
40172b:	33 c0                	xor    %eax,%eax
40172d:	5b                   	pop    %ebx
40172e:	c3                   	ret
40172f:	90                   	nop
401730:	80 3d 4d 80 4a 00 00 	cmpb   $0x0,0x4a804d
401737:	74 34                	je     0x40176d
401739:	eb 20                	jmp    0x40175b
40173b:	6a 00                	push   $0x0
40173d:	e8 6e fc ff ff       	call   0x4013b0
401742:	b9 a8 a7 4a 00       	mov    $0x4aa7a8,%ecx
401747:	b2 01                	mov    $0x1,%dl
401749:	33 c0                	xor    %eax,%eax
40174b:	e8 d0 fc ff ff       	call   0x401420
401750:	84 c0                	test   %al,%al
401752:	74 19                	je     0x40176d
401754:	6a 0a                	push   $0xa
401756:	e8 55 fc ff ff       	call   0x4013b0
40175b:	b9 a8 a7 4a 00       	mov    $0x4aa7a8,%ecx
401760:	b2 01                	mov    $0x1,%dl
401762:	33 c0                	xor    %eax,%eax
401764:	e8 b7 fc ff ff       	call   0x401420
401769:	84 c0                	test   %al,%al
40176b:	75 ce                	jne    0x40173b
40176d:	c3                   	ret
40176e:	8b c0                	mov    %eax,%eax
401770:	53                   	push   %ebx
401771:	56                   	push   %esi
401772:	57                   	push   %edi
401773:	55                   	push   %ebp
401774:	8b e8                	mov    %eax,%ebp
401776:	8d b5 10 00 01 00    	lea    0x10010(%ebp),%esi
40177c:	4e                   	dec    %esi
40177d:	83 c6 04             	add    $0x4,%esi
401780:	81 e6 00 00 ff ff    	and    $0xffff0000,%esi
401786:	6a 04                	push   $0x4
401788:	68 00 10 10 00       	push   $0x101000
40178d:	56                   	push   %esi
40178e:	6a 00                	push   $0x0
401790:	e8 0b fc ff ff       	call   0x4013a0
401795:	8b d8                	mov    %eax,%ebx
401797:	85 db                	test   %ebx,%ebx
401799:	74 30                	je     0x4017cb
40179b:	8b fb                	mov    %ebx,%edi
40179d:	89 6f 08             	mov    %ebp,0x8(%edi)
4017a0:	83 ce 04             	or     $0x4,%esi
4017a3:	89 77 0c             	mov    %esi,0xc(%edi)
4017a6:	e8 85 ff ff ff       	call   0x401730
4017ab:	a1 b0 a7 4a 00       	mov    0x4aa7b0,%eax
4017b0:	c7 07 ac a7 4a 00    	movl   $0x4aa7ac,(%edi)
4017b6:	89 1d b0 a7 4a 00    	mov    %ebx,0x4aa7b0
4017bc:	89 47 04             	mov    %eax,0x4(%edi)
4017bf:	89 18                	mov    %ebx,(%eax)
4017c1:	c6 05 a8 a7 4a 00 00 	movb   $0x0,0x4aa7a8
4017c8:	83 c3 10             	add    $0x10,%ebx
4017cb:	8b c3                	mov    %ebx,%eax
4017cd:	5d                   	pop    %ebp