404abd:	e8 c6 16 00 00       	call   0x406188
404ac2:	50                   	push   %eax
404ac3:	57                   	push   %edi
404ac4:	56                   	push   %esi
404ac5:	68 24 a2 40 00       	push   $0x40a224
404aca:	ff 75 0c             	push   0xc(%ebp)
404acd:	be 98 a8 42 00       	mov    $0x42a898,%esi
404ad2:	56                   	push   %esi
404ad3:	e8 b0 16 00 00       	call   0x406188
404ad8:	56                   	push   %esi
404ad9:	8b f8                	mov    %eax,%edi
404adb:	e8 9c 16 00 00       	call   0x40617c
404ae0:	03 f8                	add    %eax,%edi
404ae2:	57                   	push   %edi
404ae3:	ff 15 74 82 40 00    	call   *0x408274
404ae9:	83 c4 18             	add    $0x18,%esp
404aec:	56                   	push   %esi
404aed:	ff 75 08             	push   0x8(%ebp)
404af0:	ff 35 f8 eb 42 00    	push   0x42ebf8
404af6:	e8 65 0d 00 00       	call   0x405860
404afb:	5f                   	pop    %edi
404afc:	5e                   	pop    %esi
404afd:	5b                   	pop    %ebx
404afe:	c9                   	leave
404aff:	c2 10 00             	ret    $0x10
404b02:	8b 44 24 0c          	mov    0xc(%esp),%eax
404b06:	33 c9                	xor    %ecx,%ecx
404b08:	51                   	push   %ecx
404b09:	50                   	push   %eax
404b0a:	ff 74 24 10          	push   0x10(%esp)
404b0e:	ff 74 24 10          	push   0x10(%esp)
404b12:	e8 26 ff ff ff       	call   0x404a3d
404b17:	c2 0c 00             	ret    $0xc
404b1a:	8b 15 6c f4 42 00    	mov    0x42f46c,%edx
404b20:	8b 0d 68 f4 42 00    	mov    0x42f468,%ecx
404b26:	33 c0                	xor    %eax,%eax
404b28:	85 d2                	test   %edx,%edx
404b2a:	74 18                	je     0x404b44
404b2c:	56                   	push   %esi
404b2d:	f6 41 08 01          	testb  $0x1,0x8(%ecx)
404b31:	74 07                	je     0x404b3a
404b33:	8b 74 24 08          	mov    0x8(%esp),%esi
404b37:	03 04 b1             	add    (%ecx,%esi,4),%eax
404b3a:	81 c1 18 04 00 00    	add    $0x418,%ecx
404b40:	4a                   	dec    %edx
404b41:	75 ea                	jne    0x404b2d
404b43:	5e                   	pop    %esi
404b44:	c2 04 00             	ret    $0x4
404b47:	55                   	push   %ebp
404b48:	8b ec                	mov    %esp,%ebp
404b4a:	83 ec 38             	sub    $0x38,%esp
404b4d:	56                   	push   %esi
404b4e:	8b 35 00 82 40 00    	mov    0x408200,%esi
404b54:	57                   	push   %edi
404b55:	8b 7d 08             	mov    0x8(%ebp),%edi
404b58:	6a 00                	push   $0x0
404b5a:	6a 09                	push   $0x9
404b5c:	68 0a 11 00 00       	push   $0x110a
404b61:	57                   	push   %edi
404b62:	ff d6                	call   *%esi
404b64:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
404b68:	74 3c                	je     0x404ba6
404b6a:	ff 15 ac 81 40 00    	call   *0x4081ac
404b70:	0f bf c8             	movswl %ax,%ecx
404b73:	c1 e8 10             	shr    $0x10,%eax
404b76:	0f bf c0             	movswl %ax,%eax
404b79:	89 45 f4             	mov    %eax,-0xc(%ebp)
404b7c:	8d 45 f0             	lea    -0x10(%ebp),%eax
404b7f:	50                   	push   %eax
404b80:	57                   	push   %edi
404b81:	89 4d f0             	mov    %ecx,-0x10(%ebp)
404b84:	ff 15 c8 81 40 00    	call   *0x4081c8
404b8a:	8d 45 f0             	lea    -0x10(%ebp),%eax
404b8d:	50                   	push   %eax
404b8e:	6a 00                	push   $0x0
404b90:	68 11 11 00 00       	push   $0x1111
404b95:	57                   	push   %edi
404b96:	ff d6                	call   *%esi
404b98:	f6 45 f8 66          	testb  $0x66,-0x8(%ebp)
404b9c:	75 05                	jne    0x404ba3
404b9e:	83 c8 ff             	or     $0xffffffff,%eax
404ba1:	eb 1e                	jmp    0x404bc1
404ba3:	8b 45 fc             	mov    -0x4(%ebp),%eax
404ba6:	89 45 cc             	mov    %eax,-0x34(%ebp)
404ba9:	8d 45 c8             	lea    -0x38(%ebp),%eax
404bac:	50                   	push   %eax
404bad:	6a 00                	push   $0x0
404baf:	68 0c 11 00 00       	push   $0x110c
404bb4:	57                   	push   %edi
404bb5:	c7 45 c8 04 00 00 00 	movl   $0x4,-0x38(%ebp)
404bbc:	ff d6                	call   *%esi
404bbe:	8b 45 ec             	mov    -0x14(%ebp),%eax
404bc1:	5f                   	pop    %edi
404bc2:	5e                   	pop    %esi
404bc3:	c9                   	leave
404bc4:	c2 08 00             	ret    $0x8
404bc7:	56                   	push   %esi
404bc8:	57                   	push   %edi
404bc9:	be 00 00 43 00       	mov    $0x430000,%esi
404bce:	bf 98 a8 42 00       	mov    $0x42a898,%edi
404bd3:	56                   	push   %esi
404bd4:	57                   	push   %edi
404bd5:	e8 8c 15 00 00       	call   0x406166
404bda:	ff 74 24 10          	push   0x10(%esp)
404bde:	56                   	push   %esi
404bdf:	e8 e0 14 00 00       	call   0x4060c4
404be4:	ff 74 24 0c          	push   0xc(%esp)
404be8:	e8 1e c8 ff ff       	call   0x40140b
404bed:	57                   	push   %edi
404bee:	56                   	push   %esi
404bef:	e8 72 15 00 00       	call   0x406166
404bf4:	5f                   	pop    %edi
404bf5:	5e                   	pop    %esi
404bf6:	c2 08 00             	ret    $0x8
404bf9:	55                   	push   %ebp
404bfa:	8b ec                	mov    %esp,%ebp
404bfc:	83 ec 54             	sub    $0x54,%esp
404bff:	53                   	push   %ebx
404c00:	56                   	push   %esi
404c01:	8b 35 d0 81 40 00    	mov    0x4081d0,%esi
404c07:	57                   	push   %edi
404c08:	68 f9 03 00 00       	push   $0x3f9
404c0d:	ff 75 08             	push   0x8(%ebp)
404c10:	ff d6                	call   *%esi
404c12:	68 08 04 00 00       	push   $0x408
404c17:	89 45 f8             	mov    %eax,-0x8(%ebp)
404c1a:	ff 75 08             	push   0x8(%ebp)
404c1d:	ff d6                	call   *%esi
404c1f:	89 45 fc             	mov    %eax,-0x4(%ebp)
404c22:	a1 68 f4 42 00       	mov    0x42f468,%eax
404c27:	8b 35 00 82 40 00    	mov    0x408200,%esi
404c2d:	89 45 ec             	mov    %eax,-0x14(%ebp)
404c30:	a1 34 f4 42 00       	mov    0x42f434,%eax
404c35:	33 db                	xor    %ebx,%ebx
404c37:	05 94 00 00 00       	add    $0x94,%eax
404c3c:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
404c43:	6a 10                	push   $0x10
404c45:	89 45 e8             	mov    %eax,-0x18(%ebp)
404c48:	5f                   	pop    %edi
404c49:	0f 85 27 02 00 00    	jne    0x404e76
404c4f:	8b 45 08             	mov    0x8(%ebp),%eax
404c52:	89 5d e0             	mov    %ebx,-0x20(%ebp)
404c55:	a3 a0 f4 42 00       	mov    %eax,0x42f4a0
404c5a:	a1 6c f4 42 00       	mov    0x42f46c,%eax
404c5f:	c1 e0 02             	shl    $0x2,%eax
404c62:	50                   	push   %eax
404c63:	6a 40                	push   $0x40
404c65:	c7 45 f0 02 00 00 00 	movl   $0x2,-0x10(%ebp)
404c6c:	ff 15 58 81 40 00    	call   *0x408158
404c72:	53                   	push   %ebx
404c73:	53                   	push   %ebx
404c74:	53                   	push   %ebx
404c75:	53                   	push   %ebx
404c76:	6a 6e                	push   $0x6e
404c78:	a3 90 a8 42 00       	mov    %eax,0x42a890
404c7d:	ff 35 20 f4 42 00    	push   0x42f420
404c83:	ff 15 34 82 40 00    	call   *0x408234
404c89:	83 0d 84 a8 42 00 ff 	orl    $0xffffffff,0x42a884
404c90:	68 01 52 40 00       	push   $0x405201
404c95:	6a fc                	push   $0xfffffffc
404c97:	89 45 f4             	mov    %eax,-0xc(%ebp)
404c9a:	ff 75 fc             	push   -0x4(%ebp)
404c9d:	ff 15 4c 82 40 00    	call   *0x40824c
404ca3:	53                   	push   %ebx
404ca4:	6a 06                	push   $0x6
404ca6:	6a 21                	push   $0x21
404ca8:	57                   	push   %edi
404ca9:	57                   	push   %edi
404caa:	a3 8c a8 42 00       	mov    %eax,0x42a88c
404caf:	ff 15 38 80 40 00    	call   *0x408038
404cb5:	68 ff 00 ff 00       	push   $0xff00ff
404cba:	a3 7c a8 42 00       	mov    %eax,0x42a87c
404cbf:	ff 75 f4             	push   -0xc(%ebp)
404cc2:	50                   	push   %eax
404cc3:	ff 15 3c 80 40 00    	call   *0x40803c
404cc9:	ff 35 7c a8 42 00    	push   0x42a87c
404ccf:	6a 02                	push   $0x2
404cd1:	68 09 11 00 00       	push   $0x1109
404cd6:	ff 75 fc             	push   -0x4(%ebp)
404cd9:	ff d6                	call   *%esi
404cdb:	53                   	push   %ebx
404cdc:	53                   	push   %ebx
404cdd:	68 1c 11 00 00       	push   $0x111c
404ce2:	ff 75 fc             	push   -0x4(%ebp)
404ce5:	ff d6                	call   *%esi
404ce7:	3b c7                	cmp    %edi,%eax
404ce9:	7d 0c                	jge    0x404cf7
404ceb:	53                   	push   %ebx
404cec:	57                   	push   %edi
404ced:	68 1b 11 00 00       	push   $0x111b
404cf2:	ff 75 fc             	push   -0x4(%ebp)
404cf5:	ff d6                	call   *%esi
404cf7:	ff 75 f4             	push   -0xc(%ebp)
404cfa:	ff 15 60 80 40 00    	call   *0x408060
404d00:	33 ff                	xor    %edi,%edi
404d02:	8b 45 e8             	mov    -0x18(%ebp),%eax
404d05:	8b 04 b8             	mov    (%eax,%edi,4),%eax
404d08:	3b c3                	cmp    %ebx,%eax
404d0a:	74 27                	je     0x404d33
404d0c:	83 ff 20             	cmp    $0x20,%edi
404d0f:	74 03                	je     0x404d14
404d11:	89 5d f0             	mov    %ebx,-0x10(%ebp)
404d14:	50                   	push   %eax
404d15:	53                   	push   %ebx
404d16:	e8 6d 14 00 00       	call   0x406188
404d1b:	50                   	push   %eax
404d1c:	53                   	push   %ebx
404d1d:	68 43 01 00 00       	push   $0x143
404d22:	ff 75 f8             	push   -0x8(%ebp)
404d25:	ff d6                	call   *%esi
404d27:	57                   	push   %edi
404d28:	50                   	push   %eax
404d29:	68 51 01 00 00       	push   $0x151
404d2e:	ff 75 f8             	push   -0x8(%ebp)
404d31:	ff d6                	call   *%esi
404d33:	47                   	inc    %edi
404d34:	83 ff 21             	cmp    $0x21,%edi
404d37:	7c c9                	jl     0x404d02
404d39:	8b 7d 14             	mov    0x14(%ebp),%edi
404d3c:	8b 45 f0             	mov    -0x10(%ebp),%eax
404d3f:	ff 74 87 30          	push   0x30(%edi,%eax,4)
404d43:	6a 15                	push   $0x15
404d45:	ff 75 08             	push   0x8(%ebp)
404d48:	e8 a7 f4 ff ff       	call   0x4041f4
404d4d:	8b 45 f0             	mov    -0x10(%ebp),%eax
404d50:	ff 74 87 34          	push   0x34(%edi,%eax,4)
404d54:	6a 16                	push   $0x16
404d56:	ff 75 08             	push   0x8(%ebp)
404d59:	e8 96 f4 ff ff       	call   0x4041f4
404d5e:	33 ff                	xor    %edi,%edi
404d60:	39 1d 6c f4 42 00    	cmp    %ebx,0x42f46c
404d66:	89 5d f4             	mov    %ebx,-0xc(%ebp)
404d69:	0f 8e c9 00 00 00    	jle    0x404e38
404d6f:	8b 45 ec             	mov    -0x14(%ebp),%eax
404d72:	8d 50 08             	lea    0x8(%eax),%edx
404d75:	89 55 e4             	mov    %edx,-0x1c(%ebp)
404d78:	8d 42 10             	lea    0x10(%edx),%eax
404d7b:	38 18                	cmp    %bl,(%eax)
404d7d:	0f 84 97 00 00 00    	je     0x404e1a
404d83:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404d86:	89 45 c4             	mov    %eax,-0x3c(%ebp)
404d89:	8b 02                	mov    (%edx),%eax
404d8b:	6a 20                	push   $0x20
404d8d:	89 4d ac             	mov    %ecx,-0x54(%ebp)
404d90:	59                   	pop    %ecx
404d91:	8b d0                	mov    %eax,%edx
404d93:	c7 45 b0 02 00 ff ff 	movl   $0xffff0002,-0x50(%ebp)
404d9a:	23 d1                	and    %ecx,%edx
404d9c:	c7 45 b4 0d 00 00 00 	movl   $0xd,-0x4c(%ebp)
404da3:	a8 02                	test   $0x2,%al
404da5:	89 4d c0             	mov    %ecx,-0x40(%ebp)
404da8:	89 7d d8             	mov    %edi,-0x28(%ebp)
404dab:	89 55 bc             	mov    %edx,-0x44(%ebp)
404dae:	74 3a                	je     0x404dea
404db0:	8d 45 ac             	lea    -0x54(%ebp),%eax
404db3:	c7 45 b4 4d 00 00 00 	movl   $0x4d,-0x4c(%ebp)
404dba:	50                   	push   %eax
404dbb:	53                   	push   %ebx
404dbc:	68 00 11 00 00       	push   $0x1100
404dc1:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
404dc8:	ff 75 fc             	push   -0x4(%ebp)
404dcb:	ff d6                	call   *%esi
404dcd:	8b 0d 90 a8 42 00    	mov    0x42a890,%ecx
404dd3:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
404dda:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
404ddd:	a1 90 a8 42 00       	mov    0x42a890,%eax
404de2:	8b 04 b8             	mov    (%eax,%edi,4),%eax
404de5:	89 45 f4             	mov    %eax,-0xc(%ebp)
404de8:	eb 30                	jmp    0x404e1a
404dea:	a8 04                	test   $0x4,%al
404dec:	74 14                	je     0x404e02
404dee:	ff 75 f4             	push   -0xc(%ebp)
404df1:	6a 03                	push   $0x3
404df3:	68 0a 11 00 00       	push   $0x110a
404df8:	ff 75 fc             	push   -0x4(%ebp)
404dfb:	ff d6                	call   *%esi
404dfd:	89 45 f4             	mov    %eax,-0xc(%ebp)
404e00:	eb 18                	jmp    0x404e1a
404e02:	8d 45 ac             	lea    -0x54(%ebp),%eax
404e05:	50                   	push   %eax
404e06:	53                   	push   %ebx
404e07:	68 00 11 00 00       	push   $0x1100
404e0c:	ff 75 fc             	push   -0x4(%ebp)
404e0f:	ff d6                	call   *%esi
404e11:	8b 0d 90 a8 42 00    	mov    0x42a890,%ecx
404e17:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
404e1a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
404e1d:	47                   	inc    %edi
404e1e:	81 c2 18 04 00 00    	add    $0x418,%edx
404e24:	3b 3d 6c f4 42 00    	cmp    0x42f46c,%edi
404e2a:	89 55 e4             	mov    %edx,-0x1c(%ebp)
404e2d:	0f 8c 45 ff ff ff    	jl     0x404d78
404e33:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
404e36:	75 19                	jne    0x404e51
404e38:	6a f0                	push   $0xfffffff0
404e3a:	ff 75 fc             	push   -0x4(%ebp)
404e3d:	ff 15 9c 81 40 00    	call   *0x40819c
404e43:	24 fb                	and    $0xfb,%al
404e45:	50                   	push   %eax
404e46:	6a f0                	push   $0xfffffff0
404e48:	ff 75 fc             	push   -0x4(%ebp)
404e4b:	ff 15 4c 82 40 00    	call   *0x40824c
404e51:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
404e54:	75 18                	jne    0x404e6e
404e56:	6a 05                	push   $0x5
404e58:	ff 75 f8             	push   -0x8(%ebp)
404e5b:	ff 15 48 82 40 00    	call   *0x408248
404e61:	ff 75 f8             	push   -0x8(%ebp)
404e64:	e8 c0 f3 ff ff       	call   0x404229
404e69:	e9 7e 03 00 00       	jmp    0x4051ec
404e6e:	ff 75 fc             	push   -0x4(%ebp)
404e71:	e8 b3 f3 ff ff       	call   0x404229
404e76:	81 7d 0c 05 04 00 00 	cmpl   $0x405,0xc(%ebp)
404e7d:	75 12                	jne    0x404e91
404e7f:	33 c9                	xor    %ecx,%ecx
404e81:	89 5d 10             	mov    %ebx,0x10(%ebp)
404e84:	41                   	inc    %ecx
404e85:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
404e8c:	89 4d 14             	mov    %ecx,0x14(%ebp)
404e8f:	eb 03                	jmp    0x404e94
404e91:	8b 4d 14             	mov    0x14(%ebp),%ecx
404e94:	83 7d 0c 4e          	cmpl   $0x4e,0xc(%ebp)
404e98:	b8 13 04 00 00       	mov    $0x413,%eax
404e9d:	74 09                	je     0x404ea8
404e9f:	39 45 0c             	cmp    %eax,0xc(%ebp)
404ea2:	0f 85 e4 00 00 00    	jne    0x404f8c
404ea8:	39 45 0c             	cmp    %eax,0xc(%ebp)
404eab:	89 4d f4             	mov    %ecx,-0xc(%ebp)
404eae:	74 0d                	je     0x404ebd
404eb0:	81 79 04 08 04 00 00 	cmpl   $0x408,0x4(%ecx)
404eb7:	0f 85 cf 00 00 00    	jne    0x404f8c
404ebd:	f6 05 3d f4 42 00 02 	testb  $0x2,0x42f43d
404ec4:	75 73                	jne    0x404f39
404ec6:	39 45 0c             	cmp    %eax,0xc(%ebp)
404ec9:	74 09                	je     0x404ed4
404ecb:	8b 4d 14             	mov    0x14(%ebp),%ecx
404ece:	83 79 08 fe          	cmpl   $0xfffffffe,0x8(%ecx)
404ed2:	75 65                	jne    0x404f39
404ed4:	33 c9                	xor    %ecx,%ecx
404ed6:	39 45 0c             	cmp    %eax,0xc(%ebp)
404ed9:	0f 95 c1             	setne  %cl
404edc:	51                   	push   %ecx
404edd:	ff 75 fc             	push   -0x4(%ebp)
404ee0:	e8 62 fc ff ff       	call   0x404b47
404ee5:	8b f8                	mov    %eax,%edi
404ee7:	3b fb                	cmp    %ebx,%edi
404ee9:	7c 4e                	jl     0x404f39
404eeb:	69 c0 18 04 00 00    	imul   $0x418,%eax,%eax
404ef1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404ef4:	8d 4c 08 08          	lea    0x8(%eax,%ecx,1),%ecx