405b4f:	02 00                	add    (%eax),%al
405b5d:	00 00                	add    %al,(%eax)
405b5f:	00 8b ff 55 8b ec    	add    %cl,-0x1374aa01(%ebx)
405b65:	83 ec 44             	sub    $0x44,%esp
405b68:	a1 10 42 42 00       	mov    0x424210,%eax
405b6d:	33 c5                	xor    %ebp,%eax
405b6f:	89 45 fc             	mov    %eax,-0x4(%ebp)
405b72:	8b 45 14             	mov    0x14(%ebp),%eax
405b75:	33 c9                	xor    %ecx,%ecx
405b77:	89 4d f0             	mov    %ecx,-0x10(%ebp)
405b7a:	c7 45 f4 08 00 00 00 	movl   $0x8,-0xc(%ebp)
405b81:	89 4d f8             	mov    %ecx,-0x8(%ebp)
405b84:	8b 00                	mov    (%eax),%eax
405b86:	89 45 ec             	mov    %eax,-0x14(%ebp)
405b89:	8b 45 10             	mov    0x10(%ebp),%eax
405b8c:	89 4d e0             	mov    %ecx,-0x20(%ebp)
405b8f:	c7 45 e4 10 00 00 00 	movl   $0x10,-0x1c(%ebp)
405b96:	89 4d e8             	mov    %ecx,-0x18(%ebp)
405b99:	8b 00                	mov    (%eax),%eax
405b9b:	89 45 dc             	mov    %eax,-0x24(%ebp)
405b9e:	8d 45 bc             	lea    -0x44(%ebp),%eax
405ba1:	50                   	push   %eax
405ba2:	6a 04                	push   $0x4
405ba4:	51                   	push   %ecx
405ba5:	51                   	push   %ecx
405ba6:	52                   	push   %edx
405ba7:	68 08 41 42 00       	push   $0x424108
405bac:	e8 c7 03 00 00       	call   0x405f78
405bb1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405bb4:	33 cd                	xor    %ebp,%ecx
405bb6:	e8 b5 bc 01 00       	call   0x421870
405bbb:	c9                   	leave
405bbc:	c2 10 00             	ret    $0x10
405bbf:	8b ff                	mov    %edi,%edi
405bc1:	55                   	push   %ebp
405bc2:	8b ec                	mov    %esp,%ebp
405bc4:	83 ec 54             	sub    $0x54,%esp
405bc7:	a1 10 42 42 00       	mov    0x424210,%eax
405bcc:	33 c5                	xor    %ebp,%eax
405bce:	89 45 fc             	mov    %eax,-0x4(%ebp)
405bd1:	8b 45 18             	mov    0x18(%ebp),%eax
405bd4:	33 c9                	xor    %ecx,%ecx
405bd6:	89 45 ec             	mov    %eax,-0x14(%ebp)
405bd9:	8b 45 14             	mov    0x14(%ebp),%eax
405bdc:	89 4d f0             	mov    %ecx,-0x10(%ebp)
405bdf:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
405be6:	89 4d f8             	mov    %ecx,-0x8(%ebp)
405be9:	8b 00                	mov    (%eax),%eax
405beb:	89 45 dc             	mov    %eax,-0x24(%ebp)
405bee:	8b 45 10             	mov    0x10(%ebp),%eax
405bf1:	89 4d e0             	mov    %ecx,-0x20(%ebp)
405bf4:	c7 45 e4 08 00 00 00 	movl   $0x8,-0x1c(%ebp)
405bfb:	89 4d e8             	mov    %ecx,-0x18(%ebp)
405bfe:	8b 00                	mov    (%eax),%eax
405c00:	89 45 cc             	mov    %eax,-0x34(%ebp)
405c03:	8d 45 ac             	lea    -0x54(%ebp),%eax
405c06:	50                   	push   %eax
405c07:	6a 05                	push   $0x5
405c09:	51                   	push   %ecx
405c0a:	51                   	push   %ecx
405c0b:	52                   	push   %edx
405c0c:	68 08 41 42 00       	push   $0x424108
405c11:	89 4d d0             	mov    %ecx,-0x30(%ebp)
405c14:	c7 45 d4 10 00 00 00 	movl   $0x10,-0x2c(%ebp)
405c1b:	89 4d d8             	mov    %ecx,-0x28(%ebp)
405c1e:	e8 55 03 00 00       	call   0x405f78
405c23:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405c26:	33 cd                	xor    %ebp,%ecx
405c28:	e8 43 bc 01 00       	call   0x421870
405c2d:	c9                   	leave
405c2e:	c2 14 00             	ret    $0x14
405c31:	8b ff                	mov    %edi,%edi
405c33:	55                   	push   %ebp
405c34:	8b ec                	mov    %esp,%ebp
405c36:	81 ec 94 00 00 00    	sub    $0x94,%esp
405c3c:	a1 10 42 42 00       	mov    0x424210,%eax
405c41:	33 c5                	xor    %ebp,%eax
405c43:	89 45 fc             	mov    %eax,-0x4(%ebp)
405c46:	8b 45 28             	mov    0x28(%ebp),%eax
405c49:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
405c4c:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
405c50:	53                   	push   %ebx
405c51:	56                   	push   %esi
405c52:	8b 75 18             	mov    0x18(%ebp),%esi
405c55:	33 db                	xor    %ebx,%ebx
405c57:	57                   	push   %edi
405c58:	89 45 ec             	mov    %eax,-0x14(%ebp)
405c5b:	8b fa                	mov    %edx,%edi
405c5d:	8b 45 24             	mov    0x24(%ebp),%eax
405c60:	89 45 dc             	mov    %eax,-0x24(%ebp)
405c63:	8b 45 20             	mov    0x20(%ebp),%eax
405c66:	6a 04                	push   $0x4
405c68:	5a                   	pop    %edx
405c69:	6a 08                	push   $0x8
405c6b:	8b 00                	mov    (%eax),%eax
405c6d:	89 5d f0             	mov    %ebx,-0x10(%ebp)
405c70:	89 5d f8             	mov    %ebx,-0x8(%ebp)
405c73:	89 5d e0             	mov    %ebx,-0x20(%ebp)
405c76:	89 5d e8             	mov    %ebx,-0x18(%ebp)
405c79:	89 45 cc             	mov    %eax,-0x34(%ebp)
405c7c:	8d 45 bc             	lea    -0x44(%ebp),%eax
405c7f:	89 5d d0             	mov    %ebx,-0x30(%ebp)
405c82:	5b                   	pop    %ebx
405c83:	50                   	push   %eax
405c84:	89 55 f4             	mov    %edx,-0xc(%ebp)
405c87:	89 55 e4             	mov    %edx,-0x1c(%ebp)
405c8a:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
405c8d:	e8 9e 02 00 00       	call   0x405f30
405c92:	8d 45 ac             	lea    -0x54(%ebp),%eax
405c95:	8b ce                	mov    %esi,%ecx
405c97:	50                   	push   %eax
405c98:	e8 93 02 00 00       	call   0x405f30
405c9d:	8b 45 14             	mov    0x14(%ebp),%eax
405ca0:	33 c9                	xor    %ecx,%ecx
405ca2:	89 4d a0             	mov    %ecx,-0x60(%ebp)
405ca5:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
405ca8:	89 4d a8             	mov    %ecx,-0x58(%ebp)
405cab:	8b 00                	mov    (%eax),%eax
405cad:	89 45 9c             	mov    %eax,-0x64(%ebp)
405cb0:	8b 45 10             	mov    0x10(%ebp),%eax
405cb3:	89 4d 90             	mov    %ecx,-0x70(%ebp)
405cb6:	c7 45 94 10 00 00 00 	movl   $0x10,-0x6c(%ebp)
405cbd:	89 4d 98             	mov    %ecx,-0x68(%ebp)
405cc0:	8b 00                	mov    (%eax),%eax
405cc2:	89 45 8c             	mov    %eax,-0x74(%ebp)
405cc5:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
405ccb:	50                   	push   %eax
405ccc:	6a 09                	push   $0x9
405cce:	51                   	push   %ecx
405ccf:	51                   	push   %ecx
405cd0:	57                   	push   %edi
405cd1:	68 08 41 42 00       	push   $0x424108
405cd6:	e8 9d 02 00 00       	call   0x405f78
405cdb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405cde:	5f                   	pop    %edi
405cdf:	5e                   	pop    %esi
405ce0:	33 cd                	xor    %ebp,%ecx
405ce2:	5b                   	pop    %ebx
405ce3:	e8 88 bb 01 00       	call   0x421870
405ce8:	c9                   	leave
405ce9:	c2 24 00             	ret    $0x24
405cec:	8b ff                	mov    %edi,%edi
405cee:	55                   	push   %ebp
405cef:	8b ec                	mov    %esp,%ebp
405cf1:	81 ec 84 01 00 00    	sub    $0x184,%esp
405cf7:	a1 10 42 42 00       	mov    0x424210,%eax
405cfc:	33 c5                	xor    %ebp,%eax
405cfe:	89 45 fc             	mov    %eax,-0x4(%ebp)
405d01:	8b 45 64             	mov    0x64(%ebp),%eax
405d04:	89 45 ec             	mov    %eax,-0x14(%ebp)
405d07:	8b 45 60             	mov    0x60(%ebp),%eax
405d0a:	89 45 dc             	mov    %eax,-0x24(%ebp)
405d0d:	8b 45 5c             	mov    0x5c(%ebp),%eax
405d10:	89 45 cc             	mov    %eax,-0x34(%ebp)
405d13:	8b 45 58             	mov    0x58(%ebp),%eax
405d16:	89 45 bc             	mov    %eax,-0x44(%ebp)
405d19:	8b 45 54             	mov    0x54(%ebp),%eax
405d1c:	89 45 ac             	mov    %eax,-0x54(%ebp)
405d1f:	8b 45 50             	mov    0x50(%ebp),%eax
405d22:	89 45 9c             	mov    %eax,-0x64(%ebp)
405d25:	8b 45 4c             	mov    0x4c(%ebp),%eax
405d28:	89 45 8c             	mov    %eax,-0x74(%ebp)
405d2b:	8b 45 48             	mov    0x48(%ebp),%eax
405d2e:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
405d34:	8b 45 44             	mov    0x44(%ebp),%eax
405d37:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
405d3d:	8b 45 40             	mov    0x40(%ebp),%eax
405d40:	56                   	push   %esi
405d41:	33 f6                	xor    %esi,%esi
405d43:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
405d49:	8b 45 3c             	mov    0x3c(%ebp),%eax
405d4c:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
405d52:	8b 45 38             	mov    0x38(%ebp),%eax
405d55:	6a 04                	push   $0x4
405d57:	59                   	pop    %ecx
405d58:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
405d5e:	8b 45 34             	mov    0x34(%ebp),%eax
405d61:	89 85 2c ff ff ff    	mov    %eax,-0xd4(%ebp)
405d67:	8b 45 30             	mov    0x30(%ebp),%eax
405d6a:	6a 02                	push   $0x2
405d6c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
405d6f:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
405d72:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
405d75:	59                   	pop    %ecx
405d76:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
405d7c:	8b 45 2c             	mov    0x2c(%ebp),%eax
405d7f:	89 75 f0             	mov    %esi,-0x10(%ebp)
405d82:	89 75 f8             	mov    %esi,-0x8(%ebp)
405d85:	89 75 e0             	mov    %esi,-0x20(%ebp)
405d88:	89 75 e8             	mov    %esi,-0x18(%ebp)
405d8b:	89 75 d0             	mov    %esi,-0x30(%ebp)
405d8e:	89 75 d8             	mov    %esi,-0x28(%ebp)
405d91:	89 75 c0             	mov    %esi,-0x40(%ebp)
405d94:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
405d97:	89 75 c8             	mov    %esi,-0x38(%ebp)
405d9a:	89 75 b0             	mov    %esi,-0x50(%ebp)
405d9d:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
405da0:	89 75 b8             	mov    %esi,-0x48(%ebp)
405da3:	89 75 a0             	mov    %esi,-0x60(%ebp)
405da6:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
405da9:	89 75 a8             	mov    %esi,-0x58(%ebp)
405dac:	89 75 90             	mov    %esi,-0x70(%ebp)
405daf:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
405db2:	89 75 98             	mov    %esi,-0x68(%ebp)
405db5:	89 75 80             	mov    %esi,-0x80(%ebp)
405db8:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
405dbb:	89 75 88             	mov    %esi,-0x78(%ebp)
405dbe:	89 b5 70 ff ff ff    	mov    %esi,-0x90(%ebp)
405dc4:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
405dca:	89 b5 78 ff ff ff    	mov    %esi,-0x88(%ebp)
405dd0:	89 b5 60 ff ff ff    	mov    %esi,-0xa0(%ebp)
405dd6:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
405ddc:	89 b5 68 ff ff ff    	mov    %esi,-0x98(%ebp)
405de2:	89 b5 50 ff ff ff    	mov    %esi,-0xb0(%ebp)
405de8:	89 8d 54 ff ff ff    	mov    %ecx,-0xac(%ebp)
405dee:	89 b5 58 ff ff ff    	mov    %esi,-0xa8(%ebp)
405df4:	89 b5 40 ff ff ff    	mov    %esi,-0xc0(%ebp)
405dfa:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
405e00:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
405e06:	89 b5 30 ff ff ff    	mov    %esi,-0xd0(%ebp)
405e0c:	89 8d 34 ff ff ff    	mov    %ecx,-0xcc(%ebp)
405e12:	89 b5 38 ff ff ff    	mov    %esi,-0xc8(%ebp)
405e18:	89 b5 20 ff ff ff    	mov    %esi,-0xe0(%ebp)
405e1e:	89 8d 24 ff ff ff    	mov    %ecx,-0xdc(%ebp)
405e24:	89 b5 28 ff ff ff    	mov    %esi,-0xd8(%ebp)
405e2a:	89 85 0c ff ff ff    	mov    %eax,-0xf4(%ebp)
405e30:	89 b5 10 ff ff ff    	mov    %esi,-0xf0(%ebp)
405e36:	89 8d 14 ff ff ff    	mov    %ecx,-0xec(%ebp)
405e3c:	89 b5 18 ff ff ff    	mov    %esi,-0xe8(%ebp)
405e42:	8b 45 28             	mov    0x28(%ebp),%eax
405e45:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
405e4b:	8b 45 24             	mov    0x24(%ebp),%eax
405e4e:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
405e54:	8b 45 20             	mov    0x20(%ebp),%eax
405e57:	89 85 dc fe ff ff    	mov    %eax,-0x124(%ebp)
405e5d:	8b 45 1c             	mov    0x1c(%ebp),%eax
405e60:	89 85 cc fe ff ff    	mov    %eax,-0x134(%ebp)
405e66:	8b 45 18             	mov    0x18(%ebp),%eax
405e69:	89 85 bc fe ff ff    	mov    %eax,-0x144(%ebp)
405e6f:	8b 45 14             	mov    0x14(%ebp),%eax
405e72:	89 b5 00 ff ff ff    	mov    %esi,-0x100(%ebp)
405e78:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
405e7e:	89 b5 08 ff ff ff    	mov    %esi,-0xf8(%ebp)
405e84:	8b 00                	mov    (%eax),%eax
405e86:	89 85 ac fe ff ff    	mov    %eax,-0x154(%ebp)
405e8c:	8b 45 10             	mov    0x10(%ebp),%eax
405e8f:	89 b5 f0 fe ff ff    	mov    %esi,-0x110(%ebp)
405e95:	89 8d f4 fe ff ff    	mov    %ecx,-0x10c(%ebp)
405e9b:	89 b5 f8 fe ff ff    	mov    %esi,-0x108(%ebp)
405ea1:	8b 00                	mov    (%eax),%eax
405ea3:	89 85 9c fe ff ff    	mov    %eax,-0x164(%ebp)
405ea9:	8d 85 7c fe ff ff    	lea    -0x184(%ebp),%eax
405eaf:	50                   	push   %eax
405eb0:	6a 18                	push   $0x18
405eb2:	56                   	push   %esi
405eb3:	56                   	push   %esi
405eb4:	52                   	push   %edx
405eb5:	68 08 41 42 00       	push   $0x424108
405eba:	89 b5 e0 fe ff ff    	mov    %esi,-0x120(%ebp)
405ec0:	89 8d e4 fe ff ff    	mov    %ecx,-0x11c(%ebp)
405ec6:	89 b5 e8 fe ff ff    	mov    %esi,-0x118(%ebp)
405ecc:	89 b5 d0 fe ff ff    	mov    %esi,-0x130(%ebp)
405ed2:	89 8d d4 fe ff ff    	mov    %ecx,-0x12c(%ebp)
405ed8:	89 b5 d8 fe ff ff    	mov    %esi,-0x128(%ebp)
405ede:	89 b5 c0 fe ff ff    	mov    %esi,-0x140(%ebp)
405ee4:	89 8d c4 fe ff ff    	mov    %ecx,-0x13c(%ebp)
405eea:	89 b5 c8 fe ff ff    	mov    %esi,-0x138(%ebp)
405ef0:	89 b5 b0 fe ff ff    	mov    %esi,-0x150(%ebp)
405ef6:	c7 85 b4 fe ff ff 08 	movl   $0x8,-0x14c(%ebp)
405efd:	00 00 00
405f00:	89 b5 b8 fe ff ff    	mov    %esi,-0x148(%ebp)
405f06:	89 b5 a0 fe ff ff    	mov    %esi,-0x160(%ebp)
405f0c:	c7 85 a4 fe ff ff 10 	movl   $0x10,-0x15c(%ebp)
405f13:	00 00 00
405f16:	89 b5 a8 fe ff ff    	mov    %esi,-0x158(%ebp)
405f1c:	e8 57 00 00 00       	call   0x405f78
405f21:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405f24:	33 cd                	xor    %ebp,%ecx
405f26:	5e                   	pop    %esi
405f27:	e8 44 b9 01 00       	call   0x421870
405f2c:	c9                   	leave
405f2d:	c2 60 00             	ret    $0x60
405f30:	8b ff                	mov    %edi,%edi
405f32:	55                   	push   %ebp
405f33:	8b ec                	mov    %esp,%ebp
405f35:	8b 11                	mov    (%ecx),%edx
405f37:	57                   	push   %edi
405f38:	33 ff                	xor    %edi,%edi
405f3a:	85 d2                	test   %edx,%edx
405f3c:	74 1f                	je     0x405f5d
405f3e:	8b ca                	mov    %edx,%ecx
405f40:	56                   	push   %esi
405f41:	8d 71 02             	lea    0x2(%ecx),%esi
405f44:	66 8b 01             	mov    (%ecx),%ax
405f47:	83 c1 02             	add    $0x2,%ecx
405f4a:	66 3b c7             	cmp    %di,%ax
405f4d:	75 f5                	jne    0x405f44
405f4f:	2b ce                	sub    %esi,%ecx
405f51:	d1 f9                	sar    $1,%ecx
405f53:	5e                   	pop    %esi
405f54:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
405f5b:	eb 08                	jmp    0x405f65
405f5d:	6a 02                	push   $0x2
405f5f:	ba 94 1f 40 00       	mov    $0x401f94,%edx
405f64:	59                   	pop    %ecx
405f65:	8b 45 08             	mov    0x8(%ebp),%eax
405f68:	89 78 04             	mov    %edi,0x4(%eax)
405f6b:	89 78 0c             	mov    %edi,0xc(%eax)
405f6e:	89 10                	mov    %edx,(%eax)
405f70:	89 48 08             	mov    %ecx,0x8(%eax)
405f73:	5f                   	pop    %edi
405f74:	5d                   	pop    %ebp
405f75:	c2 04 00             	ret    $0x4
405f78:	8b ff                	mov    %edi,%edi
405f7a:	55                   	push   %ebp
405f7b:	8b ec                	mov    %esp,%ebp
405f7d:	83 ec 14             	sub    $0x14,%esp
405f80:	8b 4d 0c             	mov    0xc(%ebp),%ecx
405f83:	56                   	push   %esi
405f84:	8b 75 08             	mov    0x8(%ebp),%esi
405f87:	0f b6 01             	movzbl (%ecx),%eax
405f8a:	8d 51 01             	lea    0x1(%ecx),%edx
405f8d:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
405f90:	c1 e0 18             	shl    $0x18,%eax
405f93:	89 45 ec             	mov    %eax,-0x14(%ebp)
405f96:	0f b7 02             	movzwl (%edx),%eax
405f99:	89 45 f0             	mov    %eax,-0x10(%ebp)
405f9c:	8b 42 02             	mov    0x2(%edx),%eax
405f9f:	89 45 f4             	mov    %eax,-0xc(%ebp)
405fa2:	8b 42 06             	mov    0x6(%edx),%eax
405fa5:	83 c2 0a             	add    $0xa,%edx
405fa8:	89 45 f8             	mov    %eax,-0x8(%ebp)
405fab:	8b 46 04             	mov    0x4(%esi),%eax
405fae:	83 61 04 00          	andl   $0x0,0x4(%ecx)
405fb2:	89 01                	mov    %eax,(%ecx)
405fb4:	8b 46 04             	mov    0x4(%esi),%eax
405fb7:	51                   	push   %ecx
405fb8:	ff 75 18             	push   0x18(%ebp)
405fbb:	0f b7 00             	movzwl (%eax),%eax
405fbe:	83 61 14 00          	andl   $0x0,0x14(%ecx)
405fc2:	ff 75 14             	push   0x14(%ebp)
405fc5:	89 41 08             	mov    %eax,0x8(%ecx)
405fc8:	ff 75 10             	push   0x10(%ebp)
405fcb:	c7 41 0c 02 00 00 00 	movl   $0x2,0xc(%ecx)
405fd2:	89 51 10             	mov    %edx,0x10(%ecx)
405fd5:	0f b7 02             	movzwl (%edx),%eax
405fd8:	89 41 18             	mov    %eax,0x18(%ecx)
405fdb:	b8 82 56 40 00       	mov    $0x405682,%eax
405fe0:	c7 41 1c 01 00 00 00 	movl   $0x1,0x1c(%ecx)
405fe7:	2d 10 50 40 00       	sub    $0x405010,%eax