4013f1:	66 65 73 73          	data16 gs jae 0x401468
4013f5:	69 6f 6e 61 6c 20 53 	imul   $0x53206c61,0x6e(%edi),%ebp
4013fc:	6f                   	outsl  %ds:(%esi),(%dx)
4013fd:	66 74 77             	data16 je 0x401477
401400:	61                   	popa
401401:	72 65                	jb     0x401468
401403:	20 44 65 76          	and    %al,0x76(%ebp,%eiz,2)
401407:	65 6c                	gs insb (%dx),%es:(%edi)
401409:	6f                   	outsl  %ds:(%esi),(%dx)
40140a:	70 6d                	jo     0x401479
40140c:	65 6e                	outsb  %gs:(%esi),(%dx)
40140e:	74 00                	je     0x401410
401410:	f0 0f b0 11          	lock cmpxchg %dl,(%ecx)
401414:	c3                   	ret
401415:	8d 40 00             	lea    0x0(%eax),%eax
401418:	8b 08                	mov    (%eax),%ecx
40141a:	89 0a                	mov    %ecx,(%edx)
40141c:	8b 48 04             	mov    0x4(%eax),%ecx
40141f:	8b 40 08             	mov    0x8(%eax),%eax
401422:	89 4a 04             	mov    %ecx,0x4(%edx)
401425:	89 42 08             	mov    %eax,0x8(%edx)
401428:	c3                   	ret
401429:	8d 40 00             	lea    0x0(%eax),%eax
40142c:	8b 08                	mov    (%eax),%ecx
40142e:	89 0a                	mov    %ecx,(%edx)
401430:	8b 48 04             	mov    0x4(%eax),%ecx
401433:	89 4a 04             	mov    %ecx,0x4(%edx)
401436:	8b 48 08             	mov    0x8(%eax),%ecx
401439:	89 4a 08             	mov    %ecx,0x8(%edx)
40143c:	8b 48 0c             	mov    0xc(%eax),%ecx
40143f:	8b 40 10             	mov    0x10(%eax),%eax
401442:	89 4a 0c             	mov    %ecx,0xc(%edx)
401445:	89 42 10             	mov    %eax,0x10(%edx)
401448:	c3                   	ret
401449:	8d 40 00             	lea    0x0(%eax),%eax
40144c:	8b 08                	mov    (%eax),%ecx
40144e:	89 0a                	mov    %ecx,(%edx)
401450:	8b 48 04             	mov    0x4(%eax),%ecx
401453:	89 4a 04             	mov    %ecx,0x4(%edx)
401456:	8b 48 08             	mov    0x8(%eax),%ecx
401459:	89 4a 08             	mov    %ecx,0x8(%edx)
40145c:	8b 48 0c             	mov    0xc(%eax),%ecx
40145f:	89 4a 0c             	mov    %ecx,0xc(%edx)
401462:	8b 48 10             	mov    0x10(%eax),%ecx
401465:	89 4a 10             	mov    %ecx,0x10(%edx)
401468:	8b 48 14             	mov    0x14(%eax),%ecx
40146b:	8b 40 18             	mov    0x18(%eax),%eax
40146e:	89 4a 14             	mov    %ecx,0x14(%edx)
401471:	89 42 18             	mov    %eax,0x18(%edx)
401474:	c3                   	ret
401475:	8d 40 00             	lea    0x0(%eax),%eax
401478:	df 28                	fildll (%eax)
40147a:	df 68 08             	fildll 0x8(%eax)
40147d:	df 68 10             	fildll 0x10(%eax)
401480:	df 68 18             	fildll 0x18(%eax)
401483:	8b 48 20             	mov    0x20(%eax),%ecx
401486:	89 4a 20             	mov    %ecx,0x20(%edx)
401489:	df 7a 18             	fistpll 0x18(%edx)
40148c:	df 7a 10             	fistpll 0x10(%edx)
40148f:	df 7a 08             	fistpll 0x8(%edx)
401492:	df 3a                	fistpll (%edx)
401494:	c3                   	ret
401495:	8d 40 00             	lea    0x0(%eax),%eax
401498:	df 28                	fildll (%eax)
40149a:	df 68 08             	fildll 0x8(%eax)
40149d:	df 68 10             	fildll 0x10(%eax)
4014a0:	df 68 18             	fildll 0x18(%eax)
4014a3:	df 68 20             	fildll 0x20(%eax)
4014a6:	8b 48 28             	mov    0x28(%eax),%ecx
4014a9:	89 4a 28             	mov    %ecx,0x28(%edx)
4014ac:	df 7a 20             	fistpll 0x20(%edx)
4014af:	df 7a 18             	fistpll 0x18(%edx)
4014b2:	df 7a 10             	fistpll 0x10(%edx)
4014b5:	df 7a 08             	fistpll 0x8(%edx)
4014b8:	df 3a                	fistpll (%edx)
4014ba:	c3                   	ret
4014bb:	90                   	nop
4014bc:	df 28                	fildll (%eax)
4014be:	df 68 08             	fildll 0x8(%eax)
4014c1:	df 68 10             	fildll 0x10(%eax)
4014c4:	df 68 18             	fildll 0x18(%eax)
4014c7:	df 68 20             	fildll 0x20(%eax)
4014ca:	df 68 28             	fildll 0x28(%eax)
4014cd:	8b 48 30             	mov    0x30(%eax),%ecx
4014d0:	89 4a 30             	mov    %ecx,0x30(%edx)
4014d3:	df 7a 28             	fistpll 0x28(%edx)
4014d6:	df 7a 20             	fistpll 0x20(%edx)
4014d9:	df 7a 18             	fistpll 0x18(%edx)
4014dc:	df 7a 10             	fistpll 0x10(%edx)
4014df:	df 7a 08             	fistpll 0x8(%edx)
4014e2:	df 3a                	fistpll (%edx)
4014e4:	c3                   	ret
4014e5:	8d 40 00             	lea    0x0(%eax),%eax
4014e8:	df 28                	fildll (%eax)
4014ea:	df 68 08             	fildll 0x8(%eax)
4014ed:	df 68 10             	fildll 0x10(%eax)
4014f0:	df 68 18             	fildll 0x18(%eax)
4014f3:	df 68 20             	fildll 0x20(%eax)
4014f6:	df 68 28             	fildll 0x28(%eax)
4014f9:	df 68 30             	fildll 0x30(%eax)
4014fc:	8b 48 38             	mov    0x38(%eax),%ecx
4014ff:	89 4a 38             	mov    %ecx,0x38(%edx)
401502:	df 7a 30             	fistpll 0x30(%edx)
401505:	df 7a 28             	fistpll 0x28(%edx)
401508:	df 7a 20             	fistpll 0x20(%edx)
40150b:	df 7a 18             	fistpll 0x18(%edx)
40150e:	df 7a 10             	fistpll 0x10(%edx)
401511:	df 7a 08             	fistpll 0x8(%edx)
401514:	df 3a                	fistpll (%edx)
401516:	c3                   	ret
401517:	90                   	nop
401518:	df 28                	fildll (%eax)
40151a:	df 68 08             	fildll 0x8(%eax)
40151d:	df 68 10             	fildll 0x10(%eax)
401520:	df 68 18             	fildll 0x18(%eax)
401523:	df 68 20             	fildll 0x20(%eax)
401526:	df 68 28             	fildll 0x28(%eax)
401529:	df 68 30             	fildll 0x30(%eax)
40152c:	df 68 38             	fildll 0x38(%eax)
40152f:	8b 48 40             	mov    0x40(%eax),%ecx
401532:	89 4a 40             	mov    %ecx,0x40(%edx)
401535:	df 7a 38             	fistpll 0x38(%edx)
401538:	df 7a 30             	fistpll 0x30(%edx)
40153b:	df 7a 28             	fistpll 0x28(%edx)
40153e:	df 7a 20             	fistpll 0x20(%edx)
401541:	df 7a 18             	fistpll 0x18(%edx)
401544:	df 7a 10             	fistpll 0x10(%edx)
401547:	df 7a 08             	fistpll 0x8(%edx)
40154a:	df 3a                	fistpll (%edx)
40154c:	c3                   	ret
40154d:	8d 40 00             	lea    0x0(%eax),%eax
401550:	83 e9 0c             	sub    $0xc,%ecx
401553:	01 c8                	add    %ecx,%eax
401555:	01 ca                	add    %ecx,%edx
401557:	f7 d9                	neg    %ecx
401559:	79 13                	jns    0x40156e
40155b:	df 2c 01             	fildll (%ecx,%eax,1)
40155e:	df 6c 01 08          	fildll 0x8(%ecx,%eax,1)
401562:	df 7c 11 08          	fistpll 0x8(%ecx,%edx,1)
401566:	df 3c 11             	fistpll (%ecx,%edx,1)
401569:	83 c1 10             	add    $0x10,%ecx
40156c:	78 ed                	js     0x40155b
40156e:	df 2c 01             	fildll (%ecx,%eax,1)
401571:	df 3c 11             	fistpll (%ecx,%edx,1)
401574:	8b 44 01 08          	mov    0x8(%ecx,%eax,1),%eax
401578:	89 44 11 08          	mov    %eax,0x8(%ecx,%edx,1)
40157c:	c3                   	ret
40157d:	8d 40 00             	lea    0x0(%eax),%eax
401580:	83 e9 04             	sub    $0x4,%ecx
401583:	01 c8                	add    %ecx,%eax
401585:	01 ca                	add    %ecx,%edx
401587:	f7 d9                	neg    %ecx
401589:	df 2c 01             	fildll (%ecx,%eax,1)
40158c:	df 3c 11             	fistpll (%ecx,%edx,1)
40158f:	83 c1 08             	add    $0x8,%ecx
401592:	78 f5                	js     0x401589
401594:	8b 04 01             	mov    (%ecx,%eax,1),%eax
401597:	89 04 11             	mov    %eax,(%ecx,%edx,1)
40159a:	c3                   	ret
40159b:	90                   	nop
40159c:	8b 48 04             	mov    0x4(%eax),%ecx
40159f:	8b 10                	mov    (%eax),%edx
4015a1:	39 d1                	cmp    %edx,%ecx
4015a3:	89 11                	mov    %edx,(%ecx)
4015a5:	89 4a 04             	mov    %ecx,0x4(%edx)
4015a8:	74 02                	je     0x4015ac
4015aa:	c3                   	ret
4015ab:	90                   	nop
4015ac:	81 e9 a8 e7 46 00    	sub    $0x46e7a8,%ecx
4015b2:	89 ca                	mov    %ecx,%edx
4015b4:	c1 e9 03             	shr    $0x3,%ecx
4015b7:	0f b6 d6             	movzbl %dh,%edx
4015ba:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
4015bf:	d3 c0                	rol    %cl,%eax
4015c1:	21 04 95 28 e7 46 00 	and    %eax,0x46e728(,%edx,4)
4015c8:	75 e0                	jne    0x4015aa
4015ca:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
4015cf:	89 d1                	mov    %edx,%ecx
4015d1:	d3 c0                	rol    %cl,%eax
4015d3:	21 05 24 e7 46 00    	and    %eax,0x46e724
4015d9:	c3                   	ret
4015da:	8b c0                	mov    %eax,%eax
4015dc:	81 ea 30 0b 00 00    	sub    $0xb30,%edx
4015e2:	c1 ea 08             	shr    $0x8,%edx
4015e5:	81 ea ff 03 00 00    	sub    $0x3ff,%edx
4015eb:	19 c9                	sbb    %ecx,%ecx
4015ed:	21 ca                	and    %ecx,%edx
4015ef:	81 c2 ff 03 00 00    	add    $0x3ff,%edx
4015f5:	8d 0c d5 a8 e7 46 00 	lea    0x46e7a8(,%edx,8),%ecx
4015fc:	8b 51 04             	mov    0x4(%ecx),%edx
4015ff:	39 ca                	cmp    %ecx,%edx
401601:	89 08                	mov    %ecx,(%eax)
401603:	89 50 04             	mov    %edx,0x4(%eax)
401606:	89 02                	mov    %eax,(%edx)
401608:	89 41 04             	mov    %eax,0x4(%ecx)
40160b:	74 03                	je     0x401610
40160d:	c3                   	ret
40160e:	90                   	nop
40160f:	90                   	nop
401610:	81 e9 a8 e7 46 00    	sub    $0x46e7a8,%ecx
401616:	89 ca                	mov    %ecx,%edx
401618:	c1 e9 03             	shr    $0x3,%ecx
40161b:	0f b6 d6             	movzbl %dh,%edx
40161e:	b8 01 00 00 00       	mov    $0x1,%eax
401623:	d3 e0                	shl    %cl,%eax
401625:	09 04 95 28 e7 46 00 	or     %eax,0x46e728(,%edx,4)
40162c:	b8 01 00 00 00       	mov    $0x1,%eax
401631:	89 d1                	mov    %edx,%ecx
401633:	d3 e0                	shl    %cl,%eax
401635:	09 05 24 e7 46 00    	or     %eax,0x46e724
40163b:	c3                   	ret
40163c:	83 3d 20 e7 46 00 00 	cmpl   $0x0,0x46e720
401643:	75 03                	jne    0x401648
401645:	c3                   	ret
401646:	90                   	nop
401647:	90                   	nop
401648:	a1 1c e7 46 00       	mov    0x46e71c,%eax
40164d:	f6 40 fc 01          	testb  $0x1,-0x4(%eax)
401651:	75 25                	jne    0x401678
401653:	83 48 fc 08          	orl    $0x8,-0x4(%eax)
401657:	8b 15 20 e7 46 00    	mov    0x46e720,%edx
40165d:	29 d0                	sub    %edx,%eax
40165f:	8d 4a 03             	lea    0x3(%edx),%ecx
401662:	89 48 fc             	mov    %ecx,-0x4(%eax)
401665:	89 54 02 f8          	mov    %edx,-0x8(%edx,%eax,1)
401669:	81 fa 30 0b 00 00    	cmp    $0xb30,%edx
40166f:	0f 83 67 ff ff ff    	jae    0x4015dc
401675:	c3                   	ret
401676:	90                   	nop
401677:	90                   	nop
401678:	ba f0 ff ff ff       	mov    $0xfffffff0,%edx
40167d:	23 50 fc             	and    -0x4(%eax),%edx
401680:	81 fa 30 0b 00 00    	cmp    $0xb30,%edx
401686:	72 12                	jb     0x40169a
401688:	e8 0f ff ff ff       	call   0x40159c
40168d:	a1 1c e7 46 00       	mov    0x46e71c,%eax
401692:	ba f0 ff ff ff       	mov    $0xfffffff0,%edx
401697:	23 50 fc             	and    -0x4(%eax),%edx
40169a:	8b 0d 20 e7 46 00    	mov    0x46e720,%ecx
4016a0:	29 c8                	sub    %ecx,%eax
4016a2:	01 ca                	add    %ecx,%edx
4016a4:	eb b9                	jmp    0x40165f
4016a6:	c3                   	ret
4016a7:	90                   	nop
4016a8:	53                   	push   %ebx
4016a9:	8b d8                	mov    %eax,%ebx
4016ab:	e8 8c ff ff ff       	call   0x40163c
4016b0:	6a 04                	push   $0x4
4016b2:	68 00 10 00 00       	push   $0x1000
4016b7:	68 00 00 14 00       	push   $0x140000
4016bc:	6a 00                	push   $0x0
4016be:	e8 cd fc ff ff       	call   0x401390
4016c3:	85 c0                	test   %eax,%eax
4016c5:	74 4d                	je     0x401714
4016c7:	8b 15 0c e7 46 00    	mov    0x46e70c,%edx
4016cd:	8b c8                	mov    %eax,%ecx
4016cf:	c7 01 08 e7 46 00    	movl   $0x46e708,(%ecx)
4016d5:	a3 0c e7 46 00       	mov    %eax,0x46e70c
4016da:	89 51 04             	mov    %edx,0x4(%ecx)
4016dd:	89 02                	mov    %eax,(%edx)
4016df:	8b d0                	mov    %eax,%edx
4016e1:	81 c2 00 00 14 00    	add    $0x140000,%edx
4016e7:	8b ca                	mov    %edx,%ecx
4016e9:	83 e9 04             	sub    $0x4,%ecx
4016ec:	c7 01 02 00 00 00    	movl   $0x2,(%ecx)
4016f2:	b9 f0 ff 13 00       	mov    $0x13fff0,%ecx
4016f7:	2b cb                	sub    %ebx,%ecx
4016f9:	89 0d 20 e7 46 00    	mov    %ecx,0x46e720
4016ff:	2b d3                	sub    %ebx,%edx
401701:	8b c2                	mov    %edx,%eax
401703:	a3 1c e7 46 00       	mov    %eax,0x46e71c
401708:	83 cb 02             	or     $0x2,%ebx
40170b:	8b d0                	mov    %eax,%edx
40170d:	83 ea 04             	sub    $0x4,%edx
401710:	89 1a                	mov    %ebx,(%edx)
401712:	5b                   	pop    %ebx
401713:	c3                   	ret
401714:	33 c0                	xor    %eax,%eax
401716:	a3 20 e7 46 00       	mov    %eax,0x46e720
40171b:	33 c0                	xor    %eax,%eax
40171d:	5b                   	pop    %ebx
40171e:	c3                   	ret
40171f:	90                   	nop
401720:	80 3d 4d e0 46 00 00 	cmpb   $0x0,0x46e04d
401727:	74 34                	je     0x40175d
401729:	eb 20                	jmp    0x40174b
40172b:	6a 00                	push   $0x0
40172d:	e8 6e fc ff ff       	call   0x4013a0
401732:	b9 a8 07 47 00       	mov    $0x4707a8,%ecx
401737:	b2 01                	mov    $0x1,%dl
401739:	33 c0                	xor    %eax,%eax
40173b:	e8 d0 fc ff ff       	call   0x401410
401740:	84 c0                	test   %al,%al
401742:	74 19                	je     0x40175d
401744:	6a 0a                	push   $0xa
401746:	e8 55 fc ff ff       	call   0x4013a0
40174b:	b9 a8 07 47 00       	mov    $0x4707a8,%ecx
401750:	b2 01                	mov    $0x1,%dl
401752:	33 c0                	xor    %eax,%eax
401754:	e8 b7 fc ff ff       	call   0x401410
401759:	84 c0                	test   %al,%al
40175b:	75 ce                	jne    0x40172b
40175d:	c3                   	ret
40175e:	8b c0                	mov    %eax,%eax
401760:	53                   	push   %ebx
401761:	56                   	push   %esi
401762:	57                   	push   %edi
401763:	55                   	push   %ebp
401764:	8b e8                	mov    %eax,%ebp
401766:	8d b5 10 00 01 00    	lea    0x10010(%ebp),%esi
40176c:	4e                   	dec    %esi
40176d:	83 c6 04             	add    $0x4,%esi
401770:	81 e6 00 00 ff ff    	and    $0xffff0000,%esi
401776:	6a 04                	push   $0x4
401778:	68 00 10 10 00       	push   $0x101000
40177d:	56                   	push   %esi
40177e:	6a 00                	push   $0x0
401780:	e8 0b fc ff ff       	call   0x401390
401785:	8b d8                	mov    %eax,%ebx
401787:	85 db                	test   %ebx,%ebx
401789:	74 30                	je     0x4017bb
40178b:	8b fb                	mov    %ebx,%edi
40178d:	89 6f 08             	mov    %ebp,0x8(%edi)
401790:	83 ce 04             	or     $0x4,%esi
401793:	89 77 0c             	mov    %esi,0xc(%edi)
401796:	e8 85 ff ff ff       	call   0x401720
40179b:	a1 b0 07 47 00       	mov    0x4707b0,%eax
4017a0:	c7 07 ac 07 47 00    	movl   $0x4707ac,(%edi)
4017a6:	89 1d b0 07 47 00    	mov    %ebx,0x4707b0
4017ac:	89 47 04             	mov    %eax,0x4(%edi)
4017af:	89 18                	mov    %ebx,(%eax)
4017b1:	c6 05 a8 07 47 00 00 	movb   $0x0,0x4707a8
4017b8:	83 c3 10             	add    $0x10,%ebx
4017bb:	8b c3                	mov    %ebx,%eax
4017bd:	5d                   	pop    %ebp
4017be:	5f                   	pop    %edi
4017bf:	5e                   	pop    %esi
4017c0:	5b                   	pop    %ebx
4017c1:	c3                   	ret
4017c2:	8b c0                	mov    %eax,%eax
4017c4:	53                   	push   %ebx
4017c5:	56                   	push   %esi
4017c6:	57                   	push   %edi
4017c7:	8b d8                	mov    %eax,%ebx
4017c9:	83 eb 10             	sub    $0x10,%ebx
4017cc:	e8 4f ff ff ff       	call   0x401720
4017d1:	8b c3                	mov    %ebx,%eax
4017d3:	8b 30                	mov    (%eax),%esi
4017d5:	8b 78 04             	mov    0x4(%eax),%edi
4017d8:	68 00 80 00 00       	push   $0x8000