405c0c:	8d 04 f1             	lea    (%ecx,%esi,8),%eax
405c0f:	89 47 04             	mov    %eax,0x4(%edi)
405c12:	e8 fc 9d 03 00       	call   0x43fa13
405c17:	c2 08 00             	ret    $0x8
405c1a:	e8 3a 7b 01 00       	call   0x41d759
405c1f:	ff 75 08             	push   0x8(%ebp)
405c22:	ff 75 ec             	push   -0x14(%ebp)
405c25:	8b 4d e8             	mov    -0x18(%ebp),%ecx
405c28:	e8 ef 3a 01 00       	call   0x41971c
405c2d:	8b c8                	mov    %eax,%ecx
405c2f:	e8 22 a0 01 00       	call   0x41fc56
405c34:	6a 00                	push   $0x0
405c36:	6a 00                	push   $0x0
405c38:	e8 85 e5 03 00       	call   0x4441c2
405c3d:	cc                   	int3
405c3e:	6a 0c                	push   $0xc
405c40:	b8 72 a4 48 00       	mov    $0x48a472,%eax
405c45:	e8 6b 9e 03 00       	call   0x43fab5
405c4a:	8b f9                	mov    %ecx,%edi
405c4c:	89 7d e8             	mov    %edi,-0x18(%ebp)
405c4f:	8b 47 04             	mov    0x4(%edi),%eax
405c52:	2b 07                	sub    (%edi),%eax
405c54:	99                   	cltd
405c55:	6a 0c                	push   $0xc
405c57:	59                   	pop    %ecx
405c58:	f7 f9                	idiv   %ecx
405c5a:	8b d8                	mov    %eax,%ebx
405c5c:	8b 47 08             	mov    0x8(%edi),%eax
405c5f:	2b 07                	sub    (%edi),%eax
405c61:	99                   	cltd
405c62:	f7 f9                	idiv   %ecx
405c64:	8b 75 08             	mov    0x8(%ebp),%esi
405c67:	3b f0                	cmp    %eax,%esi
405c69:	76 59                	jbe    0x405cc4
405c6b:	81 fe 55 55 55 15    	cmp    $0x15555555,%esi
405c71:	77 7a                	ja     0x405ced
405c73:	56                   	push   %esi
405c74:	8b cf                	mov    %edi,%ecx
405c76:	e8 e1 11 01 00       	call   0x416e5c
405c7b:	89 45 08             	mov    %eax,0x8(%ebp)
405c7e:	50                   	push   %eax
405c7f:	8b cf                	mov    %edi,%ecx
405c81:	e8 2f 98 01 00       	call   0x41f4b5
405c86:	89 45 ec             	mov    %eax,-0x14(%ebp)
405c89:	6b cb 0c             	imul   $0xc,%ebx,%ecx
405c8c:	03 c8                	add    %eax,%ecx
405c8e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405c92:	ff 75 0c             	push   0xc(%ebp)
405c95:	8b c6                	mov    %esi,%eax
405c97:	2b c3                	sub    %ebx,%eax
405c99:	50                   	push   %eax
405c9a:	51                   	push   %ecx
405c9b:	e8 7d 0e 00 00       	call   0x406b1d
405ca0:	57                   	push   %edi
405ca1:	8b 5d ec             	mov    -0x14(%ebp),%ebx
405ca4:	53                   	push   %ebx
405ca5:	ff 77 04             	push   0x4(%edi)
405ca8:	ff 37                	push   (%edi)
405caa:	e8 fe 0a 00 00       	call   0x4067ad
405caf:	83 c4 1c             	add    $0x1c,%esp
405cb2:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
405cb6:	ff 75 08             	push   0x8(%ebp)
405cb9:	56                   	push   %esi
405cba:	53                   	push   %ebx
405cbb:	8b cf                	mov    %edi,%ecx
405cbd:	e8 d1 14 01 00       	call   0x417193
405cc2:	eb 21                	jmp    0x405ce5
405cc4:	3b f3                	cmp    %ebx,%esi
405cc6:	76 13                	jbe    0x405cdb
405cc8:	ff 75 0c             	push   0xc(%ebp)
405ccb:	2b f3                	sub    %ebx,%esi
405ccd:	56                   	push   %esi
405cce:	ff 77 04             	push   0x4(%edi)
405cd1:	e8 47 0e 00 00       	call   0x406b1d
405cd6:	83 c4 0c             	add    $0xc,%esp
405cd9:	eb 07                	jmp    0x405ce2
405cdb:	74 08                	je     0x405ce5
405cdd:	6b c6 0c             	imul   $0xc,%esi,%eax
405ce0:	03 07                	add    (%edi),%eax
405ce2:	89 47 04             	mov    %eax,0x4(%edi)
405ce5:	e8 29 9d 03 00       	call   0x43fa13
405cea:	c2 08 00             	ret    $0x8
405ced:	e8 b4 7a 01 00       	call   0x41d7a6
405cf2:	ff 75 08             	push   0x8(%ebp)
405cf5:	ff 75 ec             	push   -0x14(%ebp)
405cf8:	8b 4d e8             	mov    -0x18(%ebp),%ecx
405cfb:	e8 2b 3a 01 00       	call   0x41972b
405d00:	8b c8                	mov    %eax,%ecx
405d02:	e8 d9 9f 01 00       	call   0x41fce0
405d07:	6a 00                	push   $0x0
405d09:	6a 00                	push   $0x0
405d0b:	e8 b2 e4 03 00       	call   0x4441c2
405d10:	cc                   	int3
405d11:	6a 0c                	push   $0xc
405d13:	b8 8d a4 48 00       	mov    $0x48a48d,%eax
405d18:	e8 98 9d 03 00       	call   0x43fab5
405d1d:	8b f9                	mov    %ecx,%edi
405d1f:	89 7d e8             	mov    %edi,-0x18(%ebp)
405d22:	8b 0f                	mov    (%edi),%ecx
405d24:	8b 5f 04             	mov    0x4(%edi),%ebx
405d27:	2b d9                	sub    %ecx,%ebx
405d29:	c1 fb 03             	sar    $0x3,%ebx
405d2c:	8b 47 08             	mov    0x8(%edi),%eax
405d2f:	2b c1                	sub    %ecx,%eax
405d31:	c1 f8 03             	sar    $0x3,%eax
405d34:	8b 75 08             	mov    0x8(%ebp),%esi
405d37:	3b f0                	cmp    %eax,%esi
405d39:	76 57                	jbe    0x405d92
405d3b:	81 fe ff ff ff 1f    	cmp    $0x1fffffff,%esi
405d41:	77 76                	ja     0x405db9
405d43:	56                   	push   %esi
405d44:	8b cf                	mov    %edi,%ecx
405d46:	e8 67 10 01 00       	call   0x416db2
405d4b:	89 45 08             	mov    %eax,0x8(%ebp)
405d4e:	50                   	push   %eax
405d4f:	8b cf                	mov    %edi,%ecx
405d51:	e8 c2 96 01 00       	call   0x41f418
405d56:	89 45 ec             	mov    %eax,-0x14(%ebp)
405d59:	8d 0c d8             	lea    (%eax,%ebx,8),%ecx
405d5c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405d60:	ff 75 0c             	push   0xc(%ebp)
405d63:	8b c6                	mov    %esi,%eax
405d65:	2b c3                	sub    %ebx,%eax
405d67:	50                   	push   %eax
405d68:	51                   	push   %ecx
405d69:	e8 55 0d 00 00       	call   0x406ac3
405d6e:	57                   	push   %edi
405d6f:	8b 5d ec             	mov    -0x14(%ebp),%ebx
405d72:	53                   	push   %ebx
405d73:	ff 77 04             	push   0x4(%edi)
405d76:	ff 37                	push   (%edi)
405d78:	e8 9e 09 00 00       	call   0x40671b
405d7d:	83 c4 1c             	add    $0x1c,%esp
405d80:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
405d84:	ff 75 08             	push   0x8(%ebp)
405d87:	56                   	push   %esi
405d88:	53                   	push   %ebx
405d89:	8b cf                	mov    %edi,%ecx
405d8b:	e8 e9 12 01 00       	call   0x417079
405d90:	eb 1f                	jmp    0x405db1
405d92:	3b f3                	cmp    %ebx,%esi
405d94:	76 13                	jbe    0x405da9
405d96:	ff 75 0c             	push   0xc(%ebp)
405d99:	2b f3                	sub    %ebx,%esi
405d9b:	56                   	push   %esi
405d9c:	ff 77 04             	push   0x4(%edi)
405d9f:	e8 1f 0d 00 00       	call   0x406ac3
405da4:	83 c4 0c             	add    $0xc,%esp
405da7:	eb 05                	jmp    0x405dae
405da9:	74 06                	je     0x405db1
405dab:	8d 04 f1             	lea    (%ecx,%esi,8),%eax
405dae:	89 47 04             	mov    %eax,0x4(%edi)
405db1:	e8 5d 9c 03 00       	call   0x43fa13
405db6:	c2 08 00             	ret    $0x8
405db9:	e8 b1 79 01 00       	call   0x41d76f
405dbe:	ff 75 08             	push   0x8(%ebp)
405dc1:	ff 75 ec             	push   -0x14(%ebp)
405dc4:	8b 4d e8             	mov    -0x18(%ebp),%ecx
405dc7:	e8 56 39 01 00       	call   0x419722
405dcc:	8b c8                	mov    %eax,%ecx
405dce:	e8 b3 9e 01 00       	call   0x41fc86
405dd3:	6a 00                	push   $0x0
405dd5:	6a 00                	push   $0x0
405dd7:	e8 e6 e3 03 00       	call   0x4441c2
405ddc:	cc                   	int3
405ddd:	6a 0c                	push   $0xc
405ddf:	b8 a8 a4 48 00       	mov    $0x48a4a8,%eax
405de4:	e8 cc 9c 03 00       	call   0x43fab5
405de9:	8b f9                	mov    %ecx,%edi
405deb:	89 7d e8             	mov    %edi,-0x18(%ebp)
405dee:	8b 0f                	mov    (%edi),%ecx
405df0:	8b 5f 04             	mov    0x4(%edi),%ebx
405df3:	2b d9                	sub    %ecx,%ebx
405df5:	c1 fb 02             	sar    $0x2,%ebx
405df8:	8b 47 08             	mov    0x8(%edi),%eax
405dfb:	2b c1                	sub    %ecx,%eax
405dfd:	c1 f8 02             	sar    $0x2,%eax
405e00:	8b 75 08             	mov    0x8(%ebp),%esi
405e03:	3b f0                	cmp    %eax,%esi
405e05:	76 5a                	jbe    0x405e61
405e07:	81 fe ff ff ff 3f    	cmp    $0x3fffffff,%esi
405e0d:	77 7c                	ja     0x405e8b
405e0f:	56                   	push   %esi
405e10:	8b cf                	mov    %edi,%ecx
405e12:	e8 cc 0e 01 00       	call   0x416ce3
405e17:	89 45 08             	mov    %eax,0x8(%ebp)
405e1a:	50                   	push   %eax
405e1b:	8b cf                	mov    %edi,%ecx
405e1d:	e8 53 95 01 00       	call   0x41f375
405e22:	89 45 ec             	mov    %eax,-0x14(%ebp)
405e25:	8d 0c 98             	lea    (%eax,%ebx,4),%ecx
405e28:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405e2c:	ff 75 0c             	push   0xc(%ebp)
405e2f:	ff 75 10             	push   0x10(%ebp)
405e32:	8b c6                	mov    %esi,%eax
405e34:	2b c3                	sub    %ebx,%eax
405e36:	50                   	push   %eax
405e37:	51                   	push   %ecx
405e38:	e8 48 08 00 00       	call   0x406685
405e3d:	57                   	push   %edi
405e3e:	8b 5d ec             	mov    -0x14(%ebp),%ebx
405e41:	53                   	push   %ebx
405e42:	ff 77 04             	push   0x4(%edi)
405e45:	ff 37                	push   (%edi)
405e47:	e8 5a 08 00 00       	call   0x4066a6
405e4c:	83 c4 20             	add    $0x20,%esp
405e4f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
405e53:	ff 75 08             	push   0x8(%ebp)
405e56:	56                   	push   %esi
405e57:	53                   	push   %ebx
405e58:	8b cf                	mov    %edi,%ecx
405e5a:	e8 f7 10 01 00       	call   0x416f56
405e5f:	eb 22                	jmp    0x405e83
405e61:	3b f3                	cmp    %ebx,%esi
405e63:	76 16                	jbe    0x405e7b
405e65:	ff 75 0c             	push   0xc(%ebp)
405e68:	ff 75 10             	push   0x10(%ebp)
405e6b:	2b f3                	sub    %ebx,%esi
405e6d:	56                   	push   %esi
405e6e:	ff 77 04             	push   0x4(%edi)
405e71:	e8 0f 08 00 00       	call   0x406685
405e76:	83 c4 10             	add    $0x10,%esp
405e79:	eb 05                	jmp    0x405e80
405e7b:	74 06                	je     0x405e83
405e7d:	8d 04 b1             	lea    (%ecx,%esi,4),%eax
405e80:	89 47 04             	mov    %eax,0x4(%edi)
405e83:	e8 8b 9b 03 00       	call   0x43fa13
405e88:	c2 0c 00             	ret    $0xc
405e8b:	e8 a8 78 01 00       	call   0x41d738
405e90:	ff 75 08             	push   0x8(%ebp)
405e93:	ff 75 ec             	push   -0x14(%ebp)
405e96:	8b 4d e8             	mov    -0x18(%ebp),%ecx
405e99:	e8 78 38 01 00       	call   0x419716
405e9e:	8b c8                	mov    %eax,%ecx
405ea0:	e8 6b 9d 01 00       	call   0x41fc10
405ea5:	6a 00                	push   $0x0
405ea7:	6a 00                	push   $0x0
405ea9:	e8 14 e3 03 00       	call   0x4441c2
405eae:	cc                   	int3
405eaf:	6a 0c                	push   $0xc
405eb1:	b8 c3 a4 48 00       	mov    $0x48a4c3,%eax
405eb6:	e8 fa 9b 03 00       	call   0x43fab5
405ebb:	8b f9                	mov    %ecx,%edi
405ebd:	89 7d e8             	mov    %edi,-0x18(%ebp)
405ec0:	8b 47 04             	mov    0x4(%edi),%eax
405ec3:	2b 07                	sub    (%edi),%eax
405ec5:	99                   	cltd
405ec6:	6a 0c                	push   $0xc
405ec8:	59                   	pop    %ecx
405ec9:	f7 f9                	idiv   %ecx
405ecb:	8b d8                	mov    %eax,%ebx
405ecd:	8b 47 08             	mov    0x8(%edi),%eax
405ed0:	2b 07                	sub    (%edi),%eax
405ed2:	99                   	cltd
405ed3:	f7 f9                	idiv   %ecx
405ed5:	8b 75 08             	mov    0x8(%ebp),%esi
405ed8:	3b f0                	cmp    %eax,%esi
405eda:	76 59                	jbe    0x405f35
405edc:	81 fe 55 55 55 15    	cmp    $0x15555555,%esi
405ee2:	77 7a                	ja     0x405f5e
405ee4:	56                   	push   %esi
405ee5:	8b cf                	mov    %edi,%ecx
405ee7:	e8 1a 0f 01 00       	call   0x416e06
405eec:	89 45 08             	mov    %eax,0x8(%ebp)
405eef:	50                   	push   %eax
405ef0:	8b cf                	mov    %edi,%ecx
405ef2:	e8 80 95 01 00       	call   0x41f477
405ef7:	89 45 ec             	mov    %eax,-0x14(%ebp)
405efa:	6b cb 0c             	imul   $0xc,%ebx,%ecx
405efd:	03 c8                	add    %eax,%ecx
405eff:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405f03:	ff 75 0c             	push   0xc(%ebp)
405f06:	8b c6                	mov    %esi,%eax
405f08:	2b c3                	sub    %ebx,%eax
405f0a:	50                   	push   %eax
405f0b:	51                   	push   %ecx
405f0c:	e8 d0 0b 00 00       	call   0x406ae1
405f11:	57                   	push   %edi
405f12:	8b 5d ec             	mov    -0x14(%ebp),%ebx
405f15:	53                   	push   %ebx
405f16:	ff 77 04             	push   0x4(%edi)
405f19:	ff 37                	push   (%edi)
405f1b:	e8 47 08 00 00       	call   0x406767
405f20:	83 c4 1c             	add    $0x1c,%esp
405f23:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
405f27:	ff 75 08             	push   0x8(%ebp)
405f2a:	56                   	push   %esi
405f2b:	53                   	push   %ebx
405f2c:	8b cf                	mov    %edi,%ecx
405f2e:	e8 e2 11 01 00       	call   0x417115
405f33:	eb 21                	jmp    0x405f56
405f35:	3b f3                	cmp    %ebx,%esi
405f37:	76 13                	jbe    0x405f4c
405f39:	ff 75 0c             	push   0xc(%ebp)
405f3c:	2b f3                	sub    %ebx,%esi
405f3e:	56                   	push   %esi
405f3f:	ff 77 04             	push   0x4(%edi)
405f42:	e8 9a 0b 00 00       	call   0x406ae1
405f47:	83 c4 0c             	add    $0xc,%esp
405f4a:	eb 07                	jmp    0x405f53
405f4c:	74 08                	je     0x405f56
405f4e:	6b c6 0c             	imul   $0xc,%esi,%eax
405f51:	03 07                	add    (%edi),%eax
405f53:	89 47 04             	mov    %eax,0x4(%edi)
405f56:	e8 b8 9a 03 00       	call   0x43fa13
405f5b:	c2 08 00             	ret    $0x8
405f5e:	e8 2d 78 01 00       	call   0x41d790
405f63:	ff 75 08             	push   0x8(%ebp)
405f66:	ff 75 ec             	push   -0x14(%ebp)
405f69:	8b 4d e8             	mov    -0x18(%ebp),%ecx
405f6c:	e8 b4 37 01 00       	call   0x419725
405f71:	8b c8                	mov    %eax,%ecx
405f73:	e8 3c 9d 01 00       	call   0x41fcb4
405f78:	6a 00                	push   $0x0
405f7a:	6a 00                	push   $0x0
405f7c:	e8 41 e2 03 00       	call   0x4441c2
405f81:	cc                   	int3
405f82:	55                   	push   %ebp
405f83:	8b ec                	mov    %esp,%ebp
405f85:	8b 45 0c             	mov    0xc(%ebp),%eax
405f88:	3b 45 14             	cmp    0x14(%ebp),%eax
405f8b:	75 17                	jne    0x405fa4
405f8d:	50                   	push   %eax
405f8e:	ff 75 10             	push   0x10(%ebp)
405f91:	ff 75 08             	push   0x8(%ebp)
405f94:	e8 39 b6 03 00       	call   0x4415d2
405f99:	83 c4 0c             	add    $0xc,%esp
405f9c:	85 c0                	test   %eax,%eax
405f9e:	75 04                	jne    0x405fa4
405fa0:	b0 01                	mov    $0x1,%al
405fa2:	5d                   	pop    %ebp
405fa3:	c3                   	ret
405fa4:	32 c0                	xor    %al,%al
405fa6:	5d                   	pop    %ebp
405fa7:	c3                   	ret
405fa8:	55                   	push   %ebp
405fa9:	8b ec                	mov    %esp,%ebp
405fab:	8b 45 0c             	mov    0xc(%ebp),%eax
405fae:	3b 45 14             	cmp    0x14(%ebp),%eax
405fb1:	75 17                	jne    0x405fca
405fb3:	50                   	push   %eax
405fb4:	ff 75 10             	push   0x10(%ebp)
405fb7:	ff 75 08             	push   0x8(%ebp)
405fba:	e8 3e 9a 01 00       	call   0x41f9fd
405fbf:	83 c4 0c             	add    $0xc,%esp
405fc2:	85 c0                	test   %eax,%eax
405fc4:	75 04                	jne    0x405fca
405fc6:	b0 01                	mov    $0x1,%al
405fc8:	5d                   	pop    %ebp
405fc9:	c3                   	ret