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)
404a79:	0f 8c 4b ff ff ff    	jl     0x4049ca
404a7f:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
404a83:	75 19                	jne    0x404a9e
404a85:	6a f0                	push   $0xfffffff0
404a87:	ff 75 fc             	push   -0x4(%ebp)
404a8a:	ff 15 90 71 40 00    	call   *0x407190
404a90:	24 fb                	and    $0xfb,%al
404a92:	50                   	push   %eax
404a93:	6a f0                	push   $0xfffffff0
404a95:	ff 75 fc             	push   -0x4(%ebp)
404a98:	ff 15 30 72 40 00    	call   *0x407230
404a9e:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
404aa2:	75 18                	jne    0x404abc
404aa4:	6a 05                	push   $0x5
404aa6:	ff 75 f8             	push   -0x8(%ebp)
404aa9:	ff 15 60 72 40 00    	call   *0x407260
404aaf:	ff 75 f8             	push   -0x8(%ebp)
404ab2:	e8 96 f4 ff ff       	call   0x403f4d
404ab7:	e9 83 03 00 00       	jmp    0x404e3f
404abc:	ff 75 fc             	push   -0x4(%ebp)
404abf:	e8 89 f4 ff ff       	call   0x403f4d
404ac4:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
404ac7:	33 ff                	xor    %edi,%edi
404ac9:	81 7d 0c 05 04 00 00 	cmpl   $0x405,0xc(%ebp)
404ad0:	75 12                	jne    0x404ae4
404ad2:	33 c9                	xor    %ecx,%ecx
404ad4:	89 7d 10             	mov    %edi,0x10(%ebp)
404ad7:	41                   	inc    %ecx
404ad8:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
404adf:	89 4d 14             	mov    %ecx,0x14(%ebp)
404ae2:	eb 03                	jmp    0x404ae7
404ae4:	8b 4d 14             	mov    0x14(%ebp),%ecx
404ae7:	83 7d 0c 4e          	cmpl   $0x4e,0xc(%ebp)
404aeb:	b8 13 04 00 00       	mov    $0x413,%eax
404af0:	74 09                	je     0x404afb
404af2:	39 45 0c             	cmp    %eax,0xc(%ebp)
404af5:	0f 85 e7 00 00 00    	jne    0x404be2
404afb:	39 45 0c             	cmp    %eax,0xc(%ebp)
404afe:	89 4d f4             	mov    %ecx,-0xc(%ebp)
404b01:	74 0d                	je     0x404b10
404b03:	81 79 04 08 04 00 00 	cmpl   $0x408,0x4(%ecx)
404b0a:	0f 85 d2 00 00 00    	jne    0x404be2
404b10:	f6 05 b9 3e 42 00 02 	testb  $0x2,0x423eb9
404b17:	75 76                	jne    0x404b8f
404b19:	39 45 0c             	cmp    %eax,0xc(%ebp)
404b1c:	74 09                	je     0x404b27
404b1e:	8b 4d 14             	mov    0x14(%ebp),%ecx
404b21:	83 79 08 fe          	cmpl   $0xfffffffe,0x8(%ecx)
404b25:	75 68                	jne    0x404b8f
404b27:	33 c9                	xor    %ecx,%ecx
404b29:	39 45 0c             	cmp    %eax,0xc(%ebp)
404b2c:	0f 95 c1             	setne  %cl
404b2f:	51                   	push   %ecx
404b30:	ff 75 fc             	push   -0x4(%ebp)
404b33:	e8 9b fc ff ff       	call   0x4047d3
404b38:	3b c7                	cmp    %edi,%eax
404b3a:	7c 53                	jl     0x404b8f
404b3c:	8b c8                	mov    %eax,%ecx
404b3e:	69 c9 18 04 00 00    	imul   $0x418,%ecx,%ecx
404b44:	8d 54 19 08          	lea    0x8(%ecx,%ebx,1),%edx
404b48:	8b 0a                	mov    (%edx),%ecx
404b4a:	f6 c1 10             	test   $0x10,%cl
404b4d:	75 40                	jne    0x404b8f
404b4f:	f6 c1 40             	test   $0x40,%cl
404b52:	74 14                	je     0x404b68
404b54:	81 f1 80 00 00 00    	xor    $0x80,%ecx
404b5a:	84 c9                	test   %cl,%cl
404b5c:	79 05                	jns    0x404b63
404b5e:	83 c9 01             	or     $0x1,%ecx
404b61:	eb 08                	jmp    0x404b6b
404b63:	83 e1 fe             	and    $0xfffffffe,%ecx
404b66:	eb 03                	jmp    0x404b6b
404b68:	83 f1 01             	xor    $0x1,%ecx
404b6b:	50                   	push   %eax
404b6c:	89 0a                	mov    %ecx,(%edx)
404b6e:	e8 0a c6 ff ff       	call   0x40117d
404b73:	a1 b8 3e 42 00       	mov    0x423eb8,%eax
404b78:	33 c9                	xor    %ecx,%ecx
404b7a:	f7 d0                	not    %eax
404b7c:	41                   	inc    %ecx
404b7d:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
404b84:	c1 e8 08             	shr    $0x8,%eax
404b87:	23 c1                	and    %ecx,%eax
404b89:	89 4d 10             	mov    %ecx,0x10(%ebp)
404b8c:	89 45 14             	mov    %eax,0x14(%ebp)
404b8f:	39 7d f4             	cmp    %edi,-0xc(%ebp)
404b92:	74 4e                	je     0x404be2
404b94:	8b 45 f4             	mov    -0xc(%ebp),%eax
404b97:	81 78 08 6e fe ff ff 	cmpl   $0xfffffe6e,0x8(%eax)
404b9e:	75 0e                	jne    0x404bae
404ba0:	ff 70 5c             	push   0x5c(%eax)
404ba3:	57                   	push   %edi
404ba4:	68 19 04 00 00       	push   $0x419
404ba9:	ff 75 fc             	push   -0x4(%ebp)
404bac:	ff d6                	call   *%esi
404bae:	8b 45 f4             	mov    -0xc(%ebp),%eax
404bb1:	81 78 08 6a fe ff ff 	cmpl   $0xfffffe6a,0x8(%eax)
404bb8:	75 28                	jne    0x404be2
404bba:	83 78 0c 02          	cmpl   $0x2,0xc(%eax)
404bbe:	75 12                	jne    0x404bd2
404bc0:	8b 40 5c             	mov    0x5c(%eax),%eax
404bc3:	69 c0 18 04 00 00    	imul   $0x418,%eax,%eax
404bc9:	8d 44 18 08          	lea    0x8(%eax,%ebx,1),%eax
404bcd:	83 08 20             	orl    $0x20,(%eax)
404bd0:	eb 10                	jmp    0x404be2
404bd2:	8b 40 5c             	mov    0x5c(%eax),%eax
404bd5:	69 c0 18 04 00 00    	imul   $0x418,%eax,%eax
404bdb:	8d 5c 18 08          	lea    0x8(%eax,%ebx,1),%ebx
404bdf:	83 23 df             	andl   $0xffffffdf,(%ebx)
404be2:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
404be9:	75 72                	jne    0x404c5d
404beb:	66 81 7d 10 f9 03    	cmpw   $0x3f9,0x10(%ebp)
404bf1:	0f 85 48 02 00 00    	jne    0x404e3f
404bf7:	8b 45 10             	mov    0x10(%ebp),%eax
404bfa:	c1 e8 10             	shr    $0x10,%eax
404bfd:	66 3d 01 00          	cmp    $0x1,%ax
404c01:	0f 85 38 02 00 00    	jne    0x404e3f
404c07:	57                   	push   %edi
404c08:	57                   	push   %edi
404c09:	68 47 01 00 00       	push   $0x147
404c0e:	ff 75 f8             	push   -0x8(%ebp)
404c11:	ff d6                	call   *%esi
404c13:	83 f8 ff             	cmp    $0xffffffff,%eax
404c16:	0f 84 23 02 00 00    	je     0x404e3f
404c1c:	57                   	push   %edi
404c1d:	50                   	push   %eax
404c1e:	68 50 01 00 00       	push   $0x150
404c23:	ff 75 f8             	push   -0x8(%ebp)
404c26:	ff d6                	call   *%esi
404c28:	8b d8                	mov    %eax,%ebx
404c2a:	83 fb ff             	cmp    $0xffffffff,%ebx
404c2d:	74 08                	je     0x404c37
404c2f:	8b 45 f0             	mov    -0x10(%ebp),%eax
404c32:	39 3c 98             	cmp    %edi,(%eax,%ebx,4)
404c35:	75 03                	jne    0x404c3a
404c37:	6a 20                	push   $0x20
404c39:	5b                   	pop    %ebx
404c3a:	53                   	push   %ebx
404c3b:	e8 59 c6 ff ff       	call   0x401299
404c40:	53                   	push   %ebx
404c41:	57                   	push   %edi
404c42:	68 20 04 00 00       	push   $0x420
404c47:	ff 75 08             	push   0x8(%ebp)
404c4a:	ff d6                	call   *%esi
404c4c:	c7 45 10 01 00 00 00 	movl   $0x1,0x10(%ebp)
404c53:	89 7d 14             	mov    %edi,0x14(%ebp)
404c56:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
404c5d:	81 7d 0c 00 02 00 00 	cmpl   $0x200,0xc(%ebp)
404c64:	75 0c                	jne    0x404c72
404c66:	57                   	push   %edi
404c67:	57                   	push   %edi
404c68:	68 00 02 00 00       	push   $0x200
404c6d:	ff 75 fc             	push   -0x4(%ebp)
404c70:	ff d6                	call   *%esi
404c72:	81 7d 0c 0b 04 00 00 	cmpl   $0x40b,0xc(%ebp)
404c79:	75 32                	jne    0x404cad
404c7b:	a1 7c 04 42 00       	mov    0x42047c,%eax
404c80:	3b c7                	cmp    %edi,%eax
404c82:	74 07                	je     0x404c8b
404c84:	50                   	push   %eax
404c85:	ff 15 2c 70 40 00    	call   *0x40702c
404c8b:	a1 94 04 42 00       	mov    0x420494,%eax
404c90:	3b c7                	cmp    %edi,%eax
404c92:	74 07                	je     0x404c9b
404c94:	50                   	push   %eax
404c95:	ff 15 fc 70 40 00    	call   *0x4070fc
404c9b:	89 3d 7c 04 42 00    	mov    %edi,0x42047c
404ca1:	89 3d 94 04 42 00    	mov    %edi,0x420494
404ca7:	89 3d 00 3f 42 00    	mov    %edi,0x423f00
404cad:	81 7d 0c 0f 04 00 00 	cmpl   $0x40f,0xc(%ebp)
404cb4:	0f 85 47 01 00 00    	jne    0x404e01
404cba:	57                   	push   %edi
404cbb:	57                   	push   %edi
404cbc:	e8 2e c5 ff ff       	call   0x4011ef
404cc1:	39 7d 10             	cmp    %edi,0x10(%ebp)