4013ad:	64 2a 36             	sub    %fs:(%esi),%dh
4013b0:	20 57 00             	and    %dl,0x0(%edi)
4013b3:	ce                   	into
4013b4:	60                   	pusha
4013b5:	e6 1e                	out    %al,$0x1e
4013b7:	e8 1e 1a 69 e6       	call   0xe6a92dda
4013bc:	ba 68 be d0 8e       	mov    $0x8ed0be68,%edx
4013c1:	38 75 c3             	cmp    %dh,-0x3d(%ebp)
4013c4:	b9 f7 70 e1 00       	mov    $0xe170f7,%ecx
4013c9:	00 00                	add    %al,(%eax)
4013cb:	00 00                	add    %al,(%eax)
4013cd:	00 00                	add    %al,(%eax)
4013cf:	00 8b ff 55 8b ec    	add    %cl,-0x1374aa01(%ebx)
4013d5:	6a 01                	push   $0x1
4013d7:	6a ff                	push   $0xffffffff
4013d9:	68 00 11 40 00       	push   $0x401100
4013de:	6a ff                	push   $0xffffffff
4013e0:	ff 75 10             	push   0x10(%ebp)
4013e3:	ff 15 00 30 40 00    	call   *0x403000
4013e9:	83 f8 02             	cmp    $0x2,%eax
4013ec:	75 07                	jne    0x4013f5
4013ee:	68 14 11 40 00       	push   $0x401114
4013f3:	eb 05                	jmp    0x4013fa
4013f5:	68 28 11 40 00       	push   $0x401128
4013fa:	ff 15 08 30 40 00    	call   *0x403008
401400:	33 c0                	xor    %eax,%eax
401402:	5d                   	pop    %ebp
401403:	c2 10 00             	ret    $0x10
401406:	cc                   	int3
401407:	cc                   	int3
401408:	cc                   	int3
401409:	cc                   	int3
40140a:	cc                   	int3
40140b:	cc                   	int3
40140c:	cc                   	int3
40140d:	cc                   	int3
40140e:	cc                   	int3
40140f:	cc                   	int3
401410:	e8 aa 02 00 00       	call   0x4016bf
401415:	6a 02                	push   $0x2
401417:	a3 28 20 40 00       	mov    %eax,0x402028
40141c:	e8 07 04 00 00       	call   0x401828
401421:	50                   	push   %eax
401422:	ff 15 80 30 40 00    	call   *0x403080
401428:	83 0d 5c 23 40 00 ff 	orl    $0xffffffff,0x40235c
40142f:	83 0d 60 23 40 00 ff 	orl    $0xffffffff,0x402360
401436:	59                   	pop    %ecx
401437:	59                   	pop    %ecx
401438:	ff 15 70 30 40 00    	call   *0x403070
40143e:	8b 0d 3c 20 40 00    	mov    0x40203c,%ecx
401444:	89 08                	mov    %ecx,(%eax)
401446:	ff 15 8c 30 40 00    	call   *0x40308c
40144c:	8b 0d 30 20 40 00    	mov    0x402030,%ecx
401452:	89 08                	mov    %ecx,(%eax)
401454:	e8 17 04 00 00       	call   0x401870
401459:	83 3d 00 20 40 00 00 	cmpl   $0x0,0x402000
401460:	75 0c                	jne    0x40146e
401462:	68 70 18 40 00       	push   $0x401870
401467:	ff 15 6c 30 40 00    	call   *0x40306c
40146d:	59                   	pop    %ecx
40146e:	e8 ea 05 00 00       	call   0x401a5d
401473:	33 c0                	xor    %eax,%eax
401475:	c3                   	ret
401476:	cc                   	int3
401477:	cc                   	int3
401478:	cc                   	int3
401479:	cc                   	int3
40147a:	cc                   	int3
40147b:	cc                   	int3
40147c:	cc                   	int3
40147d:	cc                   	int3
40147e:	cc                   	int3
40147f:	cc                   	int3
401480:	a1 38 20 40 00       	mov    0x402038,%eax
401485:	68 2c 20 40 00       	push   $0x40202c
40148a:	ff 35 34 20 40 00    	push   0x402034
401490:	a3 2c 20 40 00       	mov    %eax,0x40202c
401495:	68 20 20 40 00       	push   $0x402020
40149a:	68 1c 20 40 00       	push   $0x40201c
40149f:	68 18 20 40 00       	push   $0x402018
4014a4:	ff 15 84 30 40 00    	call   *0x403084
4014aa:	83 c4 14             	add    $0x14,%esp
4014ad:	a3 24 20 40 00       	mov    %eax,0x402024
4014b2:	c3                   	ret
4014b3:	6a 58                	push   $0x58
4014b5:	68 58 1c 40 00       	push   $0x401c58
4014ba:	e8 b9 05 00 00       	call   0x401a78
4014bf:	33 db                	xor    %ebx,%ebx
4014c1:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4014c4:	8d 45 98             	lea    -0x68(%ebp),%eax
4014c7:	50                   	push   %eax
4014c8:	ff 15 24 30 40 00    	call   *0x403024
4014ce:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4014d1:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
4014d7:	8b 70 04             	mov    0x4(%eax),%esi
4014da:	8b fb                	mov    %ebx,%edi
4014dc:	ba 64 23 40 00       	mov    $0x402364,%edx
4014e1:	8b ce                	mov    %esi,%ecx
4014e3:	33 c0                	xor    %eax,%eax
4014e5:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
4014e9:	85 c0                	test   %eax,%eax
4014eb:	74 18                	je     0x401505
4014ed:	3b c6                	cmp    %esi,%eax
4014ef:	75 07                	jne    0x4014f8
4014f1:	33 f6                	xor    %esi,%esi
4014f3:	46                   	inc    %esi
4014f4:	8b fe                	mov    %esi,%edi
4014f6:	eb 10                	jmp    0x401508
4014f8:	68 e8 03 00 00       	push   $0x3e8
4014fd:	ff 15 44 30 40 00    	call   *0x403044
401503:	eb d7                	jmp    0x4014dc
401505:	33 f6                	xor    %esi,%esi
401507:	46                   	inc    %esi
401508:	39 35 68 23 40 00    	cmp    %esi,0x402368
40150e:	75 0a                	jne    0x40151a
401510:	6a 1f                	push   $0x1f
401512:	e8 47 03 00 00       	call   0x40185e
401517:	59                   	pop    %ecx
401518:	eb 3a                	jmp    0x401554
40151a:	39 1d 68 23 40 00    	cmp    %ebx,0x402368
401520:	75 2c                	jne    0x40154e
401522:	89 35 68 23 40 00    	mov    %esi,0x402368
401528:	68 cc 10 40 00       	push   $0x4010cc
40152d:	68 c0 10 40 00       	push   $0x4010c0
401532:	e8 57 01 00 00       	call   0x40168e
401537:	59                   	pop    %ecx
401538:	59                   	pop    %ecx
401539:	85 c0                	test   %eax,%eax
40153b:	74 17                	je     0x401554
40153d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
401544:	b8 ff 00 00 00       	mov    $0xff,%eax
401549:	e9 30 01 00 00       	jmp    0x40167e
40154e:	89 35 14 20 40 00    	mov    %esi,0x402014
401554:	39 35 68 23 40 00    	cmp    %esi,0x402368
40155a:	75 1b                	jne    0x401577
40155c:	68 bc 10 40 00       	push   $0x4010bc
401561:	68 b4 10 40 00       	push   $0x4010b4
401566:	e8 05 05 00 00       	call   0x401a70
40156b:	59                   	pop    %ecx
40156c:	59                   	pop    %ecx
40156d:	c7 05 68 23 40 00 02 	movl   $0x2,0x402368
401574:	00 00 00
401577:	85 ff                	test   %edi,%edi
401579:	75 09                	jne    0x401584
40157b:	33 c0                	xor    %eax,%eax
40157d:	b9 64 23 40 00       	mov    $0x402364,%ecx
401582:	87 01                	xchg   %eax,(%ecx)
401584:	83 3d 6c 23 40 00 00 	cmpl   $0x0,0x40236c
40158b:	74 23                	je     0x4015b0
40158d:	68 6c 23 40 00       	push   $0x40236c
401592:	e8 39 03 00 00       	call   0x4018d0
401597:	59                   	pop    %ecx
401598:	85 c0                	test   %eax,%eax
40159a:	74 14                	je     0x4015b0
40159c:	53                   	push   %ebx
40159d:	6a 02                	push   $0x2
40159f:	53                   	push   %ebx
4015a0:	8b 35 6c 23 40 00    	mov    0x40236c,%esi
4015a6:	8b ce                	mov    %esi,%ecx
4015a8:	ff 15 98 30 40 00    	call   *0x403098
4015ae:	ff d6                	call   *%esi
4015b0:	a1 64 30 40 00       	mov    0x403064,%eax
4015b5:	8b 08                	mov    (%eax),%ecx
4015b7:	85 c9                	test   %ecx,%ecx
4015b9:	74 82                	je     0x40153d
4015bb:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4015be:	6a 20                	push   $0x20
4015c0:	5e                   	pop    %esi
4015c1:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4015c4:	0f b7 01             	movzwl (%ecx),%eax
4015c7:	66 3b c6             	cmp    %si,%ax
4015ca:	77 4f                	ja     0x40161b
4015cc:	66 85 c0             	test   %ax,%ax
4015cf:	74 19                	je     0x4015ea
4015d1:	85 d2                	test   %edx,%edx
4015d3:	75 46                	jne    0x40161b
4015d5:	66 85 c0             	test   %ax,%ax
4015d8:	74 10                	je     0x4015ea
4015da:	66 3b c6             	cmp    %si,%ax
4015dd:	77 0b                	ja     0x4015ea
4015df:	83 c1 02             	add    $0x2,%ecx
4015e2:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4015e5:	0f b7 01             	movzwl (%ecx),%eax
4015e8:	eb eb                	jmp    0x4015d5
4015ea:	f6 45 c4 01          	testb  $0x1,-0x3c(%ebp)
4015ee:	74 06                	je     0x4015f6
4015f0:	0f b7 45 c8          	movzwl -0x38(%ebp),%eax
4015f4:	eb 03                	jmp    0x4015f9
4015f6:	6a 0a                	push   $0xa
4015f8:	58                   	pop    %eax
4015f9:	50                   	push   %eax
4015fa:	51                   	push   %ecx
4015fb:	53                   	push   %ebx
4015fc:	68 00 00 40 00       	push   $0x400000
401601:	e8 ca fd ff ff       	call   0x4013d0
401606:	a3 10 20 40 00       	mov    %eax,0x402010
40160b:	83 3d 28 20 40 00 00 	cmpl   $0x0,0x402028
401612:	75 4f                	jne    0x401663
401614:	50                   	push   %eax
401615:	ff 15 7c 30 40 00    	call   *0x40307c
40161b:	83 f8 22             	cmp    $0x22,%eax
40161e:	75 0c                	jne    0x40162c
401620:	33 c0                	xor    %eax,%eax
401622:	85 d2                	test   %edx,%edx
401624:	0f 94 c0             	sete   %al
401627:	8b d0                	mov    %eax,%edx
401629:	89 55 e4             	mov    %edx,-0x1c(%ebp)
40162c:	83 c1 02             	add    $0x2,%ecx
40162f:	89 4d e0             	mov    %ecx,-0x20(%ebp)
401632:	eb 90                	jmp    0x4015c4
401634:	8b 4d ec             	mov    -0x14(%ebp),%ecx
401637:	8b 01                	mov    (%ecx),%eax
401639:	8b 00                	mov    (%eax),%eax
40163b:	89 45 dc             	mov    %eax,-0x24(%ebp)
40163e:	51                   	push   %ecx
40163f:	50                   	push   %eax
401640:	e8 69 01 00 00       	call   0x4017ae
401645:	59                   	pop    %ecx
401646:	59                   	pop    %ecx
401647:	c3                   	ret
401648:	8b 65 e8             	mov    -0x18(%ebp),%esp
40164b:	8b 45 dc             	mov    -0x24(%ebp),%eax
40164e:	a3 10 20 40 00       	mov    %eax,0x402010
401653:	83 3d 28 20 40 00 00 	cmpl   $0x0,0x402028
40165a:	75 07                	jne    0x401663
40165c:	50                   	push   %eax
40165d:	ff 15 78 30 40 00    	call   *0x403078
401663:	83 3d 14 20 40 00 00 	cmpl   $0x0,0x402014
40166a:	75 0b                	jne    0x401677
40166c:	ff 15 74 30 40 00    	call   *0x403074
401672:	a1 10 20 40 00       	mov    0x402010,%eax
401677:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40167e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401681:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401688:	59                   	pop    %ecx
401689:	5f                   	pop    %edi
40168a:	5e                   	pop    %esi
40168b:	5b                   	pop    %ebx
40168c:	c9                   	leave
40168d:	c3                   	ret
40168e:	8b ff                	mov    %edi,%edi
401690:	55                   	push   %ebp
401691:	8b ec                	mov    %esp,%ebp
401693:	56                   	push   %esi
401694:	8b 75 08             	mov    0x8(%ebp),%esi
401697:	33 c0                	xor    %eax,%eax
401699:	3b 75 0c             	cmp    0xc(%ebp),%esi
40169c:	73 1e                	jae    0x4016bc
40169e:	57                   	push   %edi
40169f:	85 c0                	test   %eax,%eax
4016a1:	75 18                	jne    0x4016bb
4016a3:	8b 3e                	mov    (%esi),%edi
4016a5:	85 ff                	test   %edi,%edi
4016a7:	74 0a                	je     0x4016b3
4016a9:	8b cf                	mov    %edi,%ecx
4016ab:	ff 15 98 30 40 00    	call   *0x403098
4016b1:	ff d7                	call   *%edi
4016b3:	83 c6 04             	add    $0x4,%esi
4016b6:	3b 75 0c             	cmp    0xc(%ebp),%esi
4016b9:	72 e4                	jb     0x40169f
4016bb:	5f                   	pop    %edi
4016bc:	5e                   	pop    %esi
4016bd:	5d                   	pop    %ebp
4016be:	c3                   	ret
4016bf:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
4016c4:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
4016cb:	75 55                	jne    0x401722
4016cd:	8b 0d 3c 00 40 00    	mov    0x40003c,%ecx
4016d3:	81 b9 00 00 40 00 50 	cmpl   $0x4550,0x400000(%ecx)
4016da:	45 00 00
4016dd:	75 43                	jne    0x401722
4016df:	0f b7 81 18 00 40 00 	movzwl 0x400018(%ecx),%eax
4016e6:	ba 0b 01 00 00       	mov    $0x10b,%edx
4016eb:	66 3b c2             	cmp    %dx,%ax
4016ee:	74 1f                	je     0x40170f
4016f0:	ba 0b 02 00 00       	mov    $0x20b,%edx
4016f5:	66 3b c2             	cmp    %dx,%ax
4016f8:	75 28                	jne    0x401722
4016fa:	83 b9 84 00 40 00 0e 	cmpl   $0xe,0x400084(%ecx)
401701:	76 1f                	jbe    0x401722
401703:	33 c0                	xor    %eax,%eax
401705:	39 81 f8 00 40 00    	cmp    %eax,0x4000f8(%ecx)
40170b:	0f 95 c0             	setne  %al
40170e:	c3                   	ret
40170f:	83 b9 74 00 40 00 0e 	cmpl   $0xe,0x400074(%ecx)
401716:	76 0a                	jbe    0x401722
401718:	33 c0                	xor    %eax,%eax
40171a:	39 81 e8 00 40 00    	cmp    %eax,0x4000e8(%ecx)
401720:	eb e9                	jmp    0x40170b
401722:	33 c0                	xor    %eax,%eax
401724:	c3                   	ret
401725:	cc                   	int3
401726:	cc                   	int3
401727:	cc                   	int3
401728:	cc                   	int3
401729:	cc                   	int3
40172a:	cc                   	int3
40172b:	cc                   	int3
40172c:	cc                   	int3
40172d:	cc                   	int3
40172e:	cc                   	int3
40172f:	cc                   	int3
401730:	e8 90 02 00 00       	call   0x4019c5
401735:	e9 79 fd ff ff       	jmp    0x4014b3
40173a:	cc                   	int3
40173b:	cc                   	int3
40173c:	cc                   	int3
40173d:	cc                   	int3
40173e:	cc                   	int3
40173f:	cc                   	int3
401740:	3b 0d 04 20 40 00    	cmp    0x402004,%ecx
401746:	75 03                	jne    0x40174b
401748:	c2 00 00             	ret    $0x0
40174b:	e9 ed 03 00 00       	jmp    0x401b3d
401750:	8b ff                	mov    %edi,%edi
401752:	55                   	push   %ebp
401753:	8b ec                	mov    %esp,%ebp
401755:	8b 45 08             	mov    0x8(%ebp),%eax
401758:	8b 00                	mov    (%eax),%eax
40175a:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
401760:	75 2b                	jne    0x40178d
401762:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
401766:	75 25                	jne    0x40178d
401768:	8b 40 14             	mov    0x14(%eax),%eax
40176b:	3d 20 05 93 19       	cmp    $0x19930520,%eax
401770:	74 15                	je     0x401787
401772:	3d 21 05 93 19       	cmp    $0x19930521,%eax
401777:	74 0e                	je     0x401787
401779:	3d 22 05 93 19       	cmp    $0x19930522,%eax
40177e:	74 07                	je     0x401787
401780:	3d 00 40 99 01       	cmp    $0x1994000,%eax
401785:	75 06                	jne    0x40178d
401787:	ff 15 60 30 40 00    	call   *0x403060
40178d:	33 c0                	xor    %eax,%eax
40178f:	5d                   	pop    %ebp
401790:	c2 04 00             	ret    $0x4
401793:	cc                   	int3
401794:	cc                   	int3
401795:	cc                   	int3
401796:	cc                   	int3
401797:	cc                   	int3
401798:	cc                   	int3
401799:	cc                   	int3
40179a:	cc                   	int3
40179b:	cc                   	int3
40179c:	cc                   	int3
40179d:	cc                   	int3
40179e:	cc                   	int3
40179f:	cc                   	int3
4017a0:	68 50 17 40 00       	push   $0x401750