404a67:	b8 87 f7 40 00       	mov    $0x40f787,%eax
404a6c:	e8 14 a9 00 00       	call   0x40f385
404a71:	8b d9                	mov    %ecx,%ebx
404a73:	89 9d 50 fe ff ff    	mov    %ebx,-0x1b0(%ebp)
404a79:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
404a80:	01 00 00
404a83:	c7 85 60 fe ff ff 82 	movl   $0x82,-0x1a0(%ebp)
404a8a:	00 00 00
404a8d:	6a 08                	push   $0x8
404a8f:	59                   	pop    %ecx
404a90:	33 c0                	xor    %eax,%eax
404a92:	8d bd 2c fe ff ff    	lea    -0x1d4(%ebp),%edi
404a98:	f3 ab                	rep stos %eax,%es:(%edi)
404a9a:	89 85 64 fe ff ff    	mov    %eax,-0x19c(%ebp)
404aa0:	8b f0                	mov    %eax,%esi
404aa2:	89 43 70             	mov    %eax,0x70(%ebx)
404aa5:	89 43 74             	mov    %eax,0x74(%ebx)
404aa8:	8d 43 78             	lea    0x78(%ebx),%eax
404aab:	89 85 58 fe ff ff    	mov    %eax,-0x1a8(%ebp)
404ab1:	bf 98 16 40 00       	mov    $0x401698,%edi
404ab6:	57                   	push   %edi
404ab7:	8b c8                	mov    %eax,%ecx
404ab9:	ff 15 2c 22 41 00    	call   *0x41222c
404abf:	8d 43 7c             	lea    0x7c(%ebx),%eax
404ac2:	89 85 54 fe ff ff    	mov    %eax,-0x1ac(%ebp)
404ac8:	57                   	push   %edi
404ac9:	8b c8                	mov    %eax,%ecx
404acb:	ff 15 2c 22 41 00    	call   *0x41222c
404ad1:	39 73 18             	cmp    %esi,0x18(%ebx)
404ad4:	0f 84 78 01 00 00    	je     0x404c52
404ada:	ff b3 84 00 00 00    	push   0x84(%ebx)
404ae0:	56                   	push   %esi
404ae1:	68 00 10 00 00       	push   $0x1000
404ae6:	ff 15 44 20 41 00    	call   *0x412044
404aec:	8b f8                	mov    %eax,%edi
404aee:	89 bd 4c fe ff ff    	mov    %edi,-0x1b4(%ebp)
404af4:	85 ff                	test   %edi,%edi
404af6:	75 20                	jne    0x404b18
404af8:	ff 15 48 20 41 00    	call   *0x412048
404afe:	8b f0                	mov    %eax,%esi
404b00:	bb 00 00 07 80       	mov    $0x80070000,%ebx
404b05:	85 f6                	test   %esi,%esi
404b07:	7e 07                	jle    0x404b10
404b09:	0f b7 f6             	movzwl %si,%esi
404b0c:	0b f3                	or     %ebx,%esi
404b0e:	85 f6                	test   %esi,%esi
404b10:	0f 88 27 01 00 00    	js     0x404c3d
404b16:	eb 05                	jmp    0x404b1d
404b18:	bb 00 00 07 80       	mov    $0x80070000,%ebx
404b1d:	8d 85 64 fe ff ff    	lea    -0x19c(%ebp),%eax
404b23:	50                   	push   %eax
404b24:	6a 08                	push   $0x8
404b26:	57                   	push   %edi
404b27:	ff 15 00 20 41 00    	call   *0x412000
404b2d:	85 c0                	test   %eax,%eax
404b2f:	75 11                	jne    0x404b42
404b31:	ff 15 48 20 41 00    	call   *0x412048
404b37:	8b f0                	mov    %eax,%esi
404b39:	85 f6                	test   %esi,%esi
404b3b:	7e 07                	jle    0x404b44
404b3d:	0f b7 f6             	movzwl %si,%esi
404b40:	0b f3                	or     %ebx,%esi
404b42:	85 f6                	test   %esi,%esi
404b44:	0f 88 e8 00 00 00    	js     0x404c32
404b4a:	6a 00                	push   $0x0
404b4c:	8d 85 60 fe ff ff    	lea    -0x1a0(%ebp),%eax
404b52:	50                   	push   %eax
404b53:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
404b59:	50                   	push   %eax
404b5a:	8d 85 5c fe ff ff    	lea    -0x1a4(%ebp),%eax
404b60:	50                   	push   %eax
404b61:	8d 85 68 fe ff ff    	lea    -0x198(%ebp),%eax
404b67:	50                   	push   %eax
404b68:	ff b5 64 fe ff ff    	push   -0x19c(%ebp)
404b6e:	ff 15 0c 23 41 00    	call   *0x41230c
404b74:	85 c0                	test   %eax,%eax
404b76:	79 12                	jns    0x404b8a
404b78:	50                   	push   %eax
404b79:	ff 15 08 23 41 00    	call   *0x412308
404b7f:	8b f0                	mov    %eax,%esi
404b81:	85 f6                	test   %esi,%esi
404b83:	7e 07                	jle    0x404b8c
404b85:	0f b7 f6             	movzwl %si,%esi
404b88:	0b f3                	or     %ebx,%esi
404b8a:	85 f6                	test   %esi,%esi
404b8c:	0f 88 a0 00 00 00    	js     0x404c32
404b92:	6a 20                	push   $0x20
404b94:	58                   	pop    %eax
404b95:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
404b9b:	6a 00                	push   $0x0
404b9d:	50                   	push   %eax
404b9e:	8d 85 2c fe ff ff    	lea    -0x1d4(%ebp),%eax
404ba4:	50                   	push   %eax
404ba5:	6a 00                	push   $0x0
404ba7:	57                   	push   %edi
404ba8:	ff 15 fc 22 41 00    	call   *0x4122fc
404bae:	85 c0                	test   %eax,%eax
404bb0:	79 12                	jns    0x404bc4
404bb2:	50                   	push   %eax
404bb3:	ff 15 08 23 41 00    	call   *0x412308
404bb9:	8b f0                	mov    %eax,%esi
404bbb:	85 f6                	test   %esi,%esi
404bbd:	7e 07                	jle    0x404bc6
404bbf:	0f b7 f6             	movzwl %si,%esi
404bc2:	0b f3                	or     %ebx,%esi
404bc4:	85 f6                	test   %esi,%esi
404bc6:	78 6a                	js     0x404c32
404bc8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404bcc:	8d 85 68 fe ff ff    	lea    -0x198(%ebp),%eax
404bd2:	50                   	push   %eax
404bd3:	8b 8d 58 fe ff ff    	mov    -0x1a8(%ebp),%ecx
404bd9:	ff 15 2c 22 41 00    	call   *0x41222c
404bdf:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
404be5:	50                   	push   %eax
404be6:	8b 8d 54 fe ff ff    	mov    -0x1ac(%ebp),%ecx
404bec:	ff 15 2c 22 41 00    	call   *0x41222c
404bf2:	8b 85 48 fe ff ff    	mov    -0x1b8(%ebp),%eax
404bf8:	c1 e8 04             	shr    $0x4,%eax
404bfb:	33 d2                	xor    %edx,%edx
404bfd:	42                   	inc    %edx
404bfe:	23 c2                	and    %edx,%eax
404c00:	8b 8d 50 fe ff ff    	mov    -0x1b0(%ebp),%ecx
404c06:	89 41 74             	mov    %eax,0x74(%ecx)
404c09:	89 51 70             	mov    %edx,0x70(%ecx)
404c0c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404c10:	eb 20                	jmp    0x404c32
404c12:	68 0e 00 07 80       	push   $0x8007000e
404c17:	ff 15 74 20 41 00    	call   *0x412074
404c1d:	e8 d2 4b 00 00       	call   0x4097f4
404c22:	b8 28 4c 40 00       	mov    $0x404c28,%eax
404c27:	c3                   	ret
404c28:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404c2c:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
404c32:	85 ff                	test   %edi,%edi
404c34:	74 07                	je     0x404c3d
404c36:	57                   	push   %edi
404c37:	ff 15 3c 20 41 00    	call   *0x41203c
404c3d:	83 bd 64 fe ff ff 00 	cmpl   $0x0,-0x19c(%ebp)
404c44:	74 0c                	je     0x404c52
404c46:	ff b5 64 fe ff ff    	push   -0x19c(%ebp)
404c4c:	ff 15 3c 20 41 00    	call   *0x41203c
404c52:	e8 b6 a6 00 00       	call   0x40f30d
404c57:	c3                   	ret
404c58:	6a 1c                	push   $0x1c
404c5a:	b8 af f7 40 00       	mov    $0x40f7af,%eax
404c5f:	e8 eb a6 00 00       	call   0x40f34f
404c64:	8b c1                	mov    %ecx,%eax
404c66:	89 45 ec             	mov    %eax,-0x14(%ebp)
404c69:	8b 75 08             	mov    0x8(%ebp),%esi
404c6c:	85 f6                	test   %esi,%esi
404c6e:	0f 84 b8 00 00 00    	je     0x404d2c
404c74:	ff b0 84 00 00 00    	push   0x84(%eax)
404c7a:	33 db                	xor    %ebx,%ebx
404c7c:	53                   	push   %ebx
404c7d:	68 10 04 00 00       	push   $0x410
404c82:	ff 15 44 20 41 00    	call   *0x412044
404c88:	8b f8                	mov    %eax,%edi
404c8a:	89 7d e8             	mov    %edi,-0x18(%ebp)
404c8d:	85 ff                	test   %edi,%edi
404c8f:	0f 84 97 00 00 00    	je     0x404d2c
404c95:	6a 10                	push   $0x10
404c97:	59                   	pop    %ecx
404c98:	8d 45 d8             	lea    -0x28(%ebp),%eax
404c9b:	88 18                	mov    %bl,(%eax)
404c9d:	40                   	inc    %eax
404c9e:	83 e9 01             	sub    $0x1,%ecx
404ca1:	75 f8                	jne    0x404c9b
404ca3:	c7 45 d8 09 00 00 00 	movl   $0x9,-0x28(%ebp)
404caa:	89 5d dc             	mov    %ebx,-0x24(%ebp)
404cad:	89 75 e4             	mov    %esi,-0x1c(%ebp)
404cb0:	89 5d fc             	mov    %ebx,-0x4(%ebp)
404cb3:	8b 75 ec             	mov    -0x14(%ebp),%esi
404cb6:	8d 4e 34             	lea    0x34(%esi),%ecx
404cb9:	ff 15 38 22 41 00    	call   *0x412238
404cbf:	8b 40 04             	mov    0x4(%eax),%eax
404cc2:	85 c0                	test   %eax,%eax
404cc4:	74 03                	je     0x404cc9
404cc6:	8b 5e 34             	mov    0x34(%esi),%ebx
404cc9:	89 5d e0             	mov    %ebx,-0x20(%ebp)
404ccc:	68 a8 12 40 00       	push   $0x4012a8
404cd1:	8d 4e 34             	lea    0x34(%esi),%ecx
404cd4:	ff 15 28 22 41 00    	call   *0x412228
404cda:	83 f8 ff             	cmp    $0xffffffff,%eax
404cdd:	74 09                	je     0x404ce8
404cdf:	89 45 dc             	mov    %eax,-0x24(%ebp)
404ce2:	8b 46 34             	mov    0x34(%esi),%eax
404ce5:	89 45 e0             	mov    %eax,-0x20(%ebp)
404ce8:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404cec:	8d 45 d8             	lea    -0x28(%ebp),%eax
404cef:	50                   	push   %eax
404cf0:	68 20 53 40 00       	push   $0x405320
404cf5:	57                   	push   %edi
404cf6:	ff 15 f0 21 41 00    	call   *0x4121f0
404cfc:	8b f0                	mov    %eax,%esi
404cfe:	57                   	push   %edi
404cff:	ff 15 3c 20 41 00    	call   *0x41203c
404d05:	8b c6                	mov    %esi,%eax
404d07:	eb 25                	jmp    0x404d2e
404d09:	ff 75 e8             	push   -0x18(%ebp)
404d0c:	ff 15 3c 20 41 00    	call   *0x41203c
404d12:	68 0e 00 07 80       	push   $0x8007000e
404d17:	ff 15 74 20 41 00    	call   *0x412074
404d1d:	e8 d2 4a 00 00       	call   0x4097f4
404d22:	b8 28 4d 40 00       	mov    $0x404d28,%eax
404d27:	c3                   	ret
404d28:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404d2c:	33 c0                	xor    %eax,%eax
404d2e:	e8 c6 a5 00 00       	call   0x40f2f9
404d33:	c2 04 00             	ret    $0x4
404d36:	6a 18                	push   $0x18
404d38:	b8 d3 f7 40 00       	mov    $0x40f7d3,%eax
404d3d:	e8 0d a6 00 00       	call   0x40f34f
404d42:	8b d9                	mov    %ecx,%ebx
404d44:	33 ff                	xor    %edi,%edi
404d46:	33 d2                	xor    %edx,%edx
404d48:	39 55 0c             	cmp    %edx,0xc(%ebp)
404d4b:	74 7b                	je     0x404dc8
404d4d:	8b b3 b4 00 00 00    	mov    0xb4(%ebx),%esi
404d53:	85 f6                	test   %esi,%esi
404d55:	75 0d                	jne    0x404d64
404d57:	ff 75 0c             	push   0xc(%ebp)
404d5a:	ff 75 08             	push   0x8(%ebp)
404d5d:	e8 de 01 00 00       	call   0x404f40
404d62:	eb 66                	jmp    0x404dca
404d64:	8b 46 18             	mov    0x18(%esi),%eax
404d67:	03 c6                	add    %esi,%eax
404d69:	8b 4e 1c             	mov    0x1c(%esi),%ecx
404d6c:	85 c9                	test   %ecx,%ecx
404d6e:	74 58                	je     0x404dc8
404d70:	81 78 0c e4 02 00 00 	cmpl   $0x2e4,0xc(%eax)
404d77:	75 04                	jne    0x404d7d
404d79:	8b f8                	mov    %eax,%edi
404d7b:	eb 0b                	jmp    0x404d88
404d7d:	81 78 0c 12 03 00 00 	cmpl   $0x312,0xc(%eax)
404d84:	75 02                	jne    0x404d88
404d86:	8b d0                	mov    %eax,%edx
404d88:	8b 30                	mov    (%eax),%esi
404d8a:	85 f6                	test   %esi,%esi
404d8c:	74 02                	je     0x404d90
404d8e:	03 c6                	add    %esi,%eax
404d90:	83 e9 01             	sub    $0x1,%ecx
404d93:	75 db                	jne    0x404d70
404d95:	89 7d e4             	mov    %edi,-0x1c(%ebp)
404d98:	85 ff                	test   %edi,%edi
404d9a:	74 2c                	je     0x404dc8
404d9c:	85 d2                	test   %edx,%edx
404d9e:	74 28                	je     0x404dc8
404da0:	8b 42 08             	mov    0x8(%edx),%eax
404da3:	03 c2                	add    %edx,%eax
404da5:	39 4a 20             	cmp    %ecx,0x20(%edx)
404da8:	76 11                	jbe    0x404dbb
404daa:	81 78 04 10 03 00 00 	cmpl   $0x310,0x4(%eax)
404db1:	74 1f                	je     0x404dd2
404db3:	03 00                	add    (%eax),%eax
404db5:	41                   	inc    %ecx
404db6:	3b 4a 20             	cmp    0x20(%edx),%ecx
404db9:	72 ef                	jb     0x404daa
404dbb:	6a 05                	push   $0x5
404dbd:	ff 15 74 20 41 00    	call   *0x412074
404dc3:	e8 2c 4a 00 00       	call   0x4097f4
404dc8:	33 c0                	xor    %eax,%eax
404dca:	e8 2a a5 00 00       	call   0x40f2f9
404dcf:	c2 08 00             	ret    $0x8
404dd2:	8b 40 24             	mov    0x24(%eax),%eax
404dd5:	89 45 dc             	mov    %eax,-0x24(%ebp)
404dd8:	85 c0                	test   %eax,%eax
404dda:	74 df                	je     0x404dbb
404ddc:	8b 77 04             	mov    0x4(%edi),%esi
404ddf:	03 f7                	add    %edi,%esi
404de1:	89 75 e0             	mov    %esi,-0x20(%ebp)
404de4:	8b 42 04             	mov    0x4(%edx),%eax
404de7:	03 c2                	add    %edx,%eax
404de9:	8b 3e                	mov    (%esi),%edi
404deb:	03 fe                	add    %esi,%edi
404ded:	8b 08                	mov    (%eax),%ecx
404def:	03 c8                	add    %eax,%ecx
404df1:	33 c0                	xor    %eax,%eax
404df3:	89 45 e8             	mov    %eax,-0x18(%ebp)
404df6:	8b 52 28             	mov    0x28(%edx),%edx
404df9:	89 55 ec             	mov    %edx,-0x14(%ebp)
404dfc:	85 d2                	test   %edx,%edx
404dfe:	74 28                	je     0x404e28
404e00:	8b 55 dc             	mov    -0x24(%ebp),%edx
404e03:	8b b3 84 00 00 00    	mov    0x84(%ebx),%esi
404e09:	39 34 11             	cmp    %esi,(%ecx,%edx,1)
404e0c:	74 14                	je     0x404e22
404e0e:	8b 01                	mov    (%ecx),%eax
404e10:	03 c1                	add    %ecx,%eax
404e12:	8b 08                	mov    (%eax),%ecx
404e14:	03 c8                	add    %eax,%ecx
404e16:	8b 45 e8             	mov    -0x18(%ebp),%eax
404e19:	40                   	inc    %eax
404e1a:	89 45 e8             	mov    %eax,-0x18(%ebp)
404e1d:	3b 45 ec             	cmp    -0x14(%ebp),%eax
404e20:	72 e7                	jb     0x404e09
404e22:	8b 75 e0             	mov    -0x20(%ebp),%esi
404e25:	8b 55 ec             	mov    -0x14(%ebp),%edx
404e28:	3b c2                	cmp    %edx,%eax
404e2a:	75 05                	jne    0x404e31
404e2c:	33 c0                	xor    %eax,%eax
404e2e:	40                   	inc    %eax
404e2f:	eb 99                	jmp    0x404dca
404e31:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
404e35:	68 a8 12 40 00       	push   $0x4012a8
404e3a:	8d 4b 34             	lea    0x34(%ebx),%ecx
404e3d:	ff 15 28 22 41 00    	call   *0x412228
404e43:	83 f8 ff             	cmp    $0xffffffff,%eax
404e46:	74 03                	je     0x404e4b
404e48:	89 45 e0             	mov    %eax,-0x20(%ebp)
404e4b:	33 c9                	xor    %ecx,%ecx
404e4d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
404e50:	89 4d dc             	mov    %ecx,-0x24(%ebp)
404e53:	3b 48 28             	cmp    0x28(%eax),%ecx
404e56:	7d d4                	jge    0x404e2c
404e58:	8b 4d e8             	mov    -0x18(%ebp),%ecx
404e5b:	39 4e 08             	cmp    %ecx,0x8(%esi)
404e5e:	0f 85 a8 00 00 00    	jne    0x404f0c
404e64:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404e68:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404e6b:	ff 15 f8 21 41 00    	call   *0x4121f8
404e71:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
404e75:	8b 46 14             	mov    0x14(%esi),%eax
404e78:	83 c0 0a             	add    $0xa,%eax
404e7b:	50                   	push   %eax
404e7c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404e7f:	ff 15 34 22 41 00    	call   *0x412234
404e85:	8b c8                	mov    %eax,%ecx
404e87:	85 c9                	test   %ecx,%ecx
404e89:	75 22                	jne    0x404ead
404e8b:	68 0e 00 07 80       	push   $0x8007000e
404e90:	ff 15 74 20 41 00    	call   *0x412074
404e96:	e8 59 49 00 00       	call   0x4097f4
404e9b:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
404e9f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404ea2:	ff 15 30 22 41 00    	call   *0x412230
404ea8:	e9 1b ff ff ff       	jmp    0x404dc8
404ead:	8b 46 14             	mov    0x14(%esi),%eax
404eb0:	40                   	inc    %eax
404eb1:	50                   	push   %eax
404eb2:	8b 56 10             	mov    0x10(%esi),%edx
404eb5:	03 d6                	add    %esi,%edx
404eb7:	e8 3a 55 00 00       	call   0x40a3f6
404ebc:	6a ff                	push   $0xffffffff
404ebe:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404ec1:	ff 15 40 22 41 00    	call   *0x412240
404ec7:	8d 4b 34             	lea    0x34(%ebx),%ecx
404eca:	ff 15 38 22 41 00    	call   *0x412238
404ed0:	8b 40 04             	mov    0x4(%eax),%eax
404ed3:	85 c0                	test   %eax,%eax
404ed5:	74 14                	je     0x404eeb