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
4017dd:	6a 00                	push   $0x0
4017df:	53                   	push   %ebx
4017e0:	e8 b3 fb ff ff       	call   0x401398
4017e5:	85 c0                	test   %eax,%eax
4017e7:	74 09                	je     0x4017f2
4017e9:	89 37                	mov    %esi,(%edi)
4017eb:	89 7e 04             	mov    %edi,0x4(%esi)
4017ee:	33 c0                	xor    %eax,%eax
4017f0:	eb 03                	jmp    0x4017f5
4017f2:	83 c8 ff             	or     $0xffffffff,%eax
4017f5:	c6 05 a8 07 47 00 00 	movb   $0x0,0x4707a8
4017fc:	5f                   	pop    %edi
4017fd:	5e                   	pop    %esi
4017fe:	5b                   	pop    %ebx
4017ff:	c3                   	ret
401800:	8d 50 03             	lea    0x3(%eax),%edx
401803:	c1 ea 03             	shr    $0x3,%edx
401806:	3d 2c 0a 00 00       	cmp    $0xa2c,%eax
40180b:	53                   	push   %ebx
40180c:	8a 0d 4d e0 46 00    	mov    0x46e04d,%cl
401812:	0f 87 2c 02 00 00    	ja     0x401a44
401818:	84 c9                	test   %cl,%cl
40181a:	0f b6 82 c0 e5 46 00 	movzbl 0x46e5c0(%edx),%eax
401821:	8d 1c c5 40 00 46 00 	lea    0x460040(,%eax,8),%ebx
401828:	75 56                	jne    0x401880
40182a:	8b 53 04             	mov    0x4(%ebx),%edx
40182d:	8b 42 08             	mov    0x8(%edx),%eax
401830:	b9 f8 ff ff ff       	mov    $0xfffffff8,%ecx
401835:	39 da                	cmp    %ebx,%edx
401837:	74 17                	je     0x401850
401839:	83 42 0c 01          	addl   $0x1,0xc(%edx)
40183d:	23 48 fc             	and    -0x4(%eax),%ecx
401840:	89 4a 08             	mov    %ecx,0x8(%edx)
401843:	89 50 fc             	mov    %edx,-0x4(%eax)
401846:	74 28                	je     0x401870
401848:	c6 03 00             	movb   $0x0,(%ebx)
40184b:	5b                   	pop    %ebx
40184c:	c3                   	ret
40184d:	90                   	nop
40184e:	90                   	nop
40184f:	90                   	nop
401850:	8b 53 10             	mov    0x10(%ebx),%edx
401853:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
401857:	01 c1                	add    %eax,%ecx
401859:	3b 43 0c             	cmp    0xc(%ebx),%eax
40185c:	77 6e                	ja     0x4018cc
40185e:	83 42 0c 01          	addl   $0x1,0xc(%edx)
401862:	89 4b 08             	mov    %ecx,0x8(%ebx)
401865:	c6 03 00             	movb   $0x0,(%ebx)
401868:	89 50 fc             	mov    %edx,-0x4(%eax)
40186b:	5b                   	pop    %ebx
40186c:	c3                   	ret
40186d:	90                   	nop
40186e:	90                   	nop
40186f:	90                   	nop
401870:	8b 4a 04             	mov    0x4(%edx),%ecx
401873:	89 59 14             	mov    %ebx,0x14(%ecx)
401876:	89 4b 04             	mov    %ecx,0x4(%ebx)
401879:	c6 03 00             	movb   $0x0,(%ebx)
40187c:	5b                   	pop    %ebx
40187d:	c3                   	ret
40187e:	90                   	nop
40187f:	90                   	nop
401880:	b8 00 01 00 00       	mov    $0x100,%eax
401885:	f0 0f b0 23          	lock cmpxchg %ah,(%ebx)
401889:	74 9f                	je     0x40182a
40188b:	83 c3 20             	add    $0x20,%ebx
40188e:	b8 00 01 00 00       	mov    $0x100,%eax
401893:	f0 0f b0 23          	lock cmpxchg %ah,(%ebx)
401897:	74 91                	je     0x40182a
401899:	83 c3 20             	add    $0x20,%ebx
40189c:	b8 00 01 00 00       	mov    $0x100,%eax
4018a1:	f0 0f b0 23          	lock cmpxchg %ah,(%ebx)
4018a5:	74 83                	je     0x40182a
4018a7:	83 eb 40             	sub    $0x40,%ebx
4018aa:	6a 00                	push   $0x0
4018ac:	e8 ef fa ff ff       	call   0x4013a0
4018b1:	b8 00 01 00 00       	mov    $0x100,%eax
4018b6:	f0 0f b0 23          	lock cmpxchg %ah,(%ebx)
4018ba:	0f 84 6a ff ff ff    	je     0x40182a
4018c0:	6a 0a                	push   $0xa
4018c2:	e8 d9 fa ff ff       	call   0x4013a0
4018c7:	eb b7                	jmp    0x401880
4018c9:	90                   	nop
4018ca:	90                   	nop
4018cb:	90                   	nop
4018cc:	56                   	push   %esi
4018cd:	57                   	push   %edi
4018ce:	80 3d 4d e0 46 00 00 	cmpb   $0x0,0x46e04d
4018d5:	74 31                	je     0x401908
4018d7:	b8 00 01 00 00       	mov    $0x100,%eax
4018dc:	f0 0f b0 25 18 e7 46 	lock cmpxchg %ah,0x46e718
4018e3:	00
4018e4:	74 22                	je     0x401908
4018e6:	6a 00                	push   $0x0
4018e8:	e8 b3 fa ff ff       	call   0x4013a0
4018ed:	b8 00 01 00 00       	mov    $0x100,%eax
4018f2:	f0 0f b0 25 18 e7 46 	lock cmpxchg %ah,0x46e718
4018f9:	00
4018fa:	74 0c                	je     0x401908
4018fc:	6a 0a                	push   $0xa
4018fe:	e8 9d fa ff ff       	call   0x4013a0
401903:	eb d2                	jmp    0x4018d7
401905:	90                   	nop
401906:	90                   	nop
401907:	90                   	nop
401908:	0f be 73 01          	movsbl 0x1(%ebx),%esi
40190c:	23 35 24 e7 46 00    	and    0x46e724,%esi
401912:	74 70                	je     0x401984
401914:	0f bc c6             	bsf    %esi,%eax
401917:	8d 34 c5 00 00 00 00 	lea    0x0(,%eax,8),%esi
40191e:	8b 0c 85 28 e7 46 00 	mov    0x46e728(,%eax,4),%ecx
401925:	0f bc c9             	bsf    %ecx,%ecx
401928:	8d 0c b1             	lea    (%ecx,%esi,4),%ecx
40192b:	8d 3c cd a8 e7 46 00 	lea    0x46e7a8(,%ecx,8),%edi
401932:	8b 77 04             	mov    0x4(%edi),%esi
401935:	8b 56 04             	mov    0x4(%esi),%edx
401938:	89 57 04             	mov    %edx,0x4(%edi)
40193b:	89 3a                	mov    %edi,(%edx)
40193d:	39 d7                	cmp    %edx,%edi
40193f:	75 17                	jne    0x401958
401941:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
401946:	d3 c2                	rol    %cl,%edx
401948:	21 14 85 28 e7 46 00 	and    %edx,0x46e728(,%eax,4)
40194f:	75 07                	jne    0x401958
401951:	0f b3 05 24 e7 46 00 	btr    %eax,0x46e724
401958:	bf f0 ff ff ff       	mov    $0xfffffff0,%edi
40195d:	23 7e fc             	and    -0x4(%esi),%edi
401960:	81 ff 60 0a 01 00    	cmp    $0x10a60,%edi
401966:	72 6c                	jb     0x4019d4
401968:	89 fa                	mov    %edi,%edx
40196a:	0f b7 7b 1a          	movzwl 0x1a(%ebx),%edi
40196e:	29 fa                	sub    %edi,%edx
401970:	8d 04 37             	lea    (%edi,%esi,1),%eax
401973:	8d 4a 03             	lea    0x3(%edx),%ecx
401976:	89 48 fc             	mov    %ecx,-0x4(%eax)
401979:	89 54 02 f8          	mov    %edx,-0x8(%edx,%eax,1)
40197d:	e8 5a fc ff ff       	call   0x4015dc
401982:	eb 55                	jmp    0x4019d9
401984:	0f b7 4b 18          	movzwl 0x18(%ebx),%ecx
401988:	8b 3d 20 e7 46 00    	mov    0x46e720,%edi
40198e:	39 cf                	cmp    %ecx,%edi
401990:	72 26                	jb     0x4019b8
401992:	8b 35 1c e7 46 00    	mov    0x46e71c,%esi
401998:	0f b7 4b 1a          	movzwl 0x1a(%ebx),%ecx
40199c:	8d 91 30 0b 00 00    	lea    0xb30(%ecx),%edx
4019a2:	39 d7                	cmp    %edx,%edi
4019a4:	72 02                	jb     0x4019a8
4019a6:	89 cf                	mov    %ecx,%edi
4019a8:	29 fe                	sub    %edi,%esi
4019aa:	29 3d 20 e7 46 00    	sub    %edi,0x46e720
4019b0:	89 35 1c e7 46 00    	mov    %esi,0x46e71c
4019b6:	eb 21                	jmp    0x4019d9
4019b8:	0f b7 43 1a          	movzwl 0x1a(%ebx),%eax
4019bc:	89 c7                	mov    %eax,%edi
4019be:	e8 e5 fc ff ff       	call   0x4016a8
4019c3:	89 c6                	mov    %eax,%esi
4019c5:	85 c0                	test   %eax,%eax
4019c7:	75 10                	jne    0x4019d9
4019c9:	a2 18 e7 46 00       	mov    %al,0x46e718
4019ce:	88 03                	mov    %al,(%ebx)
4019d0:	5f                   	pop    %edi
4019d1:	5e                   	pop    %esi
4019d2:	5b                   	pop    %ebx
4019d3:	c3                   	ret
4019d4:	80 64 37 fc f7       	andb   $0xf7,-0x4(%edi,%esi,1)
4019d9:	8d 4f 06             	lea    0x6(%edi),%ecx
4019dc:	89 4e fc             	mov    %ecx,-0x4(%esi)
4019df:	31 c0                	xor    %eax,%eax
4019e1:	a2 18 e7 46 00       	mov    %al,0x46e718
4019e6:	89 1e                	mov    %ebx,(%esi)
4019e8:	89 46 08             	mov    %eax,0x8(%esi)
4019eb:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4019f2:	89 73 10             	mov    %esi,0x10(%ebx)
4019f5:	8d 46 20             	lea    0x20(%esi),%eax