40641c:	51                   	push   %ecx
40641d:	56                   	push   %esi
40641e:	8d 45 f8             	lea    -0x8(%ebp),%eax
406421:	33 f6                	xor    %esi,%esi
406423:	21 75 fc             	and    %esi,-0x4(%ebp)
406426:	21 75 f8             	and    %esi,-0x8(%ebp)
406429:	50                   	push   %eax
40642a:	ff 15 80 b1 44 00    	call   *0x44b180
406430:	50                   	push   %eax
406431:	e8 85 a5 03 00       	call   0x4409bb
406436:	39 75 f8             	cmp    %esi,-0x8(%ebp)
406439:	74 39                	je     0x406474
40643b:	8d 45 fc             	lea    -0x4(%ebp),%eax
40643e:	50                   	push   %eax
40643f:	ff 75 08             	push   0x8(%ebp)
406442:	e8 a9 f7 ff ff       	call   0x405bf0
406447:	8b f0                	mov    %eax,%esi
406449:	85 f6                	test   %esi,%esi
40644b:	79 07                	jns    0x406454
40644d:	68 68 d9 44 00       	push   $0x44d968
406452:	eb 18                	jmp    0x40646c
406454:	6a 00                	push   $0x0
406456:	ff 75 fc             	push   -0x4(%ebp)
406459:	ff 75 0c             	push   0xc(%ebp)
40645c:	e8 93 9e 01 00       	call   0x4202f4
406461:	8b f0                	mov    %eax,%esi
406463:	85 f6                	test   %esi,%esi
406465:	79 0d                	jns    0x406474
406467:	68 fc ca 44 00       	push   $0x44cafc
40646c:	56                   	push   %esi
40646d:	e8 bd 9c 03 00       	call   0x44012f
406472:	59                   	pop    %ecx
406473:	59                   	pop    %ecx
406474:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
406478:	74 08                	je     0x406482
40647a:	ff 75 fc             	push   -0x4(%ebp)
40647d:	e8 6d f0 03 00       	call   0x4454ef
406482:	8b c6                	mov    %esi,%eax
406484:	5e                   	pop    %esi
406485:	8b e5                	mov    %ebp,%esp
406487:	5d                   	pop    %ebp
406488:	c2 08 00             	ret    $0x8
40648b:	55                   	push   %ebp
40648c:	8b ec                	mov    %esp,%ebp
40648e:	56                   	push   %esi
40648f:	6a 00                	push   $0x0
406491:	ff 75 08             	push   0x8(%ebp)
406494:	ff 75 0c             	push   0xc(%ebp)
406497:	e8 58 9e 01 00       	call   0x4202f4
40649c:	8b f0                	mov    %eax,%esi
40649e:	85 f6                	test   %esi,%esi
4064a0:	79 0d                	jns    0x4064af
4064a2:	68 fc ca 44 00       	push   $0x44cafc
4064a7:	56                   	push   %esi
4064a8:	e8 82 9c 03 00       	call   0x44012f
4064ad:	59                   	pop    %ecx
4064ae:	59                   	pop    %ecx
4064af:	8b c6                	mov    %esi,%eax
4064b1:	5e                   	pop    %esi
4064b2:	5d                   	pop    %ebp
4064b3:	c2 08 00             	ret    $0x8
4064b6:	55                   	push   %ebp
4064b7:	8b ec                	mov    %esp,%ebp
4064b9:	81 ec 0c 02 00 00    	sub    $0x20c,%esp
4064bf:	a1 08 a0 46 00       	mov    0x46a008,%eax
4064c4:	33 c5                	xor    %ebp,%eax
4064c6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4064c9:	56                   	push   %esi
4064ca:	57                   	push   %edi
4064cb:	8b 7d 0c             	mov    0xc(%ebp),%edi
4064ce:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
4064d4:	68 08 02 00 00       	push   $0x208
4064d9:	6a 00                	push   $0x0
4064db:	50                   	push   %eax
4064dc:	e8 8f 91 02 00       	call   0x42f670
4064e1:	83 c4 0c             	add    $0xc,%esp
4064e4:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
4064ea:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4064ee:	be 04 01 00 00       	mov    $0x104,%esi
4064f3:	56                   	push   %esi
4064f4:	50                   	push   %eax
4064f5:	74 4f                	je     0x406546
4064f7:	ff 15 cc b1 44 00    	call   *0x44b1cc
4064fd:	85 c0                	test   %eax,%eax
4064ff:	0f 85 80 00 00 00    	jne    0x406585
406505:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40650b:	33 c9                	xor    %ecx,%ecx
40650d:	83 f8 78             	cmp    $0x78,%eax
406510:	0f 45 c1             	cmovne %ecx,%eax
406513:	85 c0                	test   %eax,%eax
406515:	74 6e                	je     0x406585
406517:	0f b7 f0             	movzwl %ax,%esi
40651a:	81 ce 00 00 07 80    	or     $0x80070000,%esi
406520:	85 c0                	test   %eax,%eax
406522:	0f 4e f0             	cmovle %eax,%esi
406525:	b8 05 40 00 80       	mov    $0x80004005,%eax
40652a:	85 f6                	test   %esi,%esi
40652c:	0f 49 f0             	cmovns %eax,%esi
40652f:	56                   	push   %esi
406530:	68 77 07 00 00       	push   $0x777
406535:	68 bc cc 44 00       	push   $0x44ccbc
40653a:	e8 94 d2 ff ff       	call   0x4037d3
40653f:	68 20 d8 44 00       	push   $0x44d820
406544:	eb 7d                	jmp    0x4065c3
406546:	ff 15 3c b1 44 00    	call   *0x44b13c
40654c:	85 c0                	test   %eax,%eax
40654e:	75 35                	jne    0x406585
406550:	ff 15 e8 b0 44 00    	call   *0x44b0e8
406556:	0f b7 f0             	movzwl %ax,%esi
406559:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40655f:	85 c0                	test   %eax,%eax
406561:	0f 4e f0             	cmovle %eax,%esi
406564:	b8 05 40 00 80       	mov    $0x80004005,%eax
406569:	85 f6                	test   %esi,%esi
40656b:	0f 49 f0             	cmovns %eax,%esi
40656e:	56                   	push   %esi
40656f:	68 7e 07 00 00       	push   $0x77e
406574:	68 bc cc 44 00       	push   $0x44ccbc
406579:	e8 55 d2 ff ff       	call   0x4037d3
40657e:	68 44 d8 44 00       	push   $0x44d844
406583:	eb 3e                	jmp    0x4065c3
406585:	66 83 bd f4 fd ff ff 	cmpw   $0x0,-0x20c(%ebp)
40658c:	00
40658d:	74 1a                	je     0x4065a9
40658f:	56                   	push   %esi
406590:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
406596:	50                   	push   %eax
406597:	e8 f3 cd ff ff       	call   0x40338f
40659c:	8b f0                	mov    %eax,%esi
40659e:	85 f6                	test   %esi,%esi
4065a0:	79 07                	jns    0x4065a9
4065a2:	68 68 d8 44 00       	push   $0x44d868
4065a7:	eb 1a                	jmp    0x4065c3
4065a9:	6a 00                	push   $0x0
4065ab:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
4065b1:	50                   	push   %eax
4065b2:	57                   	push   %edi
4065b3:	e8 3c 9d 01 00       	call   0x4202f4
4065b8:	8b f0                	mov    %eax,%esi
4065ba:	85 f6                	test   %esi,%esi
4065bc:	79 0d                	jns    0x4065cb
4065be:	68 98 d8 44 00       	push   $0x44d898
4065c3:	56                   	push   %esi
4065c4:	e8 66 9b 03 00       	call   0x44012f
4065c9:	59                   	pop    %ecx
4065ca:	59                   	pop    %ecx
4065cb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4065ce:	8b c6                	mov    %esi,%eax
4065d0:	5f                   	pop    %edi
4065d1:	33 cd                	xor    %ebp,%ecx
4065d3:	5e                   	pop    %esi
4065d4:	e8 5d 78 02 00       	call   0x42de36
4065d9:	8b e5                	mov    %ebp,%esp
4065db:	5d                   	pop    %ebp
4065dc:	c2 08 00             	ret    $0x8
4065df:	55                   	push   %ebp
4065e0:	8b ec                	mov    %esp,%ebp
4065e2:	83 ec 3c             	sub    $0x3c,%esp
4065e5:	33 c0                	xor    %eax,%eax
4065e7:	57                   	push   %edi
4065e8:	6a 09                	push   $0x9
4065ea:	59                   	pop    %ecx
4065eb:	8d 7d c4             	lea    -0x3c(%ebp),%edi
4065ee:	f3 ab                	rep stos %eax,%es:(%edi)
4065f0:	6a 06                	push   $0x6
4065f2:	59                   	pop    %ecx
4065f3:	8d 7d e8             	lea    -0x18(%ebp),%edi
4065f6:	f3 ab                	rep stos %eax,%es:(%edi)
4065f8:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4065fb:	50                   	push   %eax
4065fc:	ff 15 c0 b1 44 00    	call   *0x44b1c0
406602:	83 7d 08 0e          	cmpl   $0xe,0x8(%ebp)
406606:	5f                   	pop    %edi
406607:	75 12                	jne    0x40661b
406609:	0f b7 45 c4          	movzwl -0x3c(%ebp),%eax
40660d:	99                   	cltd
40660e:	89 45 e8             	mov    %eax,-0x18(%ebp)
406611:	89 55 ec             	mov    %edx,-0x14(%ebp)
406614:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
40661b:	56                   	push   %esi
40661c:	ff 75 0c             	push   0xc(%ebp)
40661f:	8d 45 e8             	lea    -0x18(%ebp),%eax
406622:	50                   	push   %eax
406623:	e8 4b 99 01 00       	call   0x41ff73
406628:	8b f0                	mov    %eax,%esi
40662a:	85 f6                	test   %esi,%esi
40662c:	79 0d                	jns    0x40663b
40662e:	68 fc ca 44 00       	push   $0x44cafc
406633:	56                   	push   %esi
406634:	e8 f6 9a 03 00       	call   0x44012f
406639:	59                   	pop    %ecx
40663a:	59                   	pop    %ecx
40663b:	8b c6                	mov    %esi,%eax
40663d:	5e                   	pop    %esi
40663e:	8b e5                	mov    %ebp,%esp
406640:	5d                   	pop    %ebp
406641:	c2 08 00             	ret    $0x8
406644:	55                   	push   %ebp
406645:	8b ec                	mov    %esp,%ebp
406647:	81 ec 0c 02 00 00    	sub    $0x20c,%esp
40664d:	a1 08 a0 46 00       	mov    0x46a008,%eax
406652:	33 c5                	xor    %ebp,%eax
406654:	89 45 fc             	mov    %eax,-0x4(%ebp)
406657:	56                   	push   %esi
406658:	8b 75 0c             	mov    0xc(%ebp),%esi
40665b:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
406661:	68 08 02 00 00       	push   $0x208
406666:	6a 00                	push   $0x0
406668:	50                   	push   %eax
406669:	e8 02 90 02 00       	call   0x42f670
40666e:	83 c4 0c             	add    $0xc,%esp
406671:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
406677:	50                   	push   %eax
406678:	68 04 01 00 00       	push   $0x104
40667d:	ff 15 18 b1 44 00    	call   *0x44b118
406683:	85 c0                	test   %eax,%eax
406685:	75 35                	jne    0x4066bc
406687:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40668d:	0f b7 f0             	movzwl %ax,%esi
406690:	81 ce 00 00 07 80    	or     $0x80070000,%esi
406696:	85 c0                	test   %eax,%eax
406698:	0f 4e f0             	cmovle %eax,%esi
40669b:	b8 05 40 00 80       	mov    $0x80004005,%eax
4066a0:	85 f6                	test   %esi,%esi
4066a2:	0f 49 f0             	cmovns %eax,%esi
4066a5:	56                   	push   %esi
4066a6:	68 57 07 00 00       	push   $0x757
4066ab:	68 bc cc 44 00       	push   $0x44ccbc
4066b0:	e8 1e d1 ff ff       	call   0x4037d3
4066b5:	68 04 d8 44 00       	push   $0x44d804
4066ba:	eb 1a                	jmp    0x4066d6
4066bc:	6a 00                	push   $0x0
4066be:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
4066c4:	50                   	push   %eax
4066c5:	56                   	push   %esi
4066c6:	e8 29 9c 01 00       	call   0x4202f4
4066cb:	8b f0                	mov    %eax,%esi
4066cd:	85 f6                	test   %esi,%esi
4066cf:	79 0d                	jns    0x4066de
4066d1:	68 fc ca 44 00       	push   $0x44cafc
4066d6:	56                   	push   %esi
4066d7:	e8 53 9a 03 00       	call   0x44012f
4066dc:	59                   	pop    %ecx
4066dd:	59                   	pop    %ecx
4066de:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4066e1:	8b c6                	mov    %esi,%eax
4066e3:	33 cd                	xor    %ebp,%ecx
4066e5:	5e                   	pop    %esi
4066e6:	e8 4b 77 02 00       	call   0x42de36
4066eb:	8b e5                	mov    %ebp,%esp
4066ed:	5d                   	pop    %ebp
4066ee:	c2 08 00             	ret    $0x8
4066f1:	55                   	push   %ebp
4066f2:	8b ec                	mov    %esp,%ebp
4066f4:	56                   	push   %esi
4066f5:	6a 00                	push   $0x0
4066f7:	ff 75 08             	push   0x8(%ebp)
4066fa:	ff 75 0c             	push   0xc(%ebp)
4066fd:	e8 53 9d 01 00       	call   0x420455
406702:	8b f0                	mov    %eax,%esi
406704:	85 f6                	test   %esi,%esi
406706:	79 0d                	jns    0x406715
406708:	68 fc ca 44 00       	push   $0x44cafc
40670d:	56                   	push   %esi
40670e:	e8 1c 9a 03 00       	call   0x44012f
406713:	59                   	pop    %ecx
406714:	59                   	pop    %ecx
406715:	8b c6                	mov    %esi,%eax
406717:	5e                   	pop    %esi
406718:	5d                   	pop    %ebp
406719:	c2 08 00             	ret    $0x8
40671c:	55                   	push   %ebp
40671d:	8b ec                	mov    %esp,%ebp
40671f:	83 ec 18             	sub    $0x18,%esp
406722:	a1 08 a0 46 00       	mov    0x46a008,%eax
406727:	33 c5                	xor    %ebp,%eax
406729:	89 45 fc             	mov    %eax,-0x4(%ebp)
40672c:	53                   	push   %ebx
40672d:	8b 5d 0c             	mov    0xc(%ebp),%ebx
406730:	33 c0                	xor    %eax,%eax
406732:	56                   	push   %esi
406733:	57                   	push   %edi
406734:	8d 7d e8             	lea    -0x18(%ebp),%edi
406737:	ab                   	stos   %eax,%es:(%edi)
406738:	68 74 d7 44 00       	push   $0x44d774
40673d:	68 84 d7 44 00       	push   $0x44d784
406742:	ab                   	stos   %eax,%es:(%edi)
406743:	ab                   	stos   %eax,%es:(%edi)
406744:	ab                   	stos   %eax,%es:(%edi)
406745:	ab                   	stos   %eax,%es:(%edi)
406746:	ff 15 ec b0 44 00    	call   *0x44b0ec
40674c:	50                   	push   %eax
40674d:	ff 15 dc b0 44 00    	call   *0x44b0dc
406753:	85 c0                	test   %eax,%eax
406755:	75 35                	jne    0x40678c
406757:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40675d:	0f b7 f0             	movzwl %ax,%esi
406760:	81 ce 00 00 07 80    	or     $0x80070000,%esi
406766:	85 c0                	test   %eax,%eax
406768:	0f 4e f0             	cmovle %eax,%esi
40676b:	b8 05 40 00 80       	mov    $0x80004005,%eax
406770:	85 f6                	test   %esi,%esi
406772:	0f 49 f0             	cmovns %eax,%esi
406775:	56                   	push   %esi
406776:	68 25 07 00 00       	push   $0x725
40677b:	68 bc cc 44 00       	push   $0x44ccbc
406780:	e8 4e d0 ff ff       	call   0x4037d3
406785:	68 8c d7 44 00       	push   $0x44d78c
40678a:	eb 3c                	jmp    0x4067c8
40678c:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40678f:	c7 45 e8 14 00 00 00 	movl   $0x14,-0x18(%ebp)
406796:	51                   	push   %ecx
406797:	ff d0                	call   *%eax
406799:	8b f0                	mov    %eax,%esi
40679b:	85 f6                	test   %esi,%esi
40679d:	79 07                	jns    0x4067a6
40679f:	68 c4 d7 44 00       	push   $0x44d7c4
4067a4:	eb 22                	jmp    0x4067c8
4067a6:	0f b7 45 ec          	movzwl -0x14(%ebp),%eax
4067aa:	0f b7 4d f0          	movzwl -0x10(%ebp),%ecx
4067ae:	c1 e0 10             	shl    $0x10,%eax
4067b1:	0b c1                	or     %ecx,%eax
4067b3:	99                   	cltd
4067b4:	50                   	push   %eax
4067b5:	6a 00                	push   $0x0
4067b7:	53                   	push   %ebx
4067b8:	e8 98 9c 01 00       	call   0x420455
4067bd:	8b f0                	mov    %eax,%esi
4067bf:	85 f6                	test   %esi,%esi
4067c1:	79 0d                	jns    0x4067d0
4067c3:	68 fc ca 44 00       	push   $0x44cafc
4067c8:	56                   	push   %esi
4067c9:	e8 61 99 03 00       	call   0x44012f
4067ce:	59                   	pop    %ecx
4067cf:	59                   	pop    %ecx
4067d0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4067d3:	8b c6                	mov    %esi,%eax
4067d5:	5f                   	pop    %edi
4067d6:	5e                   	pop    %esi
4067d7:	33 cd                	xor    %ebp,%ecx
4067d9:	5b                   	pop    %ebx
4067da:	e8 57 76 02 00       	call   0x42de36
4067df:	8b e5                	mov    %ebp,%esp
4067e1:	5d                   	pop    %ebp
4067e2:	c2 08 00             	ret    $0x8
4067e5:	55                   	push   %ebp
4067e6:	8b ec                	mov    %esp,%ebp
4067e8:	81 ec 40 01 00 00    	sub    $0x140,%esp
4067ee:	a1 08 a0 46 00       	mov    0x46a008,%eax
4067f3:	33 c5                	xor    %ebp,%eax