405338:	8b 45 f0             	mov    -0x10(%ebp),%eax
40533b:	3b 05 8c a2 42 00    	cmp    0x42a28c,%eax
405341:	0f 8c 67 ff ff ff    	jl     0x4052ae
405347:	6a 01                	push   $0x1
405349:	53                   	push   %ebx
40534a:	ff 75 fc             	push   -0x4(%ebp)
40534d:	ff 15 14 82 40 00    	call   *0x408214
405353:	a1 1c 92 42 00       	mov    0x42921c,%eax
405358:	39 58 10             	cmp    %ebx,0x10(%eax)
40535b:	74 14                	je     0x405371
40535d:	6a 05                	push   $0x5
40535f:	e8 89 f9 ff ff       	call   0x404ced
405364:	50                   	push   %eax
405365:	6a fb                	push   $0xfffffffb
405367:	68 ff 03 00 00       	push   $0x3ff
40536c:	e8 64 f9 ff ff       	call   0x404cd5
405371:	81 7d 0c 20 04 00 00 	cmpl   $0x420,0xc(%ebp)
405378:	75 35                	jne    0x4053af
40537a:	f6 05 5d a2 42 00 01 	testb  $0x1,0x42a25d
405381:	74 2c                	je     0x4053af
405383:	33 c0                	xor    %eax,%eax
405385:	83 7d 14 20          	cmpl   $0x20,0x14(%ebp)
405389:	8b 35 68 82 40 00    	mov    0x408268,%esi
40538f:	0f 94 c0             	sete   %al
405392:	c1 e0 03             	shl    $0x3,%eax
405395:	8b f8                	mov    %eax,%edi
405397:	57                   	push   %edi
405398:	ff 75 fc             	push   -0x4(%ebp)
40539b:	ff d6                	call   *%esi
40539d:	57                   	push   %edi
40539e:	68 fe 03 00 00       	push   $0x3fe
4053a3:	ff 75 08             	push   0x8(%ebp)
4053a6:	ff 15 e4 81 40 00    	call   *0x4081e4
4053ac:	50                   	push   %eax
4053ad:	ff d6                	call   *%esi
4053af:	ff 75 14             	push   0x14(%ebp)
4053b2:	ff 75 10             	push   0x10(%ebp)
4053b5:	ff 75 0c             	push   0xc(%ebp)
4053b8:	e8 09 f0 ff ff       	call   0x4043c6
4053bd:	5f                   	pop    %edi
4053be:	5e                   	pop    %esi
4053bf:	5b                   	pop    %ebx
4053c0:	c9                   	leave
4053c1:	c2 10 00             	ret    $0x10
4053c4:	55                   	push   %ebp
4053c5:	8b ec                	mov    %esp,%ebp
4053c7:	53                   	push   %ebx
4053c8:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4053cb:	81 fb 02 01 00 00    	cmp    $0x102,%ebx
4053d1:	57                   	push   %edi
4053d2:	75 14                	jne    0x4053e8
4053d4:	83 7d 10 20          	cmpl   $0x20,0x10(%ebp)
4053d8:	75 59                	jne    0x405433
4053da:	68 13 04 00 00       	push   $0x413
4053df:	e8 c7 ef ff ff       	call   0x4043ab
4053e4:	33 c0                	xor    %eax,%eax
4053e6:	eb 62                	jmp    0x40544a
4053e8:	81 fb 00 02 00 00    	cmp    $0x200,%ebx
4053ee:	75 20                	jne    0x405410
4053f0:	ff 75 08             	push   0x8(%ebp)
4053f3:	ff 15 c8 81 40 00    	call   *0x4081c8
4053f9:	85 c0                	test   %eax,%eax
4053fb:	74 36                	je     0x405433
4053fd:	6a 01                	push   $0x1
4053ff:	ff 75 08             	push   0x8(%ebp)
405402:	e8 13 f9 ff ff       	call   0x404d1a
405407:	8b f8                	mov    %eax,%edi
405409:	bb 19 04 00 00       	mov    $0x419,%ebx
40540e:	eb 03                	jmp    0x405413
405410:	8b 7d 14             	mov    0x14(%ebp),%edi
405413:	81 fb 19 04 00 00    	cmp    $0x419,%ebx
405419:	75 1b                	jne    0x405436
40541b:	39 3d 14 37 42 00    	cmp    %edi,0x423714
405421:	74 13                	je     0x405436
405423:	57                   	push   %edi
405424:	6a 06                	push   $0x6
405426:	89 3d 14 37 42 00    	mov    %edi,0x423714
40542c:	e8 69 f9 ff ff       	call   0x404d9a
405431:	eb 03                	jmp    0x405436
405433:	8b 7d 14             	mov    0x14(%ebp),%edi
405436:	57                   	push   %edi
405437:	ff 75 10             	push   0x10(%ebp)
40543a:	53                   	push   %ebx
40543b:	ff 75 08             	push   0x8(%ebp)
40543e:	ff 35 1c 37 42 00    	push   0x42371c
405444:	ff 15 c4 81 40 00    	call   *0x4081c4
40544a:	5f                   	pop    %edi
40544b:	5b                   	pop    %ebx
40544c:	5d                   	pop    %ebp
40544d:	c2 10 00             	ret    $0x10
405450:	55                   	push   %ebp
405451:	8b ec                	mov    %esp,%ebp
405453:	83 ec 30             	sub    $0x30,%esp
405456:	a1 24 92 42 00       	mov    0x429224,%eax
40545b:	53                   	push   %ebx
40545c:	56                   	push   %esi
40545d:	57                   	push   %edi
40545e:	33 ff                	xor    %edi,%edi
405460:	89 45 fc             	mov    %eax,-0x4(%ebp)
405463:	3b c7                	cmp    %edi,%eax
405465:	0f 84 b1 00 00 00    	je     0x40551c
40546b:	8b 1d 14 a3 42 00    	mov    0x42a314,%ebx
405471:	be 08 27 42 00       	mov    $0x422708,%esi
405476:	89 5d f8             	mov    %ebx,-0x8(%ebp)
405479:	83 e3 01             	and    $0x1,%ebx
40547c:	75 09                	jne    0x405487
40547e:	ff 75 08             	push   0x8(%ebp)
405481:	56                   	push   %esi
405482:	e8 83 0f 00 00       	call   0x40640a
405487:	56                   	push   %esi
405488:	e8 71 0f 00 00       	call   0x4063fe
40548d:	39 7d 0c             	cmp    %edi,0xc(%ebp)
405490:	89 45 08             	mov    %eax,0x8(%ebp)
405493:	74 1b                	je     0x4054b0
405495:	ff 75 0c             	push   0xc(%ebp)
405498:	e8 61 0f 00 00       	call   0x4063fe
40549d:	03 45 08             	add    0x8(%ebp),%eax
4054a0:	3d 00 10 00 00       	cmp    $0x1000,%eax
4054a5:	73 75                	jae    0x40551c
4054a7:	ff 75 0c             	push   0xc(%ebp)
4054aa:	56                   	push   %esi
4054ab:	e8 54 0f 00 00       	call   0x406404
4054b0:	f6 45 f8 04          	testb  $0x4,-0x8(%ebp)
4054b4:	75 0d                	jne    0x4054c3
4054b6:	56                   	push   %esi
4054b7:	ff 35 08 92 42 00    	push   0x429208
4054bd:	ff 15 5c 82 40 00    	call   *0x40825c
4054c3:	f6 45 f8 02          	testb  $0x2,-0x8(%ebp)
4054c7:	75 44                	jne    0x40550d
4054c9:	57                   	push   %edi
4054ca:	57                   	push   %edi
4054cb:	68 04 10 00 00       	push   $0x1004
4054d0:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4054d3:	ff 75 fc             	push   -0x4(%ebp)
4054d6:	8b 35 18 82 40 00    	mov    0x408218,%esi
4054dc:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
4054e3:	ff d6                	call   *%esi
4054e5:	2b c3                	sub    %ebx,%eax
4054e7:	89 7d d8             	mov    %edi,-0x28(%ebp)
4054ea:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4054ed:	8d 45 d0             	lea    -0x30(%ebp),%eax
4054f0:	50                   	push   %eax
4054f1:	b8 4d 10 00 00       	mov    $0x104d,%eax
4054f6:	2b c3                	sub    %ebx,%eax
4054f8:	57                   	push   %edi
4054f9:	50                   	push   %eax
4054fa:	ff 75 fc             	push   -0x4(%ebp)
4054fd:	ff d6                	call   *%esi
4054ff:	57                   	push   %edi
405500:	ff 75 d4             	push   -0x2c(%ebp)
405503:	68 13 10 00 00       	push   $0x1013
405508:	ff 75 fc             	push   -0x4(%ebp)
40550b:	ff d6                	call   *%esi
40550d:	3b df                	cmp    %edi,%ebx
40550f:	74 0b                	je     0x40551c
405511:	8b 45 08             	mov    0x8(%ebp),%eax
405514:	66 89 3c 45 08 27 42 	mov    %di,0x422708(,%eax,2)
40551b:	00
40551c:	5f                   	pop    %edi
40551d:	5e                   	pop    %esi
40551e:	5b                   	pop    %ebx
40551f:	c9                   	leave
405520:	c2 08 00             	ret    $0x8
405523:	56                   	push   %esi
405524:	8b 35 88 a2 42 00    	mov    0x42a288,%esi
40552a:	57                   	push   %edi
40552b:	8b 3d 8c a2 42 00    	mov    0x42a28c,%edi
405531:	6a 00                	push   $0x0
405533:	ff 15 a0 82 40 00    	call   *0x4082a0
405539:	09 05 18 a3 42 00    	or     %eax,0x42a318
40553f:	6a 00                	push   $0x0
405541:	e8 65 ee ff ff       	call   0x4043ab
405546:	85 ff                	test   %edi,%edi
405548:	74 2b                	je     0x405575
40554a:	83 c6 0c             	add    $0xc,%esi
40554d:	4f                   	dec    %edi
40554e:	f6 46 fc 01          	testb  $0x1,-0x4(%esi)
405552:	74 0f                	je     0x405563
405554:	ff 74 24 0c          	push   0xc(%esp)
405558:	ff 36                	push   (%esi)
40555a:	e8 2a be ff ff       	call   0x401389
40555f:	85 c0                	test   %eax,%eax
405561:	75 0c                	jne    0x40556f
405563:	81 c6 18 08 00 00    	add    $0x818,%esi
405569:	85 ff                	test   %edi,%edi
40556b:	75 e0                	jne    0x40554d
40556d:	eb 06                	jmp    0x405575
40556f:	ff 05 ec a2 42 00    	incl   0x42a2ec
405575:	68 04 04 00 00       	push   $0x404
40557a:	e8 2c ee ff ff       	call   0x4043ab
40557f:	ff 15 9c 82 40 00    	call   *0x40829c
405585:	a1 ec a2 42 00       	mov    0x42a2ec,%eax
40558a:	5f                   	pop    %edi
40558b:	5e                   	pop    %esi
40558c:	c2 04 00             	ret    $0x4
40558f:	55                   	push   %ebp
405590:	8b ec                	mov    %esp,%ebp
405592:	83 ec 40             	sub    $0x40,%esp
405595:	53                   	push   %ebx
405596:	56                   	push   %esi
405597:	8b 35 24 92 42 00    	mov    0x429224,%esi
40559d:	33 db                	xor    %ebx,%ebx
40559f:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
4055a6:	57                   	push   %edi
4055a7:	89 75 fc             	mov    %esi,-0x4(%ebp)
4055aa:	0f 85 89 01 00 00    	jne    0x405739
4055b0:	83 4d d0 ff          	orl    $0xffffffff,-0x30(%ebp)
4055b4:	83 4d dc ff          	orl    $0xffffffff,-0x24(%ebp)
4055b8:	6a 02                	push   $0x2
4055ba:	33 c0                	xor    %eax,%eax
4055bc:	5e                   	pop    %esi
4055bd:	8d 7d e0             	lea    -0x20(%ebp),%edi
4055c0:	89 75 c8             	mov    %esi,-0x38(%ebp)
4055c3:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4055c6:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
4055c9:	89 5d d8             	mov    %ebx,-0x28(%ebp)
4055cc:	ab                   	stos   %eax,%es:(%edi)
4055cd:	ab                   	stos   %eax,%es:(%edi)
4055ce:	a1 54 a2 42 00       	mov    0x42a254,%eax
4055d3:	8b 3d e4 81 40 00    	mov    0x4081e4,%edi
4055d9:	68 03 04 00 00       	push   $0x403
4055de:	8b 48 5c             	mov    0x5c(%eax),%ecx
4055e1:	8b 40 60             	mov    0x60(%eax),%eax
4055e4:	ff 75 08             	push   0x8(%ebp)
4055e7:	89 4d 0c             	mov    %ecx,0xc(%ebp)
4055ea:	89 45 10             	mov    %eax,0x10(%ebp)
4055ed:	ff d7                	call   *%edi
4055ef:	68 ee 03 00 00       	push   $0x3ee
4055f4:	a3 10 92 42 00       	mov    %eax,0x429210
4055f9:	ff 75 08             	push   0x8(%ebp)
4055fc:	ff d7                	call   *%edi
4055fe:	68 f8 03 00 00       	push   $0x3f8
405603:	a3 08 92 42 00       	mov    %eax,0x429208
405608:	ff 75 08             	push   0x8(%ebp)
40560b:	ff d7                	call   *%edi
40560d:	ff 35 10 92 42 00    	push   0x429210
405613:	a3 24 92 42 00       	mov    %eax,0x429224
405618:	89 45 fc             	mov    %eax,-0x4(%ebp)
40561b:	e8 74 ed ff ff       	call   0x404394
405620:	6a 04                	push   $0x4
405622:	e8 c6 f6 ff ff       	call   0x404ced
405627:	a3 14 92 42 00       	mov    %eax,0x429214
40562c:	8d 45 e8             	lea    -0x18(%ebp),%eax
40562f:	50                   	push   %eax
405630:	89 1d 2c 92 42 00    	mov    %ebx,0x42922c
405636:	ff 75 fc             	push   -0x4(%ebp)
405639:	ff 15 24 82 40 00    	call   *0x408224
40563f:	56                   	push   %esi
405640:	ff 15 e8 81 40 00    	call   *0x4081e8
405646:	8b 4d f0             	mov    -0x10(%ebp),%ecx
405649:	8b 35 18 82 40 00    	mov    0x408218,%esi
40564f:	2b c8                	sub    %eax,%ecx
405651:	8d 45 c8             	lea    -0x38(%ebp),%eax
405654:	50                   	push   %eax
405655:	53                   	push   %ebx
405656:	68 61 10 00 00       	push   $0x1061
40565b:	89 4d d0             	mov    %ecx,-0x30(%ebp)
40565e:	ff 75 fc             	push   -0x4(%ebp)
405661:	ff d6                	call   *%esi
405663:	b8 00 40 00 00       	mov    $0x4000,%eax
405668:	50                   	push   %eax
405669:	50                   	push   %eax
40566a:	68 36 10 00 00       	push   $0x1036
40566f:	ff 75 fc             	push   -0x4(%ebp)
405672:	ff d6                	call   *%esi
405674:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
405677:	7c 1c                	jl     0x405695
405679:	ff 75 0c             	push   0xc(%ebp)
40567c:	53                   	push   %ebx
40567d:	68 01 10 00 00       	push   $0x1001
405682:	ff 75 fc             	push   -0x4(%ebp)
405685:	ff d6                	call   *%esi
405687:	ff 75 0c             	push   0xc(%ebp)
40568a:	53                   	push   %ebx
40568b:	68 26 10 00 00       	push   $0x1026
405690:	ff 75 fc             	push   -0x4(%ebp)
405693:	ff d6                	call   *%esi
405695:	39 5d 10             	cmp    %ebx,0x10(%ebp)
405698:	7c 0e                	jl     0x4056a8
40569a:	ff 75 10             	push   0x10(%ebp)
40569d:	53                   	push   %ebx
40569e:	68 24 10 00 00       	push   $0x1024
4056a3:	ff 75 fc             	push   -0x4(%ebp)
4056a6:	ff d6                	call   *%esi
4056a8:	8b 45 14             	mov    0x14(%ebp),%eax
4056ab:	ff 70 30             	push   0x30(%eax)
4056ae:	6a 1b                	push   $0x1b
4056b0:	ff 75 08             	push   0x8(%ebp)
4056b3:	e8 a7 ec ff ff       	call   0x40435f
4056b8:	f6 05 5c a2 42 00 03 	testb  $0x3,0x42a25c
4056bf:	74 34                	je     0x4056f5
4056c1:	53                   	push   %ebx
4056c2:	ff 35 10 92 42 00    	push   0x429210
4056c8:	ff 15 68 82 40 00    	call   *0x408268
4056ce:	f6 05 5c a2 42 00 02 	testb  $0x2,0x42a25c
4056d5:	75 0d                	jne    0x4056e4
4056d7:	6a 08                	push   $0x8
4056d9:	ff 75 fc             	push   -0x4(%ebp)
4056dc:	ff 15 68 82 40 00    	call   *0x408268
4056e2:	eb 06                	jmp    0x4056ea
4056e4:	89 1d 10 92 42 00    	mov    %ebx,0x429210
4056ea:	ff 35 08 92 42 00    	push   0x429208
4056f0:	e8 9f ec ff ff       	call   0x404394
4056f5:	68 ec 03 00 00       	push   $0x3ec
4056fa:	ff 75 08             	push   0x8(%ebp)
4056fd:	ff d7                	call   *%edi
4056ff:	68 00 00 30 75       	push   $0x75300000
405704:	8b f8                	mov    %eax,%edi
405706:	53                   	push   %ebx
405707:	68 01 04 00 00       	push   $0x401
40570c:	57                   	push   %edi
40570d:	ff d6                	call   *%esi
40570f:	f6 05 5c a2 42 00 04 	testb  $0x4,0x42a25c
405716:	0f 84 fc 01 00 00    	je     0x405918
40571c:	ff 75 10             	push   0x10(%ebp)
40571f:	53                   	push   %ebx
405720:	68 09 04 00 00       	push   $0x409
405725:	57                   	push   %edi
405726:	ff d6                	call   *%esi
405728:	ff 75 0c             	push   0xc(%ebp)
40572b:	53                   	push   %ebx
40572c:	68 01 20 00 00       	push   $0x2001
405731:	57                   	push   %edi
405732:	ff d6                	call   *%esi
405734:	e9 df 01 00 00       	jmp    0x405918
405739:	81 7d 0c 05 04 00 00 	cmpl   $0x405,0xc(%ebp)
405740:	75 28                	jne    0x40576a
405742:	8d 45 f8             	lea    -0x8(%ebp),%eax
405745:	50                   	push   %eax
405746:	53                   	push   %ebx
405747:	68 ec 03 00 00       	push   $0x3ec
40574c:	ff 75 08             	push   0x8(%ebp)
40574f:	ff 15 e4 81 40 00    	call   *0x4081e4
405755:	50                   	push   %eax
405756:	68 23 55 40 00       	push   $0x405523
40575b:	53                   	push   %ebx
40575c:	53                   	push   %ebx
40575d:	ff 15 c4 80 40 00    	call   *0x4080c4
405763:	50                   	push   %eax
405764:	ff 15 20 81 40 00    	call   *0x408120
40576a:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
405771:	8b 3d 68 82 40 00    	mov    0x408268,%edi
405777:	75 1c                	jne    0x405795
405779:	66 81 7d 10 03 04    	cmpw   $0x403,0x10(%ebp)
40577f:	75 39                	jne    0x4057ba
405781:	53                   	push   %ebx
405782:	ff 35 10 92 42 00    	push   0x429210
405788:	ff d7                	call   *%edi
40578a:	6a 08                	push   $0x8
40578c:	56                   	push   %esi