40448e:	8b 35 00 82 40 00    	mov    0x408200,%esi
404494:	75 5a                	jne    0x4044f0
404496:	8b 45 10             	mov    0x10(%ebp),%eax
404499:	c1 e8 10             	shr    $0x10,%eax
40449c:	66 85 c0             	test   %ax,%ax
40449f:	0f 85 24 01 00 00    	jne    0x4045c9
4044a5:	33 c0                	xor    %eax,%eax
4044a7:	39 05 64 98 42 00    	cmp    %eax,0x429864
4044ad:	0f 85 16 01 00 00    	jne    0x4045c9
4044b3:	8b 0d 70 a0 42 00    	mov    0x42a070,%ecx
4044b9:	8d 79 14             	lea    0x14(%ecx),%edi
4044bc:	f6 07 20             	testb  $0x20,(%edi)
4044bf:	0f 84 04 01 00 00    	je     0x4045c9
4044c5:	50                   	push   %eax
4044c6:	50                   	push   %eax
4044c7:	68 f0 00 00 00       	push   $0xf0
4044cc:	68 0a 04 00 00       	push   $0x40a
4044d1:	ff 75 08             	push   0x8(%ebp)
4044d4:	ff d3                	call   *%ebx
4044d6:	50                   	push   %eax
4044d7:	ff d6                	call   *%esi
4044d9:	8b 0f                	mov    (%edi),%ecx
4044db:	83 e0 01             	and    $0x1,%eax
4044de:	83 e1 fe             	and    $0xfffffffe,%ecx
4044e1:	50                   	push   %eax
4044e2:	0b c8                	or     %eax,%ecx
4044e4:	89 0f                	mov    %ecx,(%edi)
4044e6:	e8 2b fd ff ff       	call   0x404216
4044eb:	e8 ef 00 00 00       	call   0x4045df
4044f0:	83 7d 0c 4e          	cmpl   $0x4e,0xc(%ebp)
4044f4:	0f 85 c0 00 00 00    	jne    0x4045ba
4044fa:	68 e8 03 00 00       	push   $0x3e8
4044ff:	ff 75 08             	push   0x8(%ebp)
404502:	ff d3                	call   *%ebx
404504:	8b 7d 14             	mov    0x14(%ebp),%edi
404507:	81 7f 08 0b 07 00 00 	cmpl   $0x70b,0x8(%edi)
40450e:	75 68                	jne    0x404578
404510:	81 7f 0c 01 02 00 00 	cmpl   $0x201,0xc(%edi)
404517:	75 5f                	jne    0x404578
404519:	8b 4f 1c             	mov    0x1c(%edi),%ecx
40451c:	8b 57 18             	mov    0x18(%edi),%edx
40451f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
404522:	2b ca                	sub    %edx,%ecx
404524:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
40452a:	89 55 f4             	mov    %edx,-0xc(%ebp)
40452d:	c7 45 fc c0 e3 42 00 	movl   $0x42e3c0,-0x4(%ebp)
404534:	73 42                	jae    0x404578
404536:	8d 4d f4             	lea    -0xc(%ebp),%ecx
404539:	51                   	push   %ecx
40453a:	6a 00                	push   $0x0
40453c:	68 4b 04 00 00       	push   $0x44b
404541:	50                   	push   %eax
404542:	ff d6                	call   *%esi
404544:	8b 3d a4 81 40 00    	mov    0x4081a4,%edi
40454a:	68 02 7f 00 00       	push   $0x7f02
40454f:	6a 00                	push   $0x0
404551:	ff d7                	call   *%edi
404553:	8b 1d a0 81 40 00    	mov    0x4081a0,%ebx
404559:	50                   	push   %eax
40455a:	ff d3                	call   *%ebx
40455c:	6a 01                	push   $0x1
40455e:	ff 75 fc             	push   -0x4(%ebp)
404561:	ff 75 08             	push   0x8(%ebp)
404564:	e8 9a 00 00 00       	call   0x404603
404569:	68 00 7f 00 00       	push   $0x7f00
40456e:	6a 00                	push   $0x0
404570:	ff d7                	call   *%edi
404572:	50                   	push   %eax
404573:	ff d3                	call   *%ebx
404575:	8b 7d 14             	mov    0x14(%ebp),%edi
404578:	81 7f 08 00 07 00 00 	cmpl   $0x700,0x8(%edi)
40457f:	75 4b                	jne    0x4045cc
404581:	81 7f 0c 00 01 00 00 	cmpl   $0x100,0xc(%edi)
404588:	75 42                	jne    0x4045cc
40458a:	83 7f 10 0d          	cmpl   $0xd,0x10(%edi)
40458e:	75 11                	jne    0x4045a1
404590:	6a 00                	push   $0x0
404592:	6a 01                	push   $0x1
404594:	68 11 01 00 00       	push   $0x111
404599:	ff 35 28 f4 42 00    	push   0x42f428
40459f:	ff d6                	call   *%esi
4045a1:	83 7f 10 1b          	cmpl   $0x1b,0x10(%edi)
4045a5:	75 0e                	jne    0x4045b5
4045a7:	6a 00                	push   $0x0
4045a9:	6a 00                	push   $0x0
4045ab:	6a 10                	push   $0x10
4045ad:	ff 35 28 f4 42 00    	push   0x42f428
4045b3:	ff d6                	call   *%esi
4045b5:	33 c0                	xor    %eax,%eax
4045b7:	40                   	inc    %eax
4045b8:	eb 1e                	jmp    0x4045d8
4045ba:	81 7d 0c 0b 04 00 00 	cmpl   $0x40b,0xc(%ebp)
4045c1:	75 06                	jne    0x4045c9
4045c3:	ff 05 64 98 42 00    	incl   0x429864
4045c9:	8b 7d 14             	mov    0x14(%ebp),%edi
4045cc:	57                   	push   %edi
4045cd:	ff 75 10             	push   0x10(%ebp)
4045d0:	ff 75 0c             	push   0xc(%ebp)
4045d3:	e8 83 fc ff ff       	call   0x40425b
4045d8:	5f                   	pop    %edi
4045d9:	5e                   	pop    %esi
4045da:	5b                   	pop    %ebx
4045db:	c9                   	leave
4045dc:	c2 10 00             	ret    $0x10
4045df:	83 3d cc f4 42 00 00 	cmpl   $0x0,0x42f4cc
4045e6:	a1 60 98 42 00       	mov    0x429860,%eax
4045eb:	75 05                	jne    0x4045f2
4045ed:	a1 94 a8 42 00       	mov    0x42a894,%eax
4045f2:	6a 01                	push   $0x1
4045f4:	6a 01                	push   $0x1
4045f6:	68 f4 00 00 00       	push   $0xf4
4045fb:	50                   	push   %eax
4045fc:	ff 15 00 82 40 00    	call   *0x408200
404602:	c3                   	ret
404603:	55                   	push   %ebp
404604:	8b ec                	mov    %esp,%ebp
404606:	83 ec 3c             	sub    $0x3c,%esp
404609:	8b 45 08             	mov    0x8(%ebp),%eax
40460c:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
404610:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
404614:	89 45 cc             	mov    %eax,-0x34(%ebp)
404617:	8b 45 0c             	mov    0xc(%ebp),%eax
40461a:	c7 45 c8 00 05 00 00 	movl   $0x500,-0x38(%ebp)
404621:	89 45 d4             	mov    %eax,-0x2c(%ebp)
404624:	8d 45 c4             	lea    -0x3c(%ebp),%eax
404627:	50                   	push   %eax
404628:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
40462f:	c7 45 d0 1c a2 40 00 	movl   $0x40a21c,-0x30(%ebp)
404636:	e8 0d 12 00 00       	call   0x405848
40463b:	c9                   	leave
40463c:	c2 0c 00             	ret    $0xc
40463f:	55                   	push   %ebp
404640:	8b ec                	mov    %esp,%ebp
404642:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
404649:	56                   	push   %esi
40464a:	8b 75 14             	mov    0x14(%ebp),%esi
40464d:	75 26                	jne    0x404675
40464f:	ff 76 30             	push   0x30(%esi)
404652:	6a 1d                	push   $0x1d
404654:	ff 75 08             	push   0x8(%ebp)
404657:	e8 98 fb ff ff       	call   0x4041f4
40465c:	8b 46 3c             	mov    0x3c(%esi),%eax
40465f:	c1 e0 0a             	shl    $0xa,%eax
404662:	05 00 00 43 00       	add    $0x430000,%eax
404667:	50                   	push   %eax
404668:	68 e8 03 00 00       	push   $0x3e8
40466d:	ff 75 08             	push   0x8(%ebp)
404670:	e8 eb 11 00 00       	call   0x405860
404675:	56                   	push   %esi
404676:	ff 75 10             	push   0x10(%ebp)
404679:	ff 75 0c             	push   0xc(%ebp)
40467c:	e8 da fb ff ff       	call   0x40425b
404681:	5e                   	pop    %esi
404682:	5d                   	pop    %ebp
404683:	c2 10 00             	ret    $0x10
404686:	55                   	push   %ebp
404687:	8b ec                	mov    %esp,%ebp
404689:	83 ec 4c             	sub    $0x4c,%esp
40468c:	a1 70 a0 42 00       	mov    0x42a070,%eax
404691:	53                   	push   %ebx
404692:	89 45 e4             	mov    %eax,-0x1c(%ebp)
404695:	56                   	push   %esi
404696:	8b 58 3c             	mov    0x3c(%eax),%ebx
404699:	8b 40 38             	mov    0x38(%eax),%eax
40469c:	c1 e3 0a             	shl    $0xa,%ebx
40469f:	81 c3 00 00 43 00    	add    $0x430000,%ebx
4046a5:	81 7d 0c 0b 04 00 00 	cmpl   $0x40b,0xc(%ebp)
4046ac:	57                   	push   %edi
4046ad:	89 45 f8             	mov    %eax,-0x8(%ebp)
4046b0:	75 11                	jne    0x4046c3
4046b2:	53                   	push   %ebx
4046b3:	68 fb 03 00 00       	push   $0x3fb
4046b8:	e8 a9 11 00 00       	call   0x405866
4046bd:	53                   	push   %ebx
4046be:	e8 0d 1d 00 00       	call   0x4063d0
4046c3:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
4046ca:	8b 75 08             	mov    0x8(%ebp),%esi
4046cd:	75 6c                	jne    0x40473b
4046cf:	68 fb 03 00 00       	push   $0x3fb
4046d4:	56                   	push   %esi
4046d5:	ff 15 d0 81 40 00    	call   *0x4081d0
4046db:	53                   	push   %ebx
4046dc:	8b f8                	mov    %eax,%edi
4046de:	e8 88 14 00 00       	call   0x405b6b
4046e3:	85 c0                	test   %eax,%eax
4046e5:	74 10                	je     0x4046f7
4046e7:	53                   	push   %ebx
4046e8:	e8 aa 14 00 00       	call   0x405b97
4046ed:	85 c0                	test   %eax,%eax
4046ef:	75 06                	jne    0x4046f7
4046f1:	53                   	push   %ebx
4046f2:	e8 07 14 00 00       	call   0x405afe
4046f7:	53                   	push   %ebx
4046f8:	57                   	push   %edi
4046f9:	89 35 f8 eb 42 00    	mov    %esi,0x42ebf8
4046ff:	ff 15 40 82 40 00    	call   *0x408240
404705:	8b 45 14             	mov    0x14(%ebp),%eax
404708:	ff 70 34             	push   0x34(%eax)
40470b:	6a 01                	push   $0x1
40470d:	56                   	push   %esi
40470e:	e8 e1 fa ff ff       	call   0x4041f4
404713:	8b 45 14             	mov    0x14(%ebp),%eax
404716:	ff 70 30             	push   0x30(%eax)
404719:	6a 14                	push   $0x14
40471b:	56                   	push   %esi
40471c:	e8 d3 fa ff ff       	call   0x4041f4
404721:	57                   	push   %edi
404722:	e8 02 fb ff ff       	call   0x404229
404727:	6a 07                	push   $0x7
404729:	e8 d0 1d 00 00       	call   0x4064fe
40472e:	85 c0                	test   %eax,%eax
404730:	0f 84 8c 02 00 00    	je     0x4049c2
404736:	6a 01                	push   $0x1
404738:	57                   	push   %edi
404739:	ff d0                	call   *%eax
40473b:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
404742:	0f 85 d1 00 00 00    	jne    0x404819
404748:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
40474c:	3d fb 03 00 00       	cmp    $0x3fb,%eax
404751:	75 18                	jne    0x40476b
404753:	8b 4d 10             	mov    0x10(%ebp),%ecx
404756:	c1 e9 10             	shr    $0x10,%ecx
404759:	66 81 f9 00 03       	cmp    $0x300,%cx
40475e:	0f 85 5e 02 00 00    	jne    0x4049c2
404764:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
40476b:	3d e9 03 00 00       	cmp    $0x3e9,%eax
404770:	0f 85 a3 00 00 00    	jne    0x404819
404776:	6a 07                	push   $0x7
404778:	33 c0                	xor    %eax,%eax
40477a:	59                   	pop    %ecx
40477b:	8d 7d b8             	lea    -0x48(%ebp),%edi
40477e:	ff 75 f8             	push   -0x8(%ebp)
404781:	f3 ab                	rep stos %eax,%es:(%edi)
404783:	bf 98 a8 42 00       	mov    $0x42a898,%edi
404788:	68 70 9c 42 00       	push   $0x429c70
40478d:	89 75 b4             	mov    %esi,-0x4c(%ebp)
404790:	89 7d bc             	mov    %edi,-0x44(%ebp)
404793:	c7 45 c8 d7 49 40 00 	movl   $0x4049d7,-0x38(%ebp)
40479a:	89 5d cc             	mov    %ebx,-0x34(%ebp)
40479d:	e8 e6 19 00 00       	call   0x406188
4047a2:	89 45 c0             	mov    %eax,-0x40(%ebp)
4047a5:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4047a8:	50                   	push   %eax
4047a9:	c7 45 c4 41 00 00 00 	movl   $0x41,-0x3c(%ebp)
4047b0:	ff 15 74 81 40 00    	call   *0x408174
4047b6:	85 c0                	test   %eax,%eax
4047b8:	74 58                	je     0x404812
4047ba:	50                   	push   %eax
4047bb:	ff 15 88 82 40 00    	call   *0x408288
4047c1:	53                   	push   %ebx
4047c2:	e8 37 13 00 00       	call   0x405afe
4047c7:	a1 34 f4 42 00       	mov    0x42f434,%eax
4047cc:	8b 80 1c 01 00 00    	mov    0x11c(%eax),%eax
4047d2:	85 c0                	test   %eax,%eax
4047d4:	74 28                	je     0x4047fe
4047d6:	81 fb 00 54 43 00    	cmp    $0x435400,%ebx
4047dc:	75 20                	jne    0x4047fe
4047de:	50                   	push   %eax
4047df:	6a 00                	push   $0x0
4047e1:	e8 a2 19 00 00       	call   0x406188
4047e6:	57                   	push   %edi
4047e7:	bf c0 e3 42 00       	mov    $0x42e3c0,%edi
4047ec:	57                   	push   %edi
4047ed:	ff 15 18 81 40 00    	call   *0x408118
4047f3:	85 c0                	test   %eax,%eax
4047f5:	74 07                	je     0x4047fe
4047f7:	57                   	push   %edi
4047f8:	53                   	push   %ebx
4047f9:	e8 84 19 00 00       	call   0x406182
4047fe:	ff 05 88 a8 42 00    	incl   0x42a888
404804:	53                   	push   %ebx
404805:	68 fb 03 00 00       	push   $0x3fb
40480a:	56                   	push   %esi
40480b:	e8 50 10 00 00       	call   0x405860
404810:	eb 07                	jmp    0x404819
404812:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
404819:	81 7d 0c 0f 04 00 00 	cmpl   $0x40f,0xc(%ebp)
404820:	74 0d                	je     0x40482f
404822:	81 7d 0c 05 04 00 00 	cmpl   $0x405,0xc(%ebp)
404829:	0f 85 93 01 00 00    	jne    0x4049c2
40482f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404833:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
404837:	53                   	push   %ebx
404838:	68 fb 03 00 00       	push   $0x3fb
40483d:	e8 24 10 00 00       	call   0x405866
404842:	53                   	push   %ebx
404843:	e8 a4 13 00 00       	call   0x405bec
404848:	85 c0                	test   %eax,%eax
40484a:	75 07                	jne    0x404853
40484c:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
404853:	be 68 98 42 00       	mov    $0x429868,%esi
404858:	53                   	push   %ebx
404859:	56                   	push   %esi
40485a:	e8 07 19 00 00       	call   0x406166
40485f:	6a 01                	push   $0x1
404861:	e8 98 1c 00 00       	call   0x4064fe
404866:	85 c0                	test   %eax,%eax
404868:	89 45 f4             	mov    %eax,-0xc(%ebp)
40486b:	74 35                	je     0x4048a2
40486d:	33 c0                	xor    %eax,%eax
40486f:	33 ff                	xor    %edi,%edi
404871:	3b c6                	cmp    %esi,%eax
404873:	74 2d                	je     0x4048a2
404875:	8d 45 dc             	lea    -0x24(%ebp),%eax
404878:	50                   	push   %eax
404879:	8d 45 e8             	lea    -0x18(%ebp),%eax
40487c:	50                   	push   %eax
40487d:	8d 45 d4             	lea    -0x2c(%ebp),%eax
404880:	50                   	push   %eax
404881:	56                   	push   %esi
404882:	ff 55 f4             	call   *-0xc(%ebp)
404885:	85 c0                	test   %eax,%eax
404887:	75 71                	jne    0x4048fa
404889:	85 ff                	test   %edi,%edi
40488b:	74 02                	je     0x40488f
40488d:	20 07                	and    %al,(%edi)
40488f:	56                   	push   %esi
404890:	e8 b0 12 00 00       	call   0x405b45
404895:	8b f8                	mov    %eax,%edi
404897:	80 27 00             	andb   $0x0,(%edi)
40489a:	4f                   	dec    %edi
40489b:	3b fe                	cmp    %esi,%edi
40489d:	c6 07 5c             	movb   $0x5c,(%edi)
4048a0:	75 d3                	jne    0x404875
4048a2:	53                   	push   %ebx
4048a3:	56                   	push   %esi
4048a4:	e8 bd 18 00 00       	call   0x406166
4048a9:	56                   	push   %esi
4048aa:	e8 e8 12 00 00       	call   0x405b97
4048af:	33 ff                	xor    %edi,%edi
4048b1:	3b c7                	cmp    %edi,%eax
4048b3:	74 03                	je     0x4048b8
4048b5:	80 20 00             	andb   $0x0,(%eax)
4048b8:	8d 45 e0             	lea    -0x20(%ebp),%eax
4048bb:	50                   	push   %eax
4048bc:	8d 45 f4             	lea    -0xc(%ebp),%eax
4048bf:	50                   	push   %eax
4048c0:	8d 45 ec             	lea    -0x14(%ebp),%eax
4048c3:	50                   	push   %eax
4048c4:	8d 45 f0             	lea    -0x10(%ebp),%eax
4048c7:	50                   	push   %eax
4048c8:	56                   	push   %esi
4048c9:	ff 15 20 81 40 00    	call   *0x408120
4048cf:	85 c0                	test   %eax,%eax
4048d1:	74 43                	je     0x404916
4048d3:	8b 45 f0             	mov    -0x10(%ebp),%eax
4048d6:	be 00 04 00 00       	mov    $0x400,%esi
4048db:	0f af 45 ec          	imul   -0x14(%ebp),%eax
4048df:	56                   	push   %esi
4048e0:	ff 75 f4             	push   -0xc(%ebp)