4013f6:	57                   	push   %edi
4013f7:	8b 7d 10             	mov    0x10(%ebp),%edi
4013fa:	33 f6                	xor    %esi,%esi
4013fc:	56                   	push   %esi
4013fd:	56                   	push   %esi
4013fe:	6a 01                	push   $0x1
401400:	56                   	push   %esi
401401:	ff 15 24 30 40 00    	call   *0x403024
401407:	68 80 00 00 00       	push   $0x80
40140c:	ff 15 44 30 40 00    	call   *0x403044
401412:	50                   	push   %eax
401413:	ff 15 48 30 40 00    	call   *0x403048
401419:	6a 06                	push   $0x6
40141b:	56                   	push   %esi
40141c:	ff 15 08 30 40 00    	call   *0x403008
401422:	85 c0                	test   %eax,%eax
401424:	0f 88 86 00 00 00    	js     0x4014b0
40142a:	68 04 01 00 00       	push   $0x104
40142f:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
401435:	50                   	push   %eax
401436:	68 00 11 40 00       	push   $0x401100
40143b:	ff 15 34 30 40 00    	call   *0x403034
401441:	85 c0                	test   %eax,%eax
401443:	74 5d                	je     0x4014a2
401445:	6a 38                	push   $0x38
401447:	8d 85 bc fd ff ff    	lea    -0x244(%ebp),%eax
40144d:	c7 85 b8 fd ff ff 3c 	movl   $0x3c,-0x248(%ebp)
401454:	00 00 00
401457:	56                   	push   %esi
401458:	50                   	push   %eax
401459:	e8 b3 08 00 00       	call   0x401d11
40145e:	83 c4 0c             	add    $0xc,%esp
401461:	c7 85 bc fd ff ff 00 	movl   $0x1500,-0x244(%ebp)
401468:	15 00 00
40146b:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
401471:	c7 85 c4 fd ff ff 3c 	movl   $0x40113c,-0x23c(%ebp)
401478:	11 40 00
40147b:	89 85 c8 fd ff ff    	mov    %eax,-0x238(%ebp)
401481:	8d 85 b8 fd ff ff    	lea    -0x248(%ebp),%eax
401487:	89 bd cc fd ff ff    	mov    %edi,-0x234(%ebp)
40148d:	50                   	push   %eax
40148e:	c7 85 d4 fd ff ff 01 	movl   $0x1,-0x22c(%ebp)
401495:	00 00 00
401498:	ff 15 00 30 40 00    	call   *0x403000
40149e:	85 c0                	test   %eax,%eax
4014a0:	75 08                	jne    0x4014aa
4014a2:	ff 15 14 30 40 00    	call   *0x403014
4014a8:	8b f0                	mov    %eax,%esi
4014aa:	ff 15 0c 30 40 00    	call   *0x40300c
4014b0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4014b3:	8b c6                	mov    %esi,%eax
4014b5:	5f                   	pop    %edi
4014b6:	33 cd                	xor    %ebp,%ecx
4014b8:	5e                   	pop    %esi
4014b9:	e8 42 03 00 00       	call   0x401800
4014be:	c9                   	leave
4014bf:	c2 10 00             	ret    $0x10
4014c2:	cc                   	int3
4014c3:	cc                   	int3
4014c4:	cc                   	int3
4014c5:	cc                   	int3
4014c6:	cc                   	int3
4014c7:	cc                   	int3
4014c8:	cc                   	int3
4014c9:	cc                   	int3
4014ca:	cc                   	int3
4014cb:	cc                   	int3
4014cc:	cc                   	int3
4014cd:	cc                   	int3
4014ce:	cc                   	int3
4014cf:	cc                   	int3
4014d0:	e8 aa 02 00 00       	call   0x40177f
4014d5:	6a 02                	push   $0x2
4014d7:	a3 28 20 40 00       	mov    %eax,0x402028
4014dc:	e8 07 04 00 00       	call   0x4018e8
4014e1:	50                   	push   %eax
4014e2:	ff 15 7c 30 40 00    	call   *0x40307c
4014e8:	83 0d 60 23 40 00 ff 	orl    $0xffffffff,0x402360
4014ef:	83 0d 64 23 40 00 ff 	orl    $0xffffffff,0x402364
4014f6:	59                   	pop    %ecx
4014f7:	59                   	pop    %ecx
4014f8:	ff 15 ac 30 40 00    	call   *0x4030ac
4014fe:	8b 0d 3c 20 40 00    	mov    0x40203c,%ecx
401504:	89 08                	mov    %ecx,(%eax)
401506:	ff 15 94 30 40 00    	call   *0x403094
40150c:	8b 0d 30 20 40 00    	mov    0x402030,%ecx
401512:	89 08                	mov    %ecx,(%eax)
401514:	e8 17 04 00 00       	call   0x401930
401519:	83 3d 00 20 40 00 00 	cmpl   $0x0,0x402000
401520:	75 0c                	jne    0x40152e
401522:	68 30 19 40 00       	push   $0x401930
401527:	ff 15 a4 30 40 00    	call   *0x4030a4
40152d:	59                   	pop    %ecx
40152e:	e8 ea 05 00 00       	call   0x401b1d
401533:	33 c0                	xor    %eax,%eax
401535:	c3                   	ret
401536:	cc                   	int3
401537:	cc                   	int3
401538:	cc                   	int3
401539:	cc                   	int3
40153a:	cc                   	int3
40153b:	cc                   	int3
40153c:	cc                   	int3
40153d:	cc                   	int3
40153e:	cc                   	int3
40153f:	cc                   	int3
401540:	a1 38 20 40 00       	mov    0x402038,%eax
401545:	68 2c 20 40 00       	push   $0x40202c
40154a:	ff 35 34 20 40 00    	push   0x402034
401550:	a3 2c 20 40 00       	mov    %eax,0x40202c
401555:	68 20 20 40 00       	push   $0x402020
40155a:	68 1c 20 40 00       	push   $0x40201c
40155f:	68 18 20 40 00       	push   $0x402018
401564:	ff 15 74 30 40 00    	call   *0x403074
40156a:	83 c4 14             	add    $0x14,%esp
40156d:	a3 24 20 40 00       	mov    %eax,0x402024
401572:	c3                   	ret
401573:	6a 58                	push   $0x58
401575:	68 18 1d 40 00       	push   $0x401d18
40157a:	e8 b9 05 00 00       	call   0x401b38
40157f:	33 db                	xor    %ebx,%ebx
401581:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
401584:	8d 45 98             	lea    -0x68(%ebp),%eax
401587:	50                   	push   %eax
401588:	ff 15 40 30 40 00    	call   *0x403040
40158e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
401591:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
401597:	8b 70 04             	mov    0x4(%eax),%esi
40159a:	8b fb                	mov    %ebx,%edi
40159c:	ba 68 23 40 00       	mov    $0x402368,%edx
4015a1:	8b ce                	mov    %esi,%ecx
4015a3:	33 c0                	xor    %eax,%eax
4015a5:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
4015a9:	85 c0                	test   %eax,%eax
4015ab:	74 18                	je     0x4015c5
4015ad:	3b c6                	cmp    %esi,%eax
4015af:	75 07                	jne    0x4015b8
4015b1:	33 f6                	xor    %esi,%esi
4015b3:	46                   	inc    %esi
4015b4:	8b fe                	mov    %esi,%edi
4015b6:	eb 10                	jmp    0x4015c8
4015b8:	68 e8 03 00 00       	push   $0x3e8
4015bd:	ff 15 60 30 40 00    	call   *0x403060
4015c3:	eb d7                	jmp    0x40159c
4015c5:	33 f6                	xor    %esi,%esi
4015c7:	46                   	inc    %esi
4015c8:	39 35 6c 23 40 00    	cmp    %esi,0x40236c
4015ce:	75 0a                	jne    0x4015da
4015d0:	6a 1f                	push   $0x1f
4015d2:	e8 47 03 00 00       	call   0x40191e
4015d7:	59                   	pop    %ecx
4015d8:	eb 3a                	jmp    0x401614
4015da:	39 1d 6c 23 40 00    	cmp    %ebx,0x40236c
4015e0:	75 2c                	jne    0x40160e
4015e2:	89 35 6c 23 40 00    	mov    %esi,0x40236c
4015e8:	68 cc 10 40 00       	push   $0x4010cc
4015ed:	68 c0 10 40 00       	push   $0x4010c0
4015f2:	e8 57 01 00 00       	call   0x40174e
4015f7:	59                   	pop    %ecx
4015f8:	59                   	pop    %ecx
4015f9:	85 c0                	test   %eax,%eax
4015fb:	74 17                	je     0x401614
4015fd:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
401604:	b8 ff 00 00 00       	mov    $0xff,%eax
401609:	e9 30 01 00 00       	jmp    0x40173e
40160e:	89 35 14 20 40 00    	mov    %esi,0x402014
401614:	39 35 6c 23 40 00    	cmp    %esi,0x40236c
40161a:	75 1b                	jne    0x401637
40161c:	68 bc 10 40 00       	push   $0x4010bc
401621:	68 b4 10 40 00       	push   $0x4010b4
401626:	e8 05 05 00 00       	call   0x401b30
40162b:	59                   	pop    %ecx
40162c:	59                   	pop    %ecx
40162d:	c7 05 6c 23 40 00 02 	movl   $0x2,0x40236c
401634:	00 00 00
401637:	85 ff                	test   %edi,%edi
401639:	75 09                	jne    0x401644
40163b:	33 c0                	xor    %eax,%eax
40163d:	b9 68 23 40 00       	mov    $0x402368,%ecx
401642:	87 01                	xchg   %eax,(%ecx)
401644:	83 3d 70 23 40 00 00 	cmpl   $0x0,0x402370
40164b:	74 23                	je     0x401670
40164d:	68 70 23 40 00       	push   $0x402370
401652:	e8 39 03 00 00       	call   0x401990
401657:	59                   	pop    %ecx
401658:	85 c0                	test   %eax,%eax
40165a:	74 14                	je     0x401670
40165c:	53                   	push   %ebx
40165d:	6a 02                	push   $0x2
40165f:	53                   	push   %ebx
401660:	8b 35 70 23 40 00    	mov    0x402370,%esi
401666:	8b ce                	mov    %esi,%ecx
401668:	ff 15 b8 30 40 00    	call   *0x4030b8
40166e:	ff d6                	call   *%esi
401670:	a1 98 30 40 00       	mov    0x403098,%eax
401675:	8b 08                	mov    (%eax),%ecx
401677:	85 c9                	test   %ecx,%ecx
401679:	74 82                	je     0x4015fd
40167b:	89 4d e0             	mov    %ecx,-0x20(%ebp)
40167e:	6a 20                	push   $0x20
401680:	5e                   	pop    %esi
401681:	8b 55 e4             	mov    -0x1c(%ebp),%edx
401684:	0f b7 01             	movzwl (%ecx),%eax
401687:	66 3b c6             	cmp    %si,%ax
40168a:	77 4f                	ja     0x4016db
40168c:	66 85 c0             	test   %ax,%ax
40168f:	74 19                	je     0x4016aa
401691:	85 d2                	test   %edx,%edx
401693:	75 46                	jne    0x4016db
401695:	66 85 c0             	test   %ax,%ax
401698:	74 10                	je     0x4016aa
40169a:	66 3b c6             	cmp    %si,%ax
40169d:	77 0b                	ja     0x4016aa
40169f:	83 c1 02             	add    $0x2,%ecx
4016a2:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4016a5:	0f b7 01             	movzwl (%ecx),%eax
4016a8:	eb eb                	jmp    0x401695
4016aa:	f6 45 c4 01          	testb  $0x1,-0x3c(%ebp)
4016ae:	74 06                	je     0x4016b6
4016b0:	0f b7 45 c8          	movzwl -0x38(%ebp),%eax
4016b4:	eb 03                	jmp    0x4016b9
4016b6:	6a 0a                	push   $0xa
4016b8:	58                   	pop    %eax
4016b9:	50                   	push   %eax
4016ba:	51                   	push   %ecx
4016bb:	53                   	push   %ebx
4016bc:	68 00 00 40 00       	push   $0x400000
4016c1:	e8 1a fd ff ff       	call   0x4013e0
4016c6:	a3 10 20 40 00       	mov    %eax,0x402010
4016cb:	83 3d 28 20 40 00 00 	cmpl   $0x0,0x402028
4016d2:	75 4f                	jne    0x401723
4016d4:	50                   	push   %eax
4016d5:	ff 15 90 30 40 00    	call   *0x403090
4016db:	83 f8 22             	cmp    $0x22,%eax
4016de:	75 0c                	jne    0x4016ec
4016e0:	33 c0                	xor    %eax,%eax
4016e2:	85 d2                	test   %edx,%edx
4016e4:	0f 94 c0             	sete   %al
4016e7:	8b d0                	mov    %eax,%edx
4016e9:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4016ec:	83 c1 02             	add    $0x2,%ecx
4016ef:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4016f2:	eb 90                	jmp    0x401684
4016f4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4016f7:	8b 01                	mov    (%ecx),%eax
4016f9:	8b 00                	mov    (%eax),%eax
4016fb:	89 45 dc             	mov    %eax,-0x24(%ebp)
4016fe:	51                   	push   %ecx
4016ff:	50                   	push   %eax
401700:	e8 69 01 00 00       	call   0x40186e
401705:	59                   	pop    %ecx
401706:	59                   	pop    %ecx
401707:	c3                   	ret
401708:	8b 65 e8             	mov    -0x18(%ebp),%esp
40170b:	8b 45 dc             	mov    -0x24(%ebp),%eax
40170e:	a3 10 20 40 00       	mov    %eax,0x402010
401713:	83 3d 28 20 40 00 00 	cmpl   $0x0,0x402028
40171a:	75 07                	jne    0x401723
40171c:	50                   	push   %eax
40171d:	ff 15 a0 30 40 00    	call   *0x4030a0
401723:	83 3d 14 20 40 00 00 	cmpl   $0x0,0x402014
40172a:	75 0b                	jne    0x401737
40172c:	ff 15 a8 30 40 00    	call   *0x4030a8
401732:	a1 10 20 40 00       	mov    0x402010,%eax
401737:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40173e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401741:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401748:	59                   	pop    %ecx
401749:	5f                   	pop    %edi
40174a:	5e                   	pop    %esi
40174b:	5b                   	pop    %ebx
40174c:	c9                   	leave
40174d:	c3                   	ret
40174e:	8b ff                	mov    %edi,%edi
401750:	55                   	push   %ebp
401751:	8b ec                	mov    %esp,%ebp
401753:	56                   	push   %esi
401754:	8b 75 08             	mov    0x8(%ebp),%esi
401757:	33 c0                	xor    %eax,%eax
401759:	3b 75 0c             	cmp    0xc(%ebp),%esi
40175c:	73 1e                	jae    0x40177c
40175e:	57                   	push   %edi
40175f:	85 c0                	test   %eax,%eax
401761:	75 18                	jne    0x40177b
401763:	8b 3e                	mov    (%esi),%edi
401765:	85 ff                	test   %edi,%edi
401767:	74 0a                	je     0x401773
401769:	8b cf                	mov    %edi,%ecx
40176b:	ff 15 b8 30 40 00    	call   *0x4030b8
401771:	ff d7                	call   *%edi
401773:	83 c6 04             	add    $0x4,%esi
401776:	3b 75 0c             	cmp    0xc(%ebp),%esi
401779:	72 e4                	jb     0x40175f
40177b:	5f                   	pop    %edi
40177c:	5e                   	pop    %esi
40177d:	5d                   	pop    %ebp
40177e:	c3                   	ret
40177f:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
401784:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
40178b:	75 55                	jne    0x4017e2
40178d:	8b 0d 3c 00 40 00    	mov    0x40003c,%ecx
401793:	81 b9 00 00 40 00 50 	cmpl   $0x4550,0x400000(%ecx)
40179a:	45 00 00
40179d:	75 43                	jne    0x4017e2
40179f:	0f b7 81 18 00 40 00 	movzwl 0x400018(%ecx),%eax
4017a6:	ba 0b 01 00 00       	mov    $0x10b,%edx
4017ab:	66 3b c2             	cmp    %dx,%ax
4017ae:	74 1f                	je     0x4017cf
4017b0:	ba 0b 02 00 00       	mov    $0x20b,%edx
4017b5:	66 3b c2             	cmp    %dx,%ax
4017b8:	75 28                	jne    0x4017e2
4017ba:	83 b9 84 00 40 00 0e 	cmpl   $0xe,0x400084(%ecx)
4017c1:	76 1f                	jbe    0x4017e2
4017c3:	33 c0                	xor    %eax,%eax
4017c5:	39 81 f8 00 40 00    	cmp    %eax,0x4000f8(%ecx)
4017cb:	0f 95 c0             	setne  %al
4017ce:	c3                   	ret
4017cf:	83 b9 74 00 40 00 0e 	cmpl   $0xe,0x400074(%ecx)
4017d6:	76 0a                	jbe    0x4017e2
4017d8:	33 c0                	xor    %eax,%eax
4017da:	39 81 e8 00 40 00    	cmp    %eax,0x4000e8(%ecx)
4017e0:	eb e9                	jmp    0x4017cb
4017e2:	33 c0                	xor    %eax,%eax
4017e4:	c3                   	ret
4017e5:	cc                   	int3
4017e6:	cc                   	int3
4017e7:	cc                   	int3
4017e8:	cc                   	int3
4017e9:	cc                   	int3
4017ea:	cc                   	int3
4017eb:	cc                   	int3
4017ec:	cc                   	int3
4017ed:	cc                   	int3
4017ee:	cc                   	int3
4017ef:	cc                   	int3
4017f0:	e8 90 02 00 00       	call   0x401a85
4017f5:	e9 79 fd ff ff       	jmp    0x401573
4017fa:	cc                   	int3
4017fb:	cc                   	int3
4017fc:	cc                   	int3
4017fd:	cc                   	int3
4017fe:	cc                   	int3
4017ff:	cc                   	int3
401800:	3b 0d 04 20 40 00    	cmp    0x402004,%ecx
401806:	75 03                	jne    0x40180b
401808:	c2 00 00             	ret    $0x0
40180b:	e9 ed 03 00 00       	jmp    0x401bfd
401810:	8b ff                	mov    %edi,%edi
401812:	55                   	push   %ebp
401813:	8b ec                	mov    %esp,%ebp