401660:	ff 75 dc             	push   -0x24(%ebp)
401663:	6a 40                	push   $0x40
401665:	ff 15 74 40 40 00    	call   *0x404074
40166b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40166e:	33 f6                	xor    %esi,%esi
401670:	3b c6                	cmp    %esi,%eax
401672:	0f 84 3c 01 00 00    	je     0x4017b4
401678:	8d 45 dc             	lea    -0x24(%ebp),%eax
40167b:	50                   	push   %eax
40167c:	ff 75 dc             	push   -0x24(%ebp)
40167f:	ff 75 e4             	push   -0x1c(%ebp)
401682:	6a 0b                	push   $0xb
401684:	ff d3                	call   *%ebx
401686:	3b c6                	cmp    %esi,%eax
401688:	0f 85 26 01 00 00    	jne    0x4017b4
40168e:	c6 85 34 fe ff ff 00 	movb   $0x0,-0x1cc(%ebp)
401695:	68 03 01 00 00       	push   $0x103
40169a:	56                   	push   %esi
40169b:	8d 85 35 fe ff ff    	lea    -0x1cb(%ebp),%eax
4016a1:	50                   	push   %eax
4016a2:	e8 35 1a 00 00       	call   0x4030dc
4016a7:	83 c4 0c             	add    $0xc,%esp
4016aa:	8b 1d 84 41 40 00    	mov    0x404184,%ebx
4016b0:	89 75 d0             	mov    %esi,-0x30(%ebp)
4016b3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4016b6:	3b 30                	cmp    (%eax),%esi
4016b8:	73 51                	jae    0x40170b
4016ba:	8b ce                	mov    %esi,%ecx
4016bc:	69 c9 1c 01 00 00    	imul   $0x11c,%ecx,%ecx
4016c2:	8d 44 01 20          	lea    0x20(%ecx,%eax,1),%eax
4016c6:	89 45 e0             	mov    %eax,-0x20(%ebp)
4016c9:	68 a0 45 40 00       	push   $0x4045a0
4016ce:	50                   	push   %eax
4016cf:	ff d3                	call   *%ebx
4016d1:	59                   	pop    %ecx
4016d2:	59                   	pop    %ecx
4016d3:	85 c0                	test   %eax,%eax
4016d5:	74 31                	je     0x401708
4016d7:	68 a4 45 40 00       	push   $0x4045a4
4016dc:	ff 75 e0             	push   -0x20(%ebp)
4016df:	ff d3                	call   *%ebx
4016e1:	59                   	pop    %ecx
4016e2:	59                   	pop    %ecx
4016e3:	85 c0                	test   %eax,%eax
4016e5:	74 21                	je     0x401708
4016e7:	8b d0                	mov    %eax,%edx
4016e9:	8d 8d 34 fe ff ff    	lea    -0x1cc(%ebp),%ecx
4016ef:	8a 02                	mov    (%edx),%al
4016f1:	88 01                	mov    %al,(%ecx)
4016f3:	42                   	inc    %edx
4016f4:	41                   	inc    %ecx
4016f5:	84 c0                	test   %al,%al
4016f7:	75 f6                	jne    0x4016ef
4016f9:	69 f6 1c 01 00 00    	imul   $0x11c,%esi,%esi
4016ff:	8b 45 e4             	mov    -0x1c(%ebp),%eax
401702:	8b 74 06 0c          	mov    0xc(%esi,%eax,1),%esi
401706:	eb 06                	jmp    0x40170e
401708:	46                   	inc    %esi
401709:	eb a5                	jmp    0x4016b0
40170b:	8b 75 cc             	mov    -0x34(%ebp),%esi
40170e:	8d 85 34 fe ff ff    	lea    -0x1cc(%ebp),%eax
401714:	50                   	push   %eax
401715:	ff 15 78 40 40 00    	call   *0x404078
40171b:	8b d8                	mov    %eax,%ebx
40171d:	89 5d d8             	mov    %ebx,-0x28(%ebp)
401720:	85 db                	test   %ebx,%ebx
401722:	0f 84 8c 00 00 00    	je     0x4017b4
401728:	85 f6                	test   %esi,%esi
40172a:	0f 84 84 00 00 00    	je     0x4017b4
401730:	6a 1c                	push   $0x1c
401732:	58                   	pop    %eax
401733:	e8 9e 19 00 00       	call   0x4030d6
401738:	89 65 e8             	mov    %esp,-0x18(%ebp)
40173b:	8b c4                	mov    %esp,%eax
40173d:	85 c0                	test   %eax,%eax
40173f:	74 11                	je     0x401752
401741:	68 8f 00 00 00       	push   $0x8f
401746:	6a 1a                	push   $0x1a
401748:	ba e0 5d 40 00       	mov    $0x405de0,%edx
40174d:	e8 0b 12 00 00       	call   0x40295d
401752:	50                   	push   %eax
401753:	53                   	push   %ebx
401754:	ff d7                	call   *%edi
401756:	a3 14 a5 42 00       	mov    %eax,0x42a514
40175b:	85 c0                	test   %eax,%eax
40175d:	74 55                	je     0x4017b4
40175f:	8b ce                	mov    %esi,%ecx
401761:	2b cb                	sub    %ebx,%ecx
401763:	03 c1                	add    %ecx,%eax
401765:	a3 14 a5 42 00       	mov    %eax,0x42a514
40176a:	6a 18                	push   $0x18
40176c:	58                   	pop    %eax
40176d:	e8 64 19 00 00       	call   0x4030d6
401772:	89 65 e8             	mov    %esp,-0x18(%ebp)
401775:	8b c4                	mov    %esp,%eax
401777:	85 c0                	test   %eax,%eax
401779:	74 11                	je     0x40178c
40177b:	68 8c 00 00 00       	push   $0x8c
401780:	6a 17                	push   $0x17
401782:	ba fc 5d 40 00       	mov    $0x405dfc,%edx
401787:	e8 d1 11 00 00       	call   0x40295d
40178c:	50                   	push   %eax
40178d:	53                   	push   %ebx
40178e:	ff d7                	call   *%edi
401790:	a3 20 a5 42 00       	mov    %eax,0x42a520
401795:	85 c0                	test   %eax,%eax
401797:	74 1b                	je     0x4017b4
401799:	2b f3                	sub    %ebx,%esi
40179b:	03 c6                	add    %esi,%eax
40179d:	a3 20 a5 42 00       	mov    %eax,0x42a520
4017a2:	ff 15 8c 40 40 00    	call   *0x40408c
4017a8:	a3 10 a5 42 00       	mov    %eax,0x42a510
4017ad:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
4017b4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4017b8:	e8 0f 00 00 00       	call   0x4017cc
4017bd:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4017c0:	8d a5 28 fe ff ff    	lea    -0x1d8(%ebp),%esp
4017c6:	e8 26 18 00 00       	call   0x402ff1
4017cb:	c3                   	ret
4017cc:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
4017d0:	74 09                	je     0x4017db
4017d2:	ff 75 e4             	push   -0x1c(%ebp)
4017d5:	ff 15 6c 40 40 00    	call   *0x40406c
4017db:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
4017df:	74 09                	je     0x4017ea
4017e1:	ff 75 d8             	push   -0x28(%ebp)
4017e4:	ff 15 7c 40 40 00    	call   *0x40407c
4017ea:	c3                   	ret
4017eb:	55                   	push   %ebp
4017ec:	8b ec                	mov    %esp,%ebp
4017ee:	51                   	push   %ecx
4017ef:	51                   	push   %ecx
4017f0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4017f4:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4017f8:	56                   	push   %esi
4017f9:	57                   	push   %edi
4017fa:	8d 45 fc             	lea    -0x4(%ebp),%eax
4017fd:	50                   	push   %eax
4017fe:	ff 35 10 a5 42 00    	push   0x42a510
401804:	ff 15 14 a5 42 00    	call   *0x42a514
40180a:	8d 45 f8             	lea    -0x8(%ebp),%eax
40180d:	50                   	push   %eax
40180e:	6a 04                	push   $0x4
401810:	ff 15 14 a5 42 00    	call   *0x42a514
401816:	ff 75 fc             	push   -0x4(%ebp)
401819:	ff 15 20 a5 42 00    	call   *0x42a520
40181f:	ff 75 f8             	push   -0x8(%ebp)
401822:	8b f0                	mov    %eax,%esi
401824:	ff 15 20 a5 42 00    	call   *0x42a520
40182a:	8b 55 fc             	mov    -0x4(%ebp),%edx
40182d:	83 e6 f8             	and    $0xfffffff8,%esi
401830:	33 c9                	xor    %ecx,%ecx
401832:	8b 3c 8a             	mov    (%edx,%ecx,4),%edi
401835:	83 e7 f8             	and    $0xfffffff8,%edi
401838:	3b fe                	cmp    %esi,%edi
40183a:	74 0b                	je     0x401847
40183c:	41                   	inc    %ecx
40183d:	81 f9 00 02 00 00    	cmp    $0x200,%ecx
401843:	72 ed                	jb     0x401832
401845:	eb 03                	jmp    0x40184a
401847:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
40184a:	5f                   	pop    %edi
40184b:	c7 05 18 a5 42 00 01 	movl   $0x1,0x42a518
401852:	00 00 00
401855:	33 c0                	xor    %eax,%eax
401857:	5e                   	pop    %esi
401858:	c9                   	leave
401859:	c2 10 00             	ret    $0x10
40185c:	56                   	push   %esi
40185d:	8b 35 38 41 40 00    	mov    0x404138,%esi
401863:	57                   	push   %edi
401864:	33 ff                	xor    %edi,%edi
401866:	57                   	push   %edi
401867:	57                   	push   %edi
401868:	57                   	push   %edi
401869:	6a 1b                	push   $0x1b
40186b:	ff d6                	call   *%esi
40186d:	57                   	push   %edi
40186e:	6a 02                	push   $0x2
401870:	57                   	push   %edi
401871:	6a 1b                	push   $0x1b
401873:	ff d6                	call   *%esi
401875:	57                   	push   %edi
401876:	6a 02                	push   $0x2
401878:	57                   	push   %edi
401879:	6a 5b                	push   $0x5b
40187b:	ff d6                	call   *%esi
40187d:	5f                   	pop    %edi
40187e:	5e                   	pop    %esi
40187f:	c3                   	ret
401880:	55                   	push   %ebp
401881:	8b ec                	mov    %esp,%ebp
401883:	56                   	push   %esi
401884:	33 f6                	xor    %esi,%esi
401886:	39 35 28 a5 42 00    	cmp    %esi,0x42a528
40188c:	74 05                	je     0x401893
40188e:	e8 c9 ff ff ff       	call   0x40185c
401893:	8b 45 0c             	mov    0xc(%ebp),%eax
401896:	48                   	dec    %eax
401897:	74 3b                	je     0x4018d4
401899:	48                   	dec    %eax
40189a:	74 2f                	je     0x4018cb
40189c:	83 e8 0e             	sub    $0xe,%eax
40189f:	74 1f                	je     0x4018c0
4018a1:	2d 03 01 00 00       	sub    $0x103,%eax
4018a6:	74 08                	je     0x4018b0
4018a8:	5e                   	pop    %esi
4018a9:	5d                   	pop    %ebp
4018aa:	ff 25 58 41 40 00    	jmp    *0x404158
4018b0:	6a 01                	push   $0x1
4018b2:	ff 75 08             	push   0x8(%ebp)
4018b5:	ff 15 4c 41 40 00    	call   *0x40414c
4018bb:	e8 9c ff ff ff       	call   0x40185c
4018c0:	ff 75 08             	push   0x8(%ebp)
4018c3:	ff 15 34 41 40 00    	call   *0x404134
4018c9:	eb 30                	jmp    0x4018fb
4018cb:	56                   	push   %esi
4018cc:	ff 15 48 41 40 00    	call   *0x404148
4018d2:	eb 27                	jmp    0x4018fb
4018d4:	56                   	push   %esi
4018d5:	68 b8 0b 00 00       	push   $0xbb8
4018da:	6a 01                	push   $0x1
4018dc:	ff 75 08             	push   0x8(%ebp)
4018df:	ff 15 40 41 40 00    	call   *0x404140
4018e5:	6a 01                	push   $0x1
4018e7:	ff 75 08             	push   0x8(%ebp)
4018ea:	ff 15 5c 41 40 00    	call   *0x40415c
4018f0:	56                   	push   %esi
4018f1:	56                   	push   %esi
4018f2:	56                   	push   %esi
4018f3:	6a 5b                	push   $0x5b
4018f5:	ff 15 38 41 40 00    	call   *0x404138
4018fb:	33 c0                	xor    %eax,%eax
4018fd:	5e                   	pop    %esi
4018fe:	5d                   	pop    %ebp
4018ff:	c2 10 00             	ret    $0x10
401902:	55                   	push   %ebp
401903:	8b ec                	mov    %esp,%ebp
401905:	83 ec 58             	sub    $0x58,%esp
401908:	53                   	push   %ebx
401909:	56                   	push   %esi
40190a:	57                   	push   %edi
40190b:	6a 2c                	push   $0x2c
40190d:	33 f6                	xor    %esi,%esi
40190f:	8d 45 ac             	lea    -0x54(%ebp),%eax
401912:	56                   	push   %esi
401913:	50                   	push   %eax
401914:	c7 45 a8 30 00 00 00 	movl   $0x30,-0x58(%ebp)
40191b:	e8 bc 17 00 00       	call   0x4030dc
401920:	83 c4 0c             	add    $0xc,%esp
401923:	6a 06                	push   $0x6
401925:	59                   	pop    %ecx
401926:	33 c0                	xor    %eax,%eax
401928:	89 75 d8             	mov    %esi,-0x28(%ebp)
40192b:	8d 7d dc             	lea    -0x24(%ebp),%edi
40192e:	f3 ab                	rep stos %eax,%es:(%edi)
401930:	33 ff                	xor    %edi,%edi
401932:	47                   	inc    %edi
401933:	c7 45 fc 00 10 00 00 	movl   $0x1000,-0x4(%ebp)
40193a:	89 7d f8             	mov    %edi,-0x8(%ebp)
40193d:	e8 b6 04 00 00       	call   0x401df8
401942:	85 c0                	test   %eax,%eax
401944:	74 07                	je     0x40194d
401946:	33 c0                	xor    %eax,%eax
401948:	e9 79 01 00 00       	jmp    0x401ac6
40194d:	e8 b2 fb ff ff       	call   0x401504
401952:	85 c0                	test   %eax,%eax
401954:	74 f0                	je     0x401946
401956:	6a 40                	push   $0x40
401958:	68 00 30 10 00       	push   $0x103000
40195d:	8d 45 fc             	lea    -0x4(%ebp),%eax
401960:	50                   	push   %eax
401961:	56                   	push   %esi
401962:	8d 45 f8             	lea    -0x8(%ebp),%eax
401965:	50                   	push   %eax
401966:	6a ff                	push   $0xffffffff
401968:	ff 15 24 a5 42 00    	call   *0x42a524
40196e:	85 c0                	test   %eax,%eax
401970:	75 d4                	jne    0x401946
401972:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
401978:	8b 40 40             	mov    0x40(%eax),%eax
40197b:	3b c6                	cmp    %esi,%eax
40197d:	74 c7                	je     0x401946
40197f:	a3 08 00 00 00       	mov    %eax,0x8
401984:	66 a1 1c a5 42 00    	mov    0x42a51c,%ax
40198a:	c6 05 16 00 00 00 04 	movb   $0x4,0x16
401991:	c7 05 60 00 00 00 eb 	movl   $0x4017eb,0x60
401998:	17 40 00
40199b:	c7 05 6c 00 00 00 00 	movl   $0x400,0x6c
4019a2:	04 00 00
4019a5:	89 3d 04 04 00 00    	mov    %edi,0x404
4019ab:	8b 3d 80 40 40 00    	mov    0x404080,%edi
4019b1:	c7 05 08 04 00 00 00 	movl   $0x800,0x408
4019b8:	08 00 00
4019bb:	66 a3 0c 04 00 00    	mov    %ax,0x40c
4019c1:	c6 05 0e 04 00 00 01 	movb   $0x1,0x40e
4019c8:	56                   	push   %esi
4019c9:	c7 45 b0 80 18 40 00 	movl   $0x401880,-0x50(%ebp)
4019d0:	ff d7                	call   *%edi
4019d2:	6a 08                	push   $0x8
4019d4:	89 45 bc             	mov    %eax,-0x44(%ebp)
4019d7:	58                   	pop    %eax
4019d8:	e8 f9 16 00 00       	call   0x4030d6
4019dd:	8b dc                	mov    %esp,%ebx
4019df:	3b de                	cmp    %esi,%ebx
4019e1:	74 10                	je     0x4019f3
4019e3:	6a 7f                	push   $0x7f
4019e5:	6a 05                	push   $0x5
4019e7:	8b c3                	mov    %ebx,%eax
4019e9:	ba 14 5e 40 00       	mov    $0x405e14,%edx
4019ee:	e8 6a 0f 00 00       	call   0x40295d
4019f3:	6a 08                	push   $0x8
4019f5:	58                   	pop    %eax
4019f6:	e8 db 16 00 00       	call   0x4030d6
4019fb:	8b c4                	mov    %esp,%eax
4019fd:	89 45 f4             	mov    %eax,-0xc(%ebp)
401a00:	3b c6                	cmp    %esi,%eax
401a02:	74 11                	je     0x401a15
401a04:	68 91 00 00 00       	push   $0x91
401a09:	6a 06                	push   $0x6
401a0b:	ba 1c 5e 40 00       	mov    $0x405e1c,%edx
401a10:	e8 48 0f 00 00       	call   0x40295d
401a15:	8d 45 a8             	lea    -0x58(%ebp),%eax
401a18:	50                   	push   %eax
401a19:	89 5d d0             	mov    %ebx,-0x30(%ebp)
401a1c:	ff 15 44 41 40 00    	call   *0x404144
401a22:	66 85 c0             	test   %ax,%ax
401a25:	0f 84 1b ff ff ff    	je     0x401946
401a2b:	56                   	push   %esi
401a2c:	56                   	push   %esi
401a2d:	ff d7                	call   *%edi
401a2f:	50                   	push   %eax
401a30:	56                   	push   %esi
401a31:	56                   	push   %esi
401a32:	6a 64                	push   $0x64
401a34:	68 c8 00 00 00       	push   $0xc8
401a39:	b8 00 00 00 80       	mov    $0x80000000,%eax
401a3e:	50                   	push   %eax
401a3f:	50                   	push   %eax
401a40:	68 00 00 cf 00       	push   $0xcf0000
401a45:	ff 75 f4             	push   -0xc(%ebp)
401a48:	53                   	push   %ebx
401a49:	68 00 02 00 00       	push   $0x200
401a4e:	ff 15 54 41 40 00    	call   *0x404154
401a54:	8b d8                	mov    %eax,%ebx
401a56:	3b de                	cmp    %esi,%ebx
401a58:	0f 84 e8 fe ff ff    	je     0x401946
401a5e:	56                   	push   %esi
401a5f:	53                   	push   %ebx
401a60:	ff 15 68 41 40 00    	call   *0x404168