401569:	56                   	push   %esi
40156a:	57                   	push   %edi
40156b:	50                   	push   %eax
40156c:	68 1f 00 02 00       	push   $0x2001f
401571:	33 f6                	xor    %esi,%esi
401573:	8b f9                	mov    %ecx,%edi
401575:	56                   	push   %esi
401576:	bb 08 11 40 00       	mov    $0x401108,%ebx
40157b:	53                   	push   %ebx
40157c:	68 01 00 00 80       	push   $0x80000001
401581:	89 37                	mov    %esi,(%edi)
401583:	ff 15 08 40 40 00    	call   *0x404008
401589:	85 c0                	test   %eax,%eax
40158b:	75 4f                	jne    0x4015dc
40158d:	8d 45 f8             	lea    -0x8(%ebp),%eax
401590:	c7 45 f8 04 00 00 00 	movl   $0x4,-0x8(%ebp)
401597:	50                   	push   %eax
401598:	8d 45 f0             	lea    -0x10(%ebp),%eax
40159b:	50                   	push   %eax
40159c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40159f:	50                   	push   %eax
4015a0:	56                   	push   %esi
4015a1:	68 84 11 40 00       	push   $0x401184
4015a6:	ff 75 fc             	push   -0x4(%ebp)
4015a9:	ff 15 00 40 40 00    	call   *0x404000
4015af:	85 c0                	test   %eax,%eax
4015b1:	75 10                	jne    0x4015c3
4015b3:	83 7d f4 04          	cmpl   $0x4,-0xc(%ebp)
4015b7:	75 0a                	jne    0x4015c3
4015b9:	8b 45 f0             	mov    -0x10(%ebp),%eax
4015bc:	83 f8 0d             	cmp    $0xd,%eax
4015bf:	7d 02                	jge    0x4015c3
4015c1:	89 07                	mov    %eax,(%edi)
4015c3:	ff 75 fc             	push   -0x4(%ebp)
4015c6:	ff 15 18 40 40 00    	call   *0x404018
4015cc:	56                   	push   %esi
4015cd:	56                   	push   %esi
4015ce:	53                   	push   %ebx
4015cf:	68 01 00 00 80       	push   $0x80000001
4015d4:	ff 15 14 40 40 00    	call   *0x404014
4015da:	eb 1e                	jmp    0x4015fa
4015dc:	ff 15 38 40 40 00    	call   *0x404038
4015e2:	8b f0                	mov    %eax,%esi
4015e4:	85 f6                	test   %esi,%esi
4015e6:	7e 0b                	jle    0x4015f3
4015e8:	0f b7 f6             	movzwl %si,%esi
4015eb:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4015f1:	85 f6                	test   %esi,%esi
4015f3:	78 05                	js     0x4015fa
4015f5:	be 05 40 00 80       	mov    $0x80004005,%esi
4015fa:	5f                   	pop    %edi
4015fb:	8b c6                	mov    %esi,%eax
4015fd:	5e                   	pop    %esi
4015fe:	5b                   	pop    %ebx
4015ff:	c9                   	leave
401600:	c3                   	ret
401601:	8b ff                	mov    %edi,%edi
401603:	56                   	push   %esi
401604:	8b f1                	mov    %ecx,%esi
401606:	85 f6                	test   %esi,%esi
401608:	0f 84 9c 00 00 00    	je     0x4016aa
40160e:	57                   	push   %edi
40160f:	6a 02                	push   $0x2
401611:	5f                   	pop    %edi
401612:	0f b7 06             	movzwl (%esi),%eax
401615:	33 c9                	xor    %ecx,%ecx
401617:	66 3b c8             	cmp    %ax,%cx
40161a:	74 10                	je     0x40162c
40161c:	50                   	push   %eax
40161d:	ff 15 b0 40 40 00    	call   *0x4040b0
401623:	59                   	pop    %ecx
401624:	85 c0                	test   %eax,%eax
401626:	74 04                	je     0x40162c
401628:	03 f7                	add    %edi,%esi
40162a:	75 e6                	jne    0x401612
40162c:	85 f6                	test   %esi,%esi
40162e:	74 79                	je     0x4016a9
401630:	0f b7 06             	movzwl (%esi),%eax
401633:	53                   	push   %ebx
401634:	6a 22                	push   $0x22
401636:	5b                   	pop    %ebx
401637:	66 3b d8             	cmp    %ax,%bx
40163a:	75 2f                	jne    0x40166b
40163c:	03 f7                	add    %edi,%esi
40163e:	0f b7 06             	movzwl (%esi),%eax
401641:	8b c8                	mov    %eax,%ecx
401643:	66 3b d8             	cmp    %ax,%bx
401646:	74 1a                	je     0x401662
401648:	8b d0                	mov    %eax,%edx
40164a:	33 c0                	xor    %eax,%eax
40164c:	0f b7 ca             	movzwl %dx,%ecx
40164f:	66 3b c2             	cmp    %dx,%ax
401652:	74 0e                	je     0x401662
401654:	03 f7                	add    %edi,%esi
401656:	0f b7 06             	movzwl (%esi),%eax
401659:	8b d0                	mov    %eax,%edx
40165b:	8b c8                	mov    %eax,%ecx
40165d:	66 3b d8             	cmp    %ax,%bx
401660:	75 e8                	jne    0x40164a
401662:	66 3b d9             	cmp    %cx,%bx
401665:	75 23                	jne    0x40168a
401667:	03 f7                	add    %edi,%esi
401669:	eb 1f                	jmp    0x40168a
40166b:	33 c9                	xor    %ecx,%ecx
40166d:	66 3b c8             	cmp    %ax,%cx
401670:	74 18                	je     0x40168a
401672:	03 f7                	add    %edi,%esi
401674:	0f b7 06             	movzwl (%esi),%eax
401677:	50                   	push   %eax
401678:	ff 15 b0 40 40 00    	call   *0x4040b0
40167e:	59                   	pop    %ecx
40167f:	85 c0                	test   %eax,%eax
401681:	75 07                	jne    0x40168a
401683:	03 f7                	add    %edi,%esi
401685:	66 3b 06             	cmp    (%esi),%ax
401688:	75 e8                	jne    0x401672
40168a:	5b                   	pop    %ebx
40168b:	85 f6                	test   %esi,%esi
40168d:	74 1a                	je     0x4016a9
40168f:	0f b7 06             	movzwl (%esi),%eax
401692:	33 c9                	xor    %ecx,%ecx
401694:	66 3b c8             	cmp    %ax,%cx
401697:	74 10                	je     0x4016a9
401699:	50                   	push   %eax
40169a:	ff 15 b0 40 40 00    	call   *0x4040b0
4016a0:	59                   	pop    %ecx
4016a1:	85 c0                	test   %eax,%eax
4016a3:	74 04                	je     0x4016a9
4016a5:	03 f7                	add    %edi,%esi
4016a7:	75 e6                	jne    0x40168f
4016a9:	5f                   	pop    %edi
4016aa:	8b c6                	mov    %esi,%eax
4016ac:	5e                   	pop    %esi
4016ad:	c3                   	ret
4016ae:	8b ff                	mov    %edi,%edi
4016b0:	55                   	push   %ebp
4016b1:	8b ec                	mov    %esp,%ebp
4016b3:	83 ec 2c             	sub    $0x2c,%esp
4016b6:	53                   	push   %ebx
4016b7:	56                   	push   %esi
4016b8:	57                   	push   %edi
4016b9:	33 ff                	xor    %edi,%edi
4016bb:	57                   	push   %edi
4016bc:	57                   	push   %edi
4016bd:	6a 01                	push   $0x1
4016bf:	57                   	push   %edi
4016c0:	ff 15 28 40 40 00    	call   *0x404028
4016c6:	a1 78 40 40 00       	mov    0x404078,%eax
4016cb:	68 00 7f 00 00       	push   $0x7f00
4016d0:	57                   	push   %edi
4016d1:	89 7d d4             	mov    %edi,-0x2c(%ebp)
4016d4:	89 7d dc             	mov    %edi,-0x24(%ebp)
4016d7:	89 7d e0             	mov    %edi,-0x20(%ebp)
4016da:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4016dd:	89 7d e8             	mov    %edi,-0x18(%ebp)
4016e0:	89 7d f4             	mov    %edi,-0xc(%ebp)
4016e3:	89 45 d8             	mov    %eax,-0x28(%ebp)
4016e6:	ff 15 80 40 40 00    	call   *0x404080
4016ec:	57                   	push   %edi
4016ed:	89 45 ec             	mov    %eax,-0x14(%ebp)
4016f0:	ff 15 20 40 40 00    	call   *0x404020
4016f6:	89 45 f0             	mov    %eax,-0x10(%ebp)
4016f9:	be 94 11 40 00       	mov    $0x401194,%esi
4016fe:	8d 45 d4             	lea    -0x2c(%ebp),%eax
401701:	89 75 f8             	mov    %esi,-0x8(%ebp)
401704:	50                   	push   %eax
401705:	ff 15 84 40 40 00    	call   *0x404084
40170b:	57                   	push   %edi
40170c:	57                   	push   %edi
40170d:	57                   	push   %edi
40170e:	57                   	push   %edi
40170f:	57                   	push   %edi
401710:	57                   	push   %edi
401711:	b8 00 00 00 80       	mov    $0x80000000,%eax
401716:	50                   	push   %eax
401717:	50                   	push   %eax
401718:	57                   	push   %edi
401719:	68 00 11 40 00       	push   $0x401100
40171e:	56                   	push   %esi
40171f:	57                   	push   %edi
401720:	ff 15 7c 40 40 00    	call   *0x40407c
401726:	6a 0a                	push   $0xa
401728:	59                   	pop    %ecx
401729:	8b f8                	mov    %eax,%edi
40172b:	e8 50 fd ff ff       	call   0x401480
401730:	68 b4 11 40 00       	push   $0x4011b4
401735:	ff 15 40 40 40 00    	call   *0x404040
40173b:	8b d8                	mov    %eax,%ebx
40173d:	85 db                	test   %ebx,%ebx
40173f:	75 0a                	jne    0x40174b
401741:	ff 15 38 40 40 00    	call   *0x404038
401747:	8b f0                	mov    %eax,%esi
401749:	eb 42                	jmp    0x40178d
40174b:	68 cc 11 40 00       	push   $0x4011cc
401750:	53                   	push   %ebx
401751:	ff 15 2c 40 40 00    	call   *0x40402c
401757:	8b f0                	mov    %eax,%esi
401759:	85 f6                	test   %esi,%esi
40175b:	75 08                	jne    0x401765
40175d:	ff 15 38 40 40 00    	call   *0x404038
401763:	eb 1f                	jmp    0x401784
401765:	ff 75 14             	push   0x14(%ebp)
401768:	ff 15 3c 40 40 00    	call   *0x40403c
40176e:	8b c8                	mov    %eax,%ecx
401770:	e8 8c fe ff ff       	call   0x401601
401775:	50                   	push   %eax
401776:	ff 75 08             	push   0x8(%ebp)
401779:	8b ce                	mov    %esi,%ecx
40177b:	57                   	push   %edi
40177c:	ff 15 d0 40 40 00    	call   *0x4040d0
401782:	ff d6                	call   *%esi
401784:	53                   	push   %ebx
401785:	8b f0                	mov    %eax,%esi
401787:	ff 15 30 40 40 00    	call   *0x404030
40178d:	8d 4d fc             	lea    -0x4(%ebp),%ecx
401790:	e8 c8 fd ff ff       	call   0x40155d
401795:	85 ff                	test   %edi,%edi
401797:	74 07                	je     0x4017a0
401799:	57                   	push   %edi
40179a:	ff 15 74 40 40 00    	call   *0x404074
4017a0:	5f                   	pop    %edi
4017a1:	8b c6                	mov    %esi,%eax
4017a3:	5e                   	pop    %esi
4017a4:	5b                   	pop    %ebx
4017a5:	c9                   	leave
4017a6:	c2 10 00             	ret    $0x10
4017a9:	cc                   	int3
4017aa:	cc                   	int3
4017ab:	cc                   	int3
4017ac:	cc                   	int3
4017ad:	cc                   	int3
4017ae:	cc                   	int3
4017af:	cc                   	int3
4017b0:	e8 aa 02 00 00       	call   0x401a5f
4017b5:	6a 02                	push   $0x2
4017b7:	a3 28 30 40 00       	mov    %eax,0x403028
4017bc:	e8 07 04 00 00       	call   0x401bc8
4017c1:	50                   	push   %eax
4017c2:	ff 15 c8 40 40 00    	call   *0x4040c8
4017c8:	83 0d 5c 33 40 00 ff 	orl    $0xffffffff,0x40335c
4017cf:	83 0d 60 33 40 00 ff 	orl    $0xffffffff,0x403360
4017d6:	59                   	pop    %ecx
4017d7:	59                   	pop    %ecx
4017d8:	ff 15 a0 40 40 00    	call   *0x4040a0
4017de:	8b 0d 3c 30 40 00    	mov    0x40303c,%ecx
4017e4:	89 08                	mov    %ecx,(%eax)
4017e6:	ff 15 a8 40 40 00    	call   *0x4040a8
4017ec:	8b 0d 30 30 40 00    	mov    0x403030,%ecx
4017f2:	89 08                	mov    %ecx,(%eax)
4017f4:	e8 17 04 00 00       	call   0x401c10
4017f9:	83 3d 00 30 40 00 00 	cmpl   $0x0,0x403000
401800:	75 0c                	jne    0x40180e
401802:	68 10 1c 40 00       	push   $0x401c10
401807:	ff 15 9c 40 40 00    	call   *0x40409c
40180d:	59                   	pop    %ecx
40180e:	e8 ea 05 00 00       	call   0x401dfd
401813:	33 c0                	xor    %eax,%eax
401815:	c3                   	ret
401816:	cc                   	int3
401817:	cc                   	int3
401818:	cc                   	int3
401819:	cc                   	int3
40181a:	cc                   	int3
40181b:	cc                   	int3
40181c:	cc                   	int3
40181d:	cc                   	int3
40181e:	cc                   	int3
40181f:	cc                   	int3
401820:	a1 38 30 40 00       	mov    0x403038,%eax
401825:	68 2c 30 40 00       	push   $0x40302c
40182a:	ff 35 34 30 40 00    	push   0x403034
401830:	a3 2c 30 40 00       	mov    %eax,0x40302c
401835:	68 20 30 40 00       	push   $0x403020
40183a:	68 1c 30 40 00       	push   $0x40301c
40183f:	68 18 30 40 00       	push   $0x403018
401844:	ff 15 c4 40 40 00    	call   *0x4040c4
40184a:	83 c4 14             	add    $0x14,%esp
40184d:	a3 24 30 40 00       	mov    %eax,0x403024
401852:	c3                   	ret
401853:	6a 58                	push   $0x58
401855:	68 f8 1f 40 00       	push   $0x401ff8
40185a:	e8 b9 05 00 00       	call   0x401e18
40185f:	33 db                	xor    %ebx,%ebx
401861:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
401864:	8d 45 98             	lea    -0x68(%ebp),%eax
401867:	50                   	push   %eax
401868:	ff 15 64 40 40 00    	call   *0x404064
40186e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
401871:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
401877:	8b 70 04             	mov    0x4(%eax),%esi
40187a:	8b fb                	mov    %ebx,%edi
40187c:	ba 64 33 40 00       	mov    $0x403364,%edx
401881:	8b ce                	mov    %esi,%ecx
401883:	33 c0                	xor    %eax,%eax
401885:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
401889:	85 c0                	test   %eax,%eax
40188b:	74 18                	je     0x4018a5
40188d:	3b c6                	cmp    %esi,%eax
40188f:	75 07                	jne    0x401898
401891:	33 f6                	xor    %esi,%esi
401893:	46                   	inc    %esi
401894:	8b fe                	mov    %esi,%edi
401896:	eb 10                	jmp    0x4018a8
401898:	68 e8 03 00 00       	push   $0x3e8
40189d:	ff 15 68 40 40 00    	call   *0x404068
4018a3:	eb d7                	jmp    0x40187c
4018a5:	33 f6                	xor    %esi,%esi
4018a7:	46                   	inc    %esi
4018a8:	39 35 68 33 40 00    	cmp    %esi,0x403368
4018ae:	75 0a                	jne    0x4018ba
4018b0:	6a 1f                	push   $0x1f
4018b2:	e8 47 03 00 00       	call   0x401bfe
4018b7:	59                   	pop    %ecx
4018b8:	eb 3a                	jmp    0x4018f4
4018ba:	39 1d 68 33 40 00    	cmp    %ebx,0x403368
4018c0:	75 2c                	jne    0x4018ee
4018c2:	89 35 68 33 40 00    	mov    %esi,0x403368
4018c8:	68 cc 10 40 00       	push   $0x4010cc
4018cd:	68 c0 10 40 00       	push   $0x4010c0
4018d2:	e8 57 01 00 00       	call   0x401a2e
4018d7:	59                   	pop    %ecx
4018d8:	59                   	pop    %ecx
4018d9:	85 c0                	test   %eax,%eax
4018db:	74 17                	je     0x4018f4
4018dd:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4018e4:	b8 ff 00 00 00       	mov    $0xff,%eax
4018e9:	e9 30 01 00 00       	jmp    0x401a1e
4018ee:	89 35 14 30 40 00    	mov    %esi,0x403014
4018f4:	39 35 68 33 40 00    	cmp    %esi,0x403368
4018fa:	75 1b                	jne    0x401917
4018fc:	68 bc 10 40 00       	push   $0x4010bc
401901:	68 b4 10 40 00       	push   $0x4010b4
401906:	e8 05 05 00 00       	call   0x401e10
40190b:	59                   	pop    %ecx
40190c:	59                   	pop    %ecx
40190d:	c7 05 68 33 40 00 02 	movl   $0x2,0x403368
401914:	00 00 00
401917:	85 ff                	test   %edi,%edi
401919:	75 09                	jne    0x401924
40191b:	33 c0                	xor    %eax,%eax
40191d:	b9 64 33 40 00       	mov    $0x403364,%ecx
401922:	87 01                	xchg   %eax,(%ecx)
401924:	83 3d 6c 33 40 00 00 	cmpl   $0x0,0x40336c
40192b:	74 23                	je     0x401950
40192d:	68 6c 33 40 00       	push   $0x40336c
401932:	e8 39 03 00 00       	call   0x401c70
401937:	59                   	pop    %ecx
401938:	85 c0                	test   %eax,%eax
40193a:	74 14                	je     0x401950
40193c:	53                   	push   %ebx