404687:	c9                   	leave
404688:	c2 10 00             	ret    $0x10
40468b:	55                   	push   %ebp
40468c:	8b ec                	mov    %esp,%ebp
40468e:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
404692:	56                   	push   %esi
404693:	8b 35 44 72 40 00    	mov    0x407244,%esi
404699:	75 1c                	jne    0x4046b7
40469b:	ff 75 14             	push   0x14(%ebp)
40469e:	68 fb 03 00 00       	push   $0x3fb
4046a3:	e8 63 0d 00 00       	call   0x40540b
4046a8:	ff 75 14             	push   0x14(%ebp)
4046ab:	6a 01                	push   $0x1
4046ad:	68 66 04 00 00       	push   $0x466
4046b2:	ff 75 08             	push   0x8(%ebp)
4046b5:	ff d6                	call   *%esi
4046b7:	83 7d 0c 02          	cmpl   $0x2,0xc(%ebp)
4046bb:	75 2d                	jne    0x4046ea
4046bd:	ff 75 14             	push   0x14(%ebp)
4046c0:	ff 75 10             	push   0x10(%ebp)
4046c3:	ff 15 50 71 40 00    	call   *0x407150
4046c9:	85 c0                	test   %eax,%eax
4046cb:	74 0e                	je     0x4046db
4046cd:	6a 07                	push   $0x7
4046cf:	e8 37 cd ff ff       	call   0x40140b
4046d4:	85 c0                	test   %eax,%eax
4046d6:	75 03                	jne    0x4046db
4046d8:	40                   	inc    %eax
4046d9:	eb 02                	jmp    0x4046dd
4046db:	33 c0                	xor    %eax,%eax
4046dd:	50                   	push   %eax
4046de:	6a 00                	push   $0x0
4046e0:	68 65 04 00 00       	push   $0x465
4046e5:	ff 75 08             	push   0x8(%ebp)
4046e8:	ff d6                	call   *%esi
4046ea:	33 c0                	xor    %eax,%eax
4046ec:	5e                   	pop    %esi
4046ed:	5d                   	pop    %ebp
4046ee:	c2 10 00             	ret    $0x10
4046f1:	55                   	push   %ebp
4046f2:	8b ec                	mov    %esp,%ebp
4046f4:	83 ec 40             	sub    $0x40,%esp
4046f7:	53                   	push   %ebx
4046f8:	56                   	push   %esi
4046f9:	8b 75 10             	mov    0x10(%ebp),%esi
4046fc:	57                   	push   %edi
4046fd:	6a 14                	push   $0x14
4046ff:	81 fe 00 00 10 00    	cmp    $0x100000,%esi
404705:	5f                   	pop    %edi
404706:	6a dc                	push   $0xffffffdc
404708:	5b                   	pop    %ebx
404709:	73 06                	jae    0x404711
40470b:	6a 0a                	push   $0xa
40470d:	5f                   	pop    %edi
40470e:	6a dd                	push   $0xffffffdd
404710:	5b                   	pop    %ebx
404711:	81 fe 00 04 00 00    	cmp    $0x400,%esi
404717:	73 05                	jae    0x40471e
404719:	6a de                	push   $0xffffffde
40471b:	33 ff                	xor    %edi,%edi
40471d:	5b                   	pop    %ebx
40471e:	81 fe 33 33 ff ff    	cmp    $0xffff3333,%esi
404724:	73 0f                	jae    0x404735
404726:	33 c0                	xor    %eax,%eax
404728:	8b cf                	mov    %edi,%ecx
40472a:	40                   	inc    %eax
40472b:	6a 14                	push   $0x14
40472d:	d3 e0                	shl    %cl,%eax
40472f:	59                   	pop    %ecx
404730:	99                   	cltd
404731:	f7 f9                	idiv   %ecx
404733:	03 f0                	add    %eax,%esi
404735:	8d 45 e0             	lea    -0x20(%ebp),%eax
404738:	6a df                	push   $0xffffffdf
40473a:	50                   	push   %eax
40473b:	e8 48 14 00 00       	call   0x405b88
404740:	50                   	push   %eax
404741:	8d 45 c0             	lea    -0x40(%ebp),%eax
404744:	53                   	push   %ebx
404745:	50                   	push   %eax
404746:	e8 3d 14 00 00       	call   0x405b88
40474b:	50                   	push   %eax
40474c:	8b c6                	mov    %esi,%eax
40474e:	25 ff ff ff 00       	and    $0xffffff,%eax
404753:	8b cf                	mov    %edi,%ecx
404755:	6a 0a                	push   $0xa
404757:	33 d2                	xor    %edx,%edx
404759:	8d 04 80             	lea    (%eax,%eax,4),%eax
40475c:	03 c0                	add    %eax,%eax
40475e:	d3 e8                	shr    %cl,%eax
404760:	59                   	pop    %ecx
404761:	f7 f1                	div    %ecx
404763:	8b cf                	mov    %edi,%ecx
404765:	d3 ee                	shr    %cl,%esi
404767:	52                   	push   %edx
404768:	56                   	push   %esi
404769:	68 ec 91 40 00       	push   $0x4091ec
40476e:	be a0 04 42 00       	mov    $0x4204a0,%esi
404773:	ff 75 0c             	push   0xc(%ebp)
404776:	56                   	push   %esi
404777:	e8 0c 14 00 00       	call   0x405b88
40477c:	56                   	push   %esi
40477d:	8b f8                	mov    %eax,%edi
40477f:	e8 f8 13 00 00       	call   0x405b7c
404784:	03 f8                	add    %eax,%edi
404786:	57                   	push   %edi
404787:	ff 15 00 72 40 00    	call   *0x407200
40478d:	83 c4 18             	add    $0x18,%esp
404790:	56                   	push   %esi
404791:	ff 75 08             	push   0x8(%ebp)
404794:	ff 35 78 36 42 00    	push   0x423678
40479a:	e8 66 0c 00 00       	call   0x405405
40479f:	5f                   	pop    %edi
4047a0:	5e                   	pop    %esi
4047a1:	5b                   	pop    %ebx
4047a2:	c9                   	leave
4047a3:	c2 0c 00             	ret    $0xc
4047a6:	8b 15 cc 3e 42 00    	mov    0x423ecc,%edx
4047ac:	8b 0d c8 3e 42 00    	mov    0x423ec8,%ecx
4047b2:	33 c0                	xor    %eax,%eax
4047b4:	85 d2                	test   %edx,%edx
4047b6:	74 18                	je     0x4047d0
4047b8:	56                   	push   %esi
4047b9:	f6 41 08 01          	testb  $0x1,0x8(%ecx)
4047bd:	74 07                	je     0x4047c6
4047bf:	8b 74 24 08          	mov    0x8(%esp),%esi
4047c3:	03 04 b1             	add    (%ecx,%esi,4),%eax
4047c6:	81 c1 18 04 00 00    	add    $0x418,%ecx
4047cc:	4a                   	dec    %edx
4047cd:	75 ea                	jne    0x4047b9
4047cf:	5e                   	pop    %esi
4047d0:	c2 04 00             	ret    $0x4
4047d3:	55                   	push   %ebp
4047d4:	8b ec                	mov    %esp,%ebp
4047d6:	83 ec 38             	sub    $0x38,%esp
4047d9:	56                   	push   %esi
4047da:	8b 35 44 72 40 00    	mov    0x407244,%esi
4047e0:	57                   	push   %edi
4047e1:	8b 7d 08             	mov    0x8(%ebp),%edi
4047e4:	6a 00                	push   $0x0
4047e6:	6a 09                	push   $0x9
4047e8:	68 0a 11 00 00       	push   $0x110a
4047ed:	57                   	push   %edi
4047ee:	ff d6                	call   *%esi
4047f0:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4047f4:	74 3c                	je     0x404832
4047f6:	ff 15 a0 71 40 00    	call   *0x4071a0
4047fc:	0f bf c8             	movswl %ax,%ecx
4047ff:	c1 e8 10             	shr    $0x10,%eax
404802:	0f bf c0             	movswl %ax,%eax
404805:	89 45 f4             	mov    %eax,-0xc(%ebp)
404808:	8d 45 f0             	lea    -0x10(%ebp),%eax
40480b:	50                   	push   %eax
40480c:	57                   	push   %edi
40480d:	89 4d f0             	mov    %ecx,-0x10(%ebp)
404810:	ff 15 70 71 40 00    	call   *0x407170
404816:	8d 45 f0             	lea    -0x10(%ebp),%eax
404819:	50                   	push   %eax
40481a:	6a 00                	push   $0x0
40481c:	68 11 11 00 00       	push   $0x1111
404821:	57                   	push   %edi
404822:	ff d6                	call   *%esi
404824:	f6 45 f8 66          	testb  $0x66,-0x8(%ebp)
404828:	75 05                	jne    0x40482f
40482a:	83 c8 ff             	or     $0xffffffff,%eax
40482d:	eb 1e                	jmp    0x40484d
40482f:	8b 45 fc             	mov    -0x4(%ebp),%eax
404832:	89 45 cc             	mov    %eax,-0x34(%ebp)
404835:	8d 45 c8             	lea    -0x38(%ebp),%eax
404838:	50                   	push   %eax
404839:	6a 00                	push   $0x0
40483b:	68 0c 11 00 00       	push   $0x110c
404840:	57                   	push   %edi
404841:	c7 45 c8 04 00 00 00 	movl   $0x4,-0x38(%ebp)
404848:	ff d6                	call   *%esi
40484a:	8b 45 ec             	mov    -0x14(%ebp),%eax
40484d:	5f                   	pop    %edi
40484e:	5e                   	pop    %esi
40484f:	c9                   	leave
404850:	c2 08 00             	ret    $0x8
404853:	55                   	push   %ebp
404854:	8b ec                	mov    %esp,%ebp
404856:	83 ec 50             	sub    $0x50,%esp
404859:	53                   	push   %ebx
40485a:	56                   	push   %esi
40485b:	8b 35 2c 72 40 00    	mov    0x40722c,%esi
404861:	57                   	push   %edi
404862:	68 f9 03 00 00       	push   $0x3f9
404867:	ff 75 08             	push   0x8(%ebp)
40486a:	ff d6                	call   *%esi
40486c:	68 08 04 00 00       	push   $0x408
404871:	89 45 f8             	mov    %eax,-0x8(%ebp)
404874:	ff 75 08             	push   0x8(%ebp)
404877:	ff d6                	call   *%esi
404879:	8b 1d c8 3e 42 00    	mov    0x423ec8,%ebx
40487f:	8b 35 44 72 40 00    	mov    0x407244,%esi
404885:	89 45 fc             	mov    %eax,-0x4(%ebp)
404888:	a1 b0 3e 42 00       	mov    0x423eb0,%eax
40488d:	05 94 00 00 00       	add    $0x94,%eax
404892:	33 ff                	xor    %edi,%edi
404894:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
40489b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40489e:	89 45 f0             	mov    %eax,-0x10(%ebp)
4048a1:	0f 85 22 02 00 00    	jne    0x404ac9
4048a7:	8b 45 08             	mov    0x8(%ebp),%eax
4048aa:	6a 02                	push   $0x2
4048ac:	a3 00 3f 42 00       	mov    %eax,0x423f00
4048b1:	a1 cc 3e 42 00       	mov    0x423ecc,%eax
4048b6:	5b                   	pop    %ebx
4048b7:	89 7d e8             	mov    %edi,-0x18(%ebp)
4048ba:	c1 e0 02             	shl    $0x2,%eax
4048bd:	50                   	push   %eax
4048be:	6a 40                	push   $0x40
4048c0:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4048c3:	ff 15 00 71 40 00    	call   *0x407100
4048c9:	6a 6e                	push   $0x6e
4048cb:	a3 94 04 42 00       	mov    %eax,0x420494
4048d0:	ff 35 a0 3e 42 00    	push   0x423ea0
4048d6:	ff 15 a4 71 40 00    	call   *0x4071a4
4048dc:	83 0d 88 04 42 00 ff 	orl    $0xffffffff,0x420488
4048e3:	68 54 4e 40 00       	push   $0x404e54
4048e8:	6a fc                	push   $0xfffffffc
4048ea:	89 45 ec             	mov    %eax,-0x14(%ebp)
4048ed:	ff 75 fc             	push   -0x4(%ebp)
4048f0:	ff 15 30 72 40 00    	call   *0x407230
4048f6:	57                   	push   %edi
4048f7:	6a 06                	push   $0x6
4048f9:	6a 21                	push   $0x21
4048fb:	6a 10                	push   $0x10
4048fd:	6a 10                	push   $0x10
4048ff:	a3 90 04 42 00       	mov    %eax,0x420490
404904:	ff 15 34 70 40 00    	call   *0x407034
40490a:	68 ff 00 ff 00       	push   $0xff00ff
40490f:	a3 7c 04 42 00       	mov    %eax,0x42047c
404914:	ff 75 ec             	push   -0x14(%ebp)
404917:	50                   	push   %eax
404918:	ff 15 28 70 40 00    	call   *0x407028
40491e:	ff 35 7c 04 42 00    	push   0x42047c
404924:	53                   	push   %ebx
404925:	68 09 11 00 00       	push   $0x1109
40492a:	ff 75 fc             	push   -0x4(%ebp)
40492d:	ff d6                	call   *%esi
40492f:	57                   	push   %edi
404930:	57                   	push   %edi
404931:	68 1c 11 00 00       	push   $0x111c
404936:	ff 75 fc             	push   -0x4(%ebp)
404939:	ff d6                	call   *%esi
40493b:	83 f8 10             	cmp    $0x10,%eax
40493e:	7d 0d                	jge    0x40494d
404940:	57                   	push   %edi
404941:	6a 10                	push   $0x10
404943:	68 1b 11 00 00       	push   $0x111b
404948:	ff 75 fc             	push   -0x4(%ebp)
40494b:	ff d6                	call   *%esi
40494d:	ff 75 ec             	push   -0x14(%ebp)
404950:	ff 15 44 70 40 00    	call   *0x407044
404956:	33 db                	xor    %ebx,%ebx
404958:	8b 45 f0             	mov    -0x10(%ebp),%eax
40495b:	8b 04 98             	mov    (%eax,%ebx,4),%eax
40495e:	3b c7                	cmp    %edi,%eax
404960:	74 27                	je     0x404989
404962:	83 fb 20             	cmp    $0x20,%ebx
404965:	74 03                	je     0x40496a
404967:	89 7d f4             	mov    %edi,-0xc(%ebp)
40496a:	50                   	push   %eax
40496b:	57                   	push   %edi
40496c:	e8 17 12 00 00       	call   0x405b88
404971:	50                   	push   %eax
404972:	57                   	push   %edi
404973:	68 43 01 00 00       	push   $0x143
404978:	ff 75 f8             	push   -0x8(%ebp)
40497b:	ff d6                	call   *%esi
40497d:	53                   	push   %ebx
40497e:	50                   	push   %eax
40497f:	68 51 01 00 00       	push   $0x151
404984:	ff 75 f8             	push   -0x8(%ebp)
404987:	ff d6                	call   *%esi
404989:	43                   	inc    %ebx
40498a:	83 fb 21             	cmp    $0x21,%ebx
40498d:	7c c9                	jl     0x404958
40498f:	8b 7d 14             	mov    0x14(%ebp),%edi
404992:	8b 5d f4             	mov    -0xc(%ebp),%ebx
404995:	ff 74 9f 30          	push   0x30(%edi,%ebx,4)
404999:	6a 15                	push   $0x15
40499b:	ff 75 08             	push   0x8(%ebp)
40499e:	e8 75 f5 ff ff       	call   0x403f18
4049a3:	ff 74 9f 34          	push   0x34(%edi,%ebx,4)
4049a7:	6a 16                	push   $0x16
4049a9:	ff 75 08             	push   0x8(%ebp)
4049ac:	e8 67 f5 ff ff       	call   0x403f18
4049b1:	33 ff                	xor    %edi,%edi
4049b3:	33 db                	xor    %ebx,%ebx
4049b5:	39 3d cc 3e 42 00    	cmp    %edi,0x423ecc
4049bb:	0f 8e c4 00 00 00    	jle    0x404a85
4049c1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4049c4:	8d 50 08             	lea    0x8(%eax),%edx
4049c7:	89 55 ec             	mov    %edx,-0x14(%ebp)
4049ca:	8d 42 10             	lea    0x10(%edx),%eax
4049cd:	80 38 00             	cmpb   $0x0,(%eax)
4049d0:	0f 84 90 00 00 00    	je     0x404a66
4049d6:	89 45 c8             	mov    %eax,-0x38(%ebp)
4049d9:	8b 02                	mov    (%edx),%eax
4049db:	6a 20                	push   $0x20
4049dd:	8b d0                	mov    %eax,%edx
4049df:	59                   	pop    %ecx
4049e0:	89 5d b0             	mov    %ebx,-0x50(%ebp)
4049e3:	23 d1                	and    %ecx,%edx
4049e5:	c7 45 b4 02 00 ff ff 	movl   $0xffff0002,-0x4c(%ebp)
4049ec:	a8 02                	test   $0x2,%al
4049ee:	c7 45 b8 0d 00 00 00 	movl   $0xd,-0x48(%ebp)
4049f5:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
4049f8:	89 7d dc             	mov    %edi,-0x24(%ebp)
4049fb:	89 55 c0             	mov    %edx,-0x40(%ebp)
4049fe:	74 38                	je     0x404a38
404a00:	8d 45 b0             	lea    -0x50(%ebp),%eax
404a03:	c7 45 b8 4d 00 00 00 	movl   $0x4d,-0x48(%ebp)
404a0a:	50                   	push   %eax
404a0b:	6a 00                	push   $0x0
404a0d:	68 00 11 00 00       	push   $0x1100
404a12:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
404a19:	ff 75 fc             	push   -0x4(%ebp)
404a1c:	ff d6                	call   *%esi
404a1e:	8b 0d 94 04 42 00    	mov    0x420494,%ecx
404a24:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
404a2b:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
404a2e:	a1 94 04 42 00       	mov    0x420494,%eax
404a33:	8b 1c b8             	mov    (%eax,%edi,4),%ebx
404a36:	eb 2e                	jmp    0x404a66
404a38:	a8 04                	test   $0x4,%al
404a3a:	74 11                	je     0x404a4d
404a3c:	53                   	push   %ebx
404a3d:	6a 03                	push   $0x3
404a3f:	68 0a 11 00 00       	push   $0x110a
404a44:	ff 75 fc             	push   -0x4(%ebp)
404a47:	ff d6                	call   *%esi
404a49:	8b d8                	mov    %eax,%ebx
404a4b:	eb 19                	jmp    0x404a66
404a4d:	8d 45 b0             	lea    -0x50(%ebp),%eax
404a50:	50                   	push   %eax
404a51:	6a 00                	push   $0x0
404a53:	68 00 11 00 00       	push   $0x1100
404a58:	ff 75 fc             	push   -0x4(%ebp)
404a5b:	ff d6                	call   *%esi
404a5d:	8b 0d 94 04 42 00    	mov    0x420494,%ecx
404a63:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
404a66:	8b 55 ec             	mov    -0x14(%ebp),%edx
404a69:	47                   	inc    %edi
404a6a:	81 c2 18 04 00 00    	add    $0x418,%edx
404a70:	3b 3d cc 3e 42 00    	cmp    0x423ecc,%edi
404a76:	89 55 ec             	mov    %edx,-0x14(%ebp)