40658a:	6a 01                	push   $0x1
40658c:	e8 1f ff ff ff       	call   0x4064b0
406591:	c9                   	leave
406592:	c3                   	ret
406593:	56                   	push   %esi
406594:	ff 74 24 0c          	push   0xc(%esp)
406598:	8b f1                	mov    %ecx,%esi
40659a:	ff 74 24 0c          	push   0xc(%esp)
40659e:	6a 08                	push   $0x8
4065a0:	e8 34 ff ff ff       	call   0x4064d9
4065a5:	6a 06                	push   $0x6
4065a7:	8b ce                	mov    %esi,%ecx
4065a9:	e8 5c fe ff ff       	call   0x40640a
4065ae:	5e                   	pop    %esi
4065af:	c2 08 00             	ret    $0x8
4065b2:	56                   	push   %esi
4065b3:	ff 74 24 0c          	push   0xc(%esp)
4065b7:	8b f1                	mov    %ecx,%esi
4065b9:	ff 74 24 0c          	push   0xc(%esp)
4065bd:	6a 09                	push   $0x9
4065bf:	e8 15 ff ff ff       	call   0x4064d9
4065c4:	6a 09                	push   $0x9
4065c6:	8b ce                	mov    %esi,%ecx
4065c8:	e8 3d fe ff ff       	call   0x40640a
4065cd:	5e                   	pop    %esi
4065ce:	c2 08 00             	ret    $0x8
4065d1:	56                   	push   %esi
4065d2:	ff 74 24 0c          	push   0xc(%esp)
4065d6:	8b f1                	mov    %ecx,%esi
4065d8:	ff 74 24 0c          	push   0xc(%esp)
4065dc:	6a 0c                	push   $0xc
4065de:	e8 f6 fe ff ff       	call   0x4064d9
4065e3:	6a 02                	push   $0x2
4065e5:	8b ce                	mov    %esi,%ecx
4065e7:	e8 1e fe ff ff       	call   0x40640a
4065ec:	5e                   	pop    %esi
4065ed:	c2 08 00             	ret    $0x8
4065f0:	56                   	push   %esi
4065f1:	ff 74 24 0c          	push   0xc(%esp)
4065f5:	8b f1                	mov    %ecx,%esi
4065f7:	ff 74 24 0c          	push   0xc(%esp)
4065fb:	6a 0d                	push   $0xd
4065fd:	e8 d7 fe ff ff       	call   0x4064d9
406602:	6a 05                	push   $0x5
406604:	8b ce                	mov    %esi,%ecx
406606:	e8 ff fd ff ff       	call   0x40640a
40660b:	5e                   	pop    %esi
40660c:	c2 08 00             	ret    $0x8
40660f:	ff 74 24 08          	push   0x8(%esp)
406613:	ff 74 24 08          	push   0x8(%esp)
406617:	6a 1f                	push   $0x1f
406619:	e8 bb fe ff ff       	call   0x4064d9
40661e:	6a 02                	push   $0x2
406620:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
406625:	e8 e0 fd ff ff       	call   0x40640a
40662a:	c2 08 00             	ret    $0x8
40662d:	56                   	push   %esi
40662e:	ff 74 24 0c          	push   0xc(%esp)
406632:	8b f1                	mov    %ecx,%esi
406634:	ff 74 24 0c          	push   0xc(%esp)
406638:	e8 b3 ff ff ff       	call   0x4065f0
40663d:	6a 05                	push   $0x5
40663f:	8b ce                	mov    %esi,%ecx
406641:	e8 07 fe ff ff       	call   0x40644d
406646:	5e                   	pop    %esi
406647:	c2 08 00             	ret    $0x8
40664a:	ff 74 24 04          	push   0x4(%esp)
40664e:	6a 00                	push   $0x0
406650:	e8 3e ff ff ff       	call   0x406593
406655:	c2 04 00             	ret    $0x4
406658:	ff 74 24 04          	push   0x4(%esp)
40665c:	6a 00                	push   $0x0
40665e:	e8 4f ff ff ff       	call   0x4065b2
406663:	c2 04 00             	ret    $0x4
406666:	ff 74 24 04          	push   0x4(%esp)
40666a:	6a 00                	push   $0x0
40666c:	e8 60 ff ff ff       	call   0x4065d1
406671:	c2 04 00             	ret    $0x4
406674:	56                   	push   %esi
406675:	ff 74 24 08          	push   0x8(%esp)
406679:	8b f1                	mov    %ecx,%esi
40667b:	e8 e6 ff ff ff       	call   0x406666
406680:	6a 02                	push   $0x2
406682:	8b ce                	mov    %esi,%ecx
406684:	e8 c4 fd ff ff       	call   0x40644d
406689:	5e                   	pop    %esi
40668a:	c2 04 00             	ret    $0x4
40668d:	55                   	push   %ebp
40668e:	8b ec                	mov    %esp,%ebp
406690:	83 ec 14             	sub    $0x14,%esp
406693:	53                   	push   %ebx
406694:	8d 45 fc             	lea    -0x4(%ebp),%eax
406697:	50                   	push   %eax
406698:	6a 20                	push   $0x20
40669a:	33 db                	xor    %ebx,%ebx
40669c:	ff 15 18 a2 42 00    	call   *0x42a218
4066a2:	50                   	push   %eax
4066a3:	ff 15 18 a0 42 00    	call   *0x42a018
4066a9:	85 c0                	test   %eax,%eax
4066ab:	74 4a                	je     0x4066f7
4066ad:	8d 45 f0             	lea    -0x10(%ebp),%eax
4066b0:	50                   	push   %eax
4066b1:	ff 75 08             	push   0x8(%ebp)
4066b4:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
4066bb:	53                   	push   %ebx
4066bc:	c7 45 f8 02 00 00 00 	movl   $0x2,-0x8(%ebp)
4066c3:	ff 15 1c a0 42 00    	call   *0x42a01c
4066c9:	85 c0                	test   %eax,%eax
4066cb:	74 21                	je     0x4066ee
4066cd:	53                   	push   %ebx
4066ce:	53                   	push   %ebx
4066cf:	53                   	push   %ebx
4066d0:	8d 45 ec             	lea    -0x14(%ebp),%eax
4066d3:	50                   	push   %eax
4066d4:	53                   	push   %ebx
4066d5:	ff 75 fc             	push   -0x4(%ebp)
4066d8:	ff 15 20 a0 42 00    	call   *0x42a020
4066de:	85 c0                	test   %eax,%eax
4066e0:	74 0c                	je     0x4066ee
4066e2:	ff 15 24 a2 42 00    	call   *0x42a224
4066e8:	85 c0                	test   %eax,%eax
4066ea:	75 02                	jne    0x4066ee
4066ec:	b3 01                	mov    $0x1,%bl
4066ee:	ff 75 fc             	push   -0x4(%ebp)
4066f1:	ff 15 1c a2 42 00    	call   *0x42a21c
4066f7:	8a c3                	mov    %bl,%al
4066f9:	5b                   	pop    %ebx
4066fa:	c9                   	leave
4066fb:	c2 04 00             	ret    $0x4
4066fe:	55                   	push   %ebp
4066ff:	8b ec                	mov    %esp,%ebp
406701:	b8 00 20 00 00       	mov    $0x2000,%eax
406706:	e8 c5 3d 01 00       	call   0x41a4d0
40670b:	8b 45 08             	mov    0x8(%ebp),%eax
40670e:	83 b8 30 a2 00 00 02 	cmpl   $0x2,0xa230(%eax)
406715:	8b 90 28 8b 00 00    	mov    0x8b28(%eax),%edx
40671b:	8b 88 2c 8b 00 00    	mov    0x8b2c(%eax),%ecx
406721:	56                   	push   %esi
406722:	75 23                	jne    0x406747
406724:	8b 45 10             	mov    0x10(%ebp),%eax
406727:	d1 e9                	shr    $1,%ecx
406729:	48                   	dec    %eax
40672a:	8b f1                	mov    %ecx,%esi
40672c:	3b c8                	cmp    %eax,%ecx
40672e:	72 02                	jb     0x406732
406730:	8b f0                	mov    %eax,%esi
406732:	57                   	push   %edi
406733:	8b 7d 0c             	mov    0xc(%ebp),%edi
406736:	56                   	push   %esi
406737:	57                   	push   %edi
406738:	52                   	push   %edx
406739:	e8 a1 b0 00 00       	call   0x4117df
40673e:	33 c0                	xor    %eax,%eax
406740:	66 89 04 77          	mov    %ax,(%edi,%esi,2)
406744:	5f                   	pop    %edi
406745:	eb 38                	jmp    0x40677f
406747:	b8 ff 1f 00 00       	mov    $0x1fff,%eax
40674c:	8b f1                	mov    %ecx,%esi
40674e:	3b c8                	cmp    %eax,%ecx
406750:	72 02                	jb     0x406754
406752:	8b f0                	mov    %eax,%esi
406754:	56                   	push   %esi
406755:	52                   	push   %edx
406756:	8d 85 00 e0 ff ff    	lea    -0x2000(%ebp),%eax
40675c:	50                   	push   %eax
40675d:	e8 0e 55 01 00       	call   0x41bc70
406762:	83 c4 0c             	add    $0xc,%esp
406765:	ff 75 10             	push   0x10(%ebp)
406768:	8d 85 00 e0 ff ff    	lea    -0x2000(%ebp),%eax
40676e:	ff 75 0c             	push   0xc(%ebp)
406771:	c6 84 35 00 e0 ff ff 	movb   $0x0,-0x2000(%ebp,%esi,1)
406778:	00
406779:	50                   	push   %eax
40677a:	e8 8a b1 00 00       	call   0x411909
40677f:	5e                   	pop    %esi
406780:	c9                   	leave
406781:	c2 0c 00             	ret    $0xc
406784:	55                   	push   %ebp
406785:	8b ec                	mov    %esp,%ebp
406787:	56                   	push   %esi
406788:	8b 75 0c             	mov    0xc(%ebp),%esi
40678b:	56                   	push   %esi
40678c:	e8 a6 2a 00 00       	call   0x409237
406791:	84 c0                	test   %al,%al
406793:	74 4c                	je     0x4067e1
406795:	53                   	push   %ebx
406796:	6a 01                	push   $0x1
406798:	ff 75 08             	push   0x8(%ebp)
40679b:	e8 3c 2b 00 00       	call   0x4092dc
4067a0:	ff 75 10             	push   0x10(%ebp)
4067a3:	56                   	push   %esi
4067a4:	56                   	push   %esi
4067a5:	e8 00 3a 00 00       	call   0x40a1aa
4067aa:	6a 00                	push   $0x0
4067ac:	56                   	push   %esi
4067ad:	ff 75 08             	push   0x8(%ebp)
4067b0:	ff 15 14 a2 42 00    	call   *0x42a214
4067b6:	85 c0                	test   %eax,%eax
4067b8:	0f 95 c3             	setne  %bl
4067bb:	84 db                	test   %bl,%bl
4067bd:	75 1f                	jne    0x4067de
4067bf:	ff 75 08             	push   0x8(%ebp)
4067c2:	6a 15                	push   $0x15
4067c4:	e8 e7 fc ff ff       	call   0x4064b0
4067c9:	be 74 2a 43 00       	mov    $0x432a74,%esi
4067ce:	8b ce                	mov    %esi,%ecx
4067d0:	e8 2b a8 ff ff       	call   0x401000
4067d5:	6a 09                	push   $0x9
4067d7:	8b ce                	mov    %esi,%ecx
4067d9:	e8 2c fc ff ff       	call   0x40640a
4067de:	8a c3                	mov    %bl,%al
4067e0:	5b                   	pop    %ebx
4067e1:	5e                   	pop    %esi
4067e2:	5d                   	pop    %ebp
4067e3:	c2 0c 00             	ret    $0xc
4067e6:	8b c1                	mov    %ecx,%eax
4067e8:	33 c9                	xor    %ecx,%ecx
4067ea:	89 88 10 10 00 00    	mov    %ecx,0x1010(%eax)
4067f0:	89 88 14 10 00 00    	mov    %ecx,0x1014(%eax)
4067f6:	89 88 18 10 00 00    	mov    %ecx,0x1018(%eax)
4067fc:	89 88 1c 10 00 00    	mov    %ecx,0x101c(%eax)
406802:	89 88 20 10 00 00    	mov    %ecx,0x1020(%eax)
406808:	89 88 24 10 00 00    	mov    %ecx,0x1024(%eax)
40680e:	c3                   	ret
40680f:	b8 19 91 42 00       	mov    $0x429119,%eax
406814:	e8 9f 36 01 00       	call   0x419eb8
406819:	b8 10 10 00 00       	mov    $0x1010,%eax
40681e:	e8 ad 3c 01 00       	call   0x41a4d0
406823:	56                   	push   %esi
406824:	33 f6                	xor    %esi,%esi
406826:	89 75 e4             	mov    %esi,-0x1c(%ebp)
406829:	89 75 e8             	mov    %esi,-0x18(%ebp)
40682c:	89 75 ec             	mov    %esi,-0x14(%ebp)
40682f:	89 75 f0             	mov    %esi,-0x10(%ebp)
406832:	8b 4d 08             	mov    0x8(%ebp),%ecx
406835:	56                   	push   %esi
406836:	8d 45 e4             	lea    -0x1c(%ebp),%eax
406839:	50                   	push   %eax
40683a:	89 75 fc             	mov    %esi,-0x4(%ebp)
40683d:	e8 b2 c3 ff ff       	call   0x402bf4
406842:	84 c0                	test   %al,%al
406844:	75 08                	jne    0x40684e
406846:	39 75 e4             	cmp    %esi,-0x1c(%ebp)
406849:	e9 a7 00 00 00       	jmp    0x4068f5
40684e:	80 3d 69 2a 43 00 00 	cmpb   $0x0,0x432a69
406855:	75 26                	jne    0x40687d
406857:	68 68 a5 42 00       	push   $0x42a568
40685c:	e8 2c fe ff ff       	call   0x40668d
406861:	84 c0                	test   %al,%al
406863:	74 07                	je     0x40686c
406865:	c6 05 68 2a 43 00 01 	movb   $0x1,0x432a68
40686c:	68 40 a5 42 00       	push   $0x42a540
406871:	e8 17 fe ff ff       	call   0x40668d
406876:	c6 05 69 2a 43 00 01 	movb   $0x1,0x432a69
40687d:	80 3d 68 2a 43 00 00 	cmpb   $0x0,0x432a68
406884:	53                   	push   %ebx
406885:	57                   	push   %edi
406886:	6a 07                	push   $0x7
406888:	5f                   	pop    %edi
406889:	74 03                	je     0x40688e
40688b:	6a 0f                	push   $0xf
40688d:	5f                   	pop    %edi
40688e:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
406891:	8b 35 14 a0 42 00    	mov    0x42a014,%esi
406897:	53                   	push   %ebx
406898:	57                   	push   %edi
406899:	ff 75 0c             	push   0xc(%ebp)
40689c:	ff d6                	call   *%esi
40689e:	85 c0                	test   %eax,%eax
4068a0:	75 4d                	jne    0x4068ef
4068a2:	68 00 08 00 00       	push   $0x800
4068a7:	8d 85 e4 ef ff ff    	lea    -0x101c(%ebp),%eax
4068ad:	50                   	push   %eax
4068ae:	ff 75 0c             	push   0xc(%ebp)
4068b1:	e8 a4 3e 00 00       	call   0x40a75a
4068b6:	84 c0                	test   %al,%al
4068b8:	74 0f                	je     0x4068c9
4068ba:	53                   	push   %ebx
4068bb:	57                   	push   %edi
4068bc:	8d 85 e4 ef ff ff    	lea    -0x101c(%ebp),%eax
4068c2:	50                   	push   %eax
4068c3:	ff d6                	call   *%esi
4068c5:	85 c0                	test   %eax,%eax
4068c7:	75 26                	jne    0x4068ef
4068c9:	ff 75 0c             	push   0xc(%ebp)
4068cc:	8b 45 08             	mov    0x8(%ebp),%eax
4068cf:	83 c0 1e             	add    $0x1e,%eax
4068d2:	50                   	push   %eax
4068d3:	6a 4f                	push   $0x4f
4068d5:	e8 ff fb ff ff       	call   0x4064d9
4068da:	be 74 2a 43 00       	mov    $0x432a74,%esi
4068df:	8b ce                	mov    %esi,%ecx
4068e1:	e8 1a a7 ff ff       	call   0x401000
4068e6:	6a 01                	push   $0x1
4068e8:	8b ce                	mov    %esi,%ecx
4068ea:	e8 1b fb ff ff       	call   0x40640a
4068ef:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
4068f3:	5f                   	pop    %edi
4068f4:	5b                   	pop    %ebx
4068f5:	74 09                	je     0x406900
4068f7:	ff 75 e4             	push   -0x1c(%ebp)
4068fa:	e8 e3 35 01 00       	call   0x419ee2
4068ff:	59                   	pop    %ecx
406900:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406903:	5e                   	pop    %esi
406904:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40690b:	c9                   	leave
40690c:	c2 08 00             	ret    $0x8
40690f:	b8 83 92 42 00       	mov    $0x429283,%eax
406914:	e8 9f 35 01 00       	call   0x419eb8
406919:	b8 3c 30 00 00       	mov    $0x303c,%eax
40691e:	e8 ad 3b 01 00       	call   0x41a4d0
406923:	80 3d 6a 2a 43 00 00 	cmpb   $0x0,0x432a6a
40692a:	75 1b                	jne    0x406947
40692c:	68 40 a5 42 00       	push   $0x42a540
406931:	e8 57 fd ff ff       	call   0x40668d
406936:	68 a8 a5 42 00       	push   $0x42a5a8
40693b:	e8 4d fd ff ff       	call   0x40668d
406940:	c6 05 6a 2a 43 00 01 	movb   $0x1,0x432a6a
406947:	57                   	push   %edi
406948:	6a 01                	push   $0x1
40694a:	ff 75 0c             	push   0xc(%ebp)
40694d:	e8 8a 29 00 00       	call   0x4092dc
406952:	8b 7d 10             	mov    0x10(%ebp),%edi
406955:	80 bf e1 10 00 00 00 	cmpb   $0x0,0x10e1(%edi)
40695c:	0f 85 d0 00 00 00    	jne    0x406a32
406962:	80 bf f4 20 00 00 00 	cmpb   $0x0,0x20f4(%edi)
406969:	0f 85 c3 00 00 00    	jne    0x406a32
40696f:	33 c0                	xor    %eax,%eax
406971:	50                   	push   %eax
406972:	68 80 00 00 00       	push   $0x80
406977:	6a 01                	push   $0x1
406979:	50                   	push   %eax
40697a:	50                   	push   %eax
40697b:	68 00 00 00 40       	push   $0x40000000
406980:	ff 75 0c             	push   0xc(%ebp)
406983:	ff 15 00 a2 42 00    	call   *0x42a200
406989:	83 f8 ff             	cmp    $0xffffffff,%eax
40698c:	0f 84 b3 00 00 00    	je     0x406a45
406992:	50                   	push   %eax
406993:	ff 15 1c a2 42 00    	call   *0x42a21c
406999:	53                   	push   %ebx
40699a:	56                   	push   %esi
40699b:	68 18 14 00 00       	push   $0x1418
4069a0:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4069a3:	e8 28 a9 ff ff       	call   0x4012d0
4069a8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4069ac:	68 00 08 00 00       	push   $0x800
4069b1:	8d 87 f4 10 00 00    	lea    0x10f4(%edi),%eax
4069b7:	50                   	push   %eax