5c0e0a:	8b 41 04             	mov    0x4(%ecx),%eax
5c0e0d:	89 43 04             	mov    %eax,0x4(%ebx)
5c0e10:	8b 41 08             	mov    0x8(%ecx),%eax
5c0e13:	89 43 08             	mov    %eax,0x8(%ebx)
5c0e16:	8b 41 0c             	mov    0xc(%ecx),%eax
5c0e19:	89 43 0c             	mov    %eax,0xc(%ebx)
5c0e1c:	8b 41 10             	mov    0x10(%ecx),%eax
5c0e1f:	89 43 10             	mov    %eax,0x10(%ebx)
5c0e22:	8b 45 08             	mov    0x8(%ebp),%eax
5c0e25:	89 31                	mov    %esi,(%ecx)
5c0e27:	89 79 04             	mov    %edi,0x4(%ecx)
5c0e2a:	89 51 08             	mov    %edx,0x8(%ecx)
5c0e2d:	89 41 0c             	mov    %eax,0xc(%ecx)
5c0e30:	8b 45 0c             	mov    0xc(%ebp),%eax
5c0e33:	89 41 10             	mov    %eax,0x10(%ecx)
5c0e36:	5f                   	pop    %edi
5c0e37:	5e                   	pop    %esi
5c0e38:	5b                   	pop    %ebx
5c0e39:	8b e5                	mov    %ebp,%esp
5c0e3b:	5d                   	pop    %ebp
5c0e3c:	c3                   	ret
5c0e3d:	cc                   	int3
5c0e3e:	cc                   	int3
5c0e3f:	cc                   	int3
5c0e40:	55                   	push   %ebp
5c0e41:	8b ec                	mov    %esp,%ebp
5c0e43:	83 ec 10             	sub    $0x10,%esp
5c0e46:	53                   	push   %ebx
5c0e47:	8b 5d 10             	mov    0x10(%ebp),%ebx
5c0e4a:	b8 67 66 66 66       	mov    $0x66666667,%eax
5c0e4f:	56                   	push   %esi
5c0e50:	57                   	push   %edi
5c0e51:	8b 7d 0c             	mov    0xc(%ebp),%edi
5c0e54:	8b cb                	mov    %ebx,%ecx
5c0e56:	2b cf                	sub    %edi,%ecx
5c0e58:	f7 e9                	imul   %ecx
5c0e5a:	8d 43 ec             	lea    -0x14(%ebx),%eax
5c0e5d:	c1 fa 03             	sar    $0x3,%edx
5c0e60:	8b ca                	mov    %edx,%ecx
5c0e62:	89 45 f8             	mov    %eax,-0x8(%ebp)
5c0e65:	c1 e9 1f             	shr    $0x1f,%ecx
5c0e68:	03 ca                	add    %edx,%ecx
5c0e6a:	d1 f9                	sar    $1,%ecx
5c0e6c:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5c0e6f:	8d 34 8f             	lea    (%edi,%ecx,4),%esi
5c0e72:	8b c8                	mov    %eax,%ecx
5c0e74:	2b cf                	sub    %edi,%ecx
5c0e76:	b8 67 66 66 66       	mov    $0x66666667,%eax
5c0e7b:	f7 e9                	imul   %ecx
5c0e7d:	c1 fa 03             	sar    $0x3,%edx
5c0e80:	8b c2                	mov    %edx,%eax
5c0e82:	c1 e8 1f             	shr    $0x1f,%eax
5c0e85:	03 c2                	add    %edx,%eax
5c0e87:	83 f8 28             	cmp    $0x28,%eax
5c0e8a:	7e 65                	jle    0x5c0ef1
5c0e8c:	40                   	inc    %eax
5c0e8d:	c1 f8 03             	sar    $0x3,%eax
5c0e90:	8d 1c 80             	lea    (%eax,%eax,4),%ebx
5c0e93:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5c0e96:	c1 e3 02             	shl    $0x2,%ebx
5c0e99:	8b 45 0c             	mov    0xc(%ebp),%eax
5c0e9c:	c1 e1 03             	shl    $0x3,%ecx
5c0e9f:	03 c1                	add    %ecx,%eax
5c0ea1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5c0ea4:	8d 14 3b             	lea    (%ebx,%edi,1),%edx
5c0ea7:	8b 7d 14             	mov    0x14(%ebp),%edi
5c0eaa:	57                   	push   %edi
5c0eab:	50                   	push   %eax
5c0eac:	52                   	push   %edx
5c0ead:	ff 75 0c             	push   0xc(%ebp)
5c0eb0:	89 55 f4             	mov    %edx,-0xc(%ebp)
5c0eb3:	e8 88 fe ff ff       	call   0x5c0d40
5c0eb8:	57                   	push   %edi
5c0eb9:	8d 04 33             	lea    (%ebx,%esi,1),%eax
5c0ebc:	50                   	push   %eax
5c0ebd:	8b c6                	mov    %esi,%eax
5c0ebf:	2b c3                	sub    %ebx,%eax
5c0ec1:	56                   	push   %esi
5c0ec2:	50                   	push   %eax
5c0ec3:	e8 78 fe ff ff       	call   0x5c0d40
5c0ec8:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c0ecb:	8b f8                	mov    %eax,%edi
5c0ecd:	2b fb                	sub    %ebx,%edi
5c0ecf:	8b 5d 14             	mov    0x14(%ebp),%ebx
5c0ed2:	53                   	push   %ebx
5c0ed3:	50                   	push   %eax
5c0ed4:	2b 45 fc             	sub    -0x4(%ebp),%eax
5c0ed7:	57                   	push   %edi
5c0ed8:	50                   	push   %eax
5c0ed9:	e8 62 fe ff ff       	call   0x5c0d40
5c0ede:	53                   	push   %ebx
5c0edf:	57                   	push   %edi
5c0ee0:	56                   	push   %esi
5c0ee1:	ff 75 f4             	push   -0xc(%ebp)
5c0ee4:	e8 57 fe ff ff       	call   0x5c0d40
5c0ee9:	8b 5d 10             	mov    0x10(%ebp),%ebx
5c0eec:	83 c4 40             	add    $0x40,%esp
5c0eef:	eb 11                	jmp    0x5c0f02
5c0ef1:	ff 75 14             	push   0x14(%ebp)
5c0ef4:	8d 43 ec             	lea    -0x14(%ebx),%eax
5c0ef7:	50                   	push   %eax
5c0ef8:	56                   	push   %esi
5c0ef9:	57                   	push   %edi
5c0efa:	e8 41 fe ff ff       	call   0x5c0d40
5c0eff:	83 c4 10             	add    $0x10,%esp
5c0f02:	8d 7e 14             	lea    0x14(%esi),%edi
5c0f05:	8b ce                	mov    %esi,%ecx
5c0f07:	8b d7                	mov    %edi,%edx
5c0f09:	89 7d 14             	mov    %edi,0x14(%ebp)
5c0f0c:	39 75 0c             	cmp    %esi,0xc(%ebp)
5c0f0f:	73 09                	jae    0x5c0f1a
5c0f11:	8b 41 f4             	mov    -0xc(%ecx),%eax
5c0f14:	3b 41 08             	cmp    0x8(%ecx),%eax
5c0f17:	0f 42 f1             	cmovb  %ecx,%esi
5c0f1a:	3b fb                	cmp    %ebx,%edi
5c0f1c:	73 0c                	jae    0x5c0f2a
5c0f1e:	8b 46 08             	mov    0x8(%esi),%eax
5c0f21:	39 42 08             	cmp    %eax,0x8(%edx)
5c0f24:	0f 42 fa             	cmovb  %edx,%edi
5c0f27:	89 7d 14             	mov    %edi,0x14(%ebp)
5c0f2a:	8b d6                	mov    %esi,%edx
5c0f2c:	8b cf                	mov    %edi,%ecx
5c0f2e:	89 55 fc             	mov    %edx,-0x4(%ebp)
5c0f31:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5c0f34:	3b cb                	cmp    %ebx,%ecx
5c0f36:	73 15                	jae    0x5c0f4d
5c0f38:	8b 46 08             	mov    0x8(%esi),%eax
5c0f3b:	3b 41 08             	cmp    0x8(%ecx),%eax
5c0f3e:	72 07                	jb     0x5c0f47
5c0f40:	83 c1 14             	add    $0x14,%ecx
5c0f43:	3b cb                	cmp    %ebx,%ecx
5c0f45:	72 f1                	jb     0x5c0f38
5c0f47:	89 7d 14             	mov    %edi,0x14(%ebp)
5c0f4a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5c0f4d:	8b 45 0c             	mov    0xc(%ebp),%eax
5c0f50:	3b d0                	cmp    %eax,%edx
5c0f52:	76 2c                	jbe    0x5c0f80
5c0f54:	8d 5a ec             	lea    -0x14(%edx),%ebx
5c0f57:	8b f8                	mov    %eax,%edi
5c0f59:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
5c0f60:	8b 43 08             	mov    0x8(%ebx),%eax
5c0f63:	3b 46 08             	cmp    0x8(%esi),%eax
5c0f66:	72 0a                	jb     0x5c0f72
5c0f68:	83 ea 14             	sub    $0x14,%edx
5c0f6b:	83 eb 14             	sub    $0x14,%ebx
5c0f6e:	3b fa                	cmp    %edx,%edi
5c0f70:	72 ee                	jb     0x5c0f60
5c0f72:	8b 45 0c             	mov    0xc(%ebp),%eax
5c0f75:	3b d0                	cmp    %eax,%edx
5c0f77:	8b 7d 14             	mov    0x14(%ebp),%edi
5c0f7a:	8b 5d 10             	mov    0x10(%ebp),%ebx
5c0f7d:	89 55 fc             	mov    %edx,-0x4(%ebp)
5c0f80:	0f 85 ca 00 00 00    	jne    0x5c1050
5c0f86:	3b cb                	cmp    %ebx,%ecx
5c0f88:	0f 84 fc 01 00 00    	je     0x5c118a
5c0f8e:	3b f9                	cmp    %ecx,%edi
5c0f90:	74 52                	je     0x5c0fe4
5c0f92:	8b 46 10             	mov    0x10(%esi),%eax
5c0f95:	8b 7e 08             	mov    0x8(%esi),%edi
5c0f98:	8b 0e                	mov    (%esi),%ecx
5c0f9a:	8b 56 04             	mov    0x4(%esi),%edx
5c0f9d:	8b 5e 0c             	mov    0xc(%esi),%ebx
5c0fa0:	89 45 f4             	mov    %eax,-0xc(%ebp)
5c0fa3:	8b 45 14             	mov    0x14(%ebp),%eax
5c0fa6:	8b 00                	mov    (%eax),%eax
5c0fa8:	89 06                	mov    %eax,(%esi)
5c0faa:	8b 45 14             	mov    0x14(%ebp),%eax
5c0fad:	8b 40 04             	mov    0x4(%eax),%eax
5c0fb0:	89 46 04             	mov    %eax,0x4(%esi)
5c0fb3:	8b 45 14             	mov    0x14(%ebp),%eax
5c0fb6:	8b 40 08             	mov    0x8(%eax),%eax
5c0fb9:	89 46 08             	mov    %eax,0x8(%esi)
5c0fbc:	8b 45 14             	mov    0x14(%ebp),%eax
5c0fbf:	8b 40 0c             	mov    0xc(%eax),%eax
5c0fc2:	89 46 0c             	mov    %eax,0xc(%esi)
5c0fc5:	8b 45 14             	mov    0x14(%ebp),%eax
5c0fc8:	8b 40 10             	mov    0x10(%eax),%eax
5c0fcb:	89 46 10             	mov    %eax,0x10(%esi)
5c0fce:	8b 45 14             	mov    0x14(%ebp),%eax
5c0fd1:	89 08                	mov    %ecx,(%eax)
5c0fd3:	89 50 04             	mov    %edx,0x4(%eax)
5c0fd6:	89 78 08             	mov    %edi,0x8(%eax)
5c0fd9:	8b f8                	mov    %eax,%edi
5c0fdb:	8b 45 f4             	mov    -0xc(%ebp),%eax
5c0fde:	89 5f 0c             	mov    %ebx,0xc(%edi)
5c0fe1:	89 47 10             	mov    %eax,0x10(%edi)
5c0fe4:	8b 46 10             	mov    0x10(%esi),%eax
5c0fe7:	83 c7 14             	add    $0x14,%edi
5c0fea:	8b 0e                	mov    (%esi),%ecx
5c0fec:	8b 56 04             	mov    0x4(%esi),%edx
5c0fef:	8b 5e 0c             	mov    0xc(%esi),%ebx
5c0ff2:	89 45 f4             	mov    %eax,-0xc(%ebp)
5c0ff5:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c0ff8:	89 7d 14             	mov    %edi,0x14(%ebp)
5c0ffb:	8b 7e 08             	mov    0x8(%esi),%edi
5c0ffe:	8b 00                	mov    (%eax),%eax
5c1000:	89 06                	mov    %eax,(%esi)
5c1002:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c1005:	8b 40 04             	mov    0x4(%eax),%eax
5c1008:	89 46 04             	mov    %eax,0x4(%esi)
5c100b:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c100e:	8b 40 08             	mov    0x8(%eax),%eax
5c1011:	89 46 08             	mov    %eax,0x8(%esi)
5c1014:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c1017:	8b 40 0c             	mov    0xc(%eax),%eax
5c101a:	89 46 0c             	mov    %eax,0xc(%esi)
5c101d:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c1020:	8b 40 10             	mov    0x10(%eax),%eax
5c1023:	89 46 10             	mov    %eax,0x10(%esi)
5c1026:	83 c6 14             	add    $0x14,%esi
5c1029:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c102c:	89 08                	mov    %ecx,(%eax)
5c102e:	8b c8                	mov    %eax,%ecx
5c1030:	8b 45 f4             	mov    -0xc(%ebp),%eax
5c1033:	89 51 04             	mov    %edx,0x4(%ecx)
5c1036:	8b 55 fc             	mov    -0x4(%ebp),%edx
5c1039:	89 79 08             	mov    %edi,0x8(%ecx)
5c103c:	8b 7d 14             	mov    0x14(%ebp),%edi
5c103f:	89 59 0c             	mov    %ebx,0xc(%ecx)
5c1042:	8b 5d 10             	mov    0x10(%ebp),%ebx
5c1045:	89 41 10             	mov    %eax,0x10(%ecx)
5c1048:	83 c1 14             	add    $0x14,%ecx
5c104b:	e9 e1 fe ff ff       	jmp    0x5c0f31
5c1050:	83 c2 ec             	add    $0xffffffec,%edx
5c1053:	89 55 fc             	mov    %edx,-0x4(%ebp)
5c1056:	3b cb                	cmp    %ebx,%ecx
5c1058:	0f 85 ba 00 00 00    	jne    0x5c1118
5c105e:	83 ee 14             	sub    $0x14,%esi
5c1061:	3b d6                	cmp    %esi,%edx
5c1063:	74 4d                	je     0x5c10b2
5c1065:	8b 0a                	mov    (%edx),%ecx
5c1067:	8b 45 fc             	mov    -0x4(%ebp),%eax
5c106a:	8b 52 04             	mov    0x4(%edx),%edx
5c106d:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5c1070:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5c1073:	8b 78 08             	mov    0x8(%eax),%edi
5c1076:	8b 58 0c             	mov    0xc(%eax),%ebx
5c1079:	8b 40 10             	mov    0x10(%eax),%eax
5c107c:	89 45 f0             	mov    %eax,-0x10(%ebp)
5c107f:	8b 06                	mov    (%esi),%eax
5c1081:	89 01                	mov    %eax,(%ecx)
5c1083:	8b 46 04             	mov    0x4(%esi),%eax
5c1086:	89 41 04             	mov    %eax,0x4(%ecx)
5c1089:	8b 46 08             	mov    0x8(%esi),%eax
5c108c:	89 41 08             	mov    %eax,0x8(%ecx)
5c108f:	8b 46 0c             	mov    0xc(%esi),%eax
5c1092:	89 41 0c             	mov    %eax,0xc(%ecx)
5c1095:	8b 46 10             	mov    0x10(%esi),%eax
5c1098:	89 41 10             	mov    %eax,0x10(%ecx)
5c109b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c109e:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c10a1:	89 0e                	mov    %ecx,(%esi)
5c10a3:	89 56 04             	mov    %edx,0x4(%esi)
5c10a6:	89 7e 08             	mov    %edi,0x8(%esi)
5c10a9:	8b 7d 14             	mov    0x14(%ebp),%edi
5c10ac:	89 5e 0c             	mov    %ebx,0xc(%esi)
5c10af:	89 46 10             	mov    %eax,0x10(%esi)
5c10b2:	8b 46 10             	mov    0x10(%esi),%eax
5c10b5:	83 ef 14             	sub    $0x14,%edi
5c10b8:	8b 0e                	mov    (%esi),%ecx
5c10ba:	8b 56 04             	mov    0x4(%esi),%edx
5c10bd:	8b 5e 0c             	mov    0xc(%esi),%ebx
5c10c0:	89 45 f0             	mov    %eax,-0x10(%ebp)
5c10c3:	89 7d 14             	mov    %edi,0x14(%ebp)
5c10c6:	8b 7e 08             	mov    0x8(%esi),%edi
5c10c9:	8b 45 14             	mov    0x14(%ebp),%eax
5c10cc:	8b 00                	mov    (%eax),%eax
5c10ce:	89 06                	mov    %eax,(%esi)
5c10d0:	8b 45 14             	mov    0x14(%ebp),%eax
5c10d3:	8b 40 04             	mov    0x4(%eax),%eax
5c10d6:	89 46 04             	mov    %eax,0x4(%esi)
5c10d9:	8b 45 14             	mov    0x14(%ebp),%eax
5c10dc:	8b 40 08             	mov    0x8(%eax),%eax
5c10df:	89 46 08             	mov    %eax,0x8(%esi)
5c10e2:	8b 45 14             	mov    0x14(%ebp),%eax
5c10e5:	8b 40 0c             	mov    0xc(%eax),%eax
5c10e8:	89 46 0c             	mov    %eax,0xc(%esi)
5c10eb:	8b 45 14             	mov    0x14(%ebp),%eax
5c10ee:	8b 40 10             	mov    0x10(%eax),%eax
5c10f1:	89 46 10             	mov    %eax,0x10(%esi)
5c10f4:	8b 45 14             	mov    0x14(%ebp),%eax
5c10f7:	89 08                	mov    %ecx,(%eax)
5c10f9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5c10fc:	89 50 04             	mov    %edx,0x4(%eax)
5c10ff:	8b 55 fc             	mov    -0x4(%ebp),%edx
5c1102:	89 78 08             	mov    %edi,0x8(%eax)
5c1105:	8b f8                	mov    %eax,%edi
5c1107:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c110a:	89 5f 0c             	mov    %ebx,0xc(%edi)
5c110d:	8b 5d 10             	mov    0x10(%ebp),%ebx
5c1110:	89 47 10             	mov    %eax,0x10(%edi)
5c1113:	e9 1c fe ff ff       	jmp    0x5c0f34
5c1118:	8b 09                	mov    (%ecx),%ecx
5c111a:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c111d:	89 55 fc             	mov    %edx,-0x4(%ebp)
5c1120:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5c1123:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5c1126:	8b 50 04             	mov    0x4(%eax),%edx
5c1129:	8b 78 08             	mov    0x8(%eax),%edi
5c112c:	8b 58 0c             	mov    0xc(%eax),%ebx
5c112f:	8b 40 10             	mov    0x10(%eax),%eax
5c1132:	89 45 f4             	mov    %eax,-0xc(%ebp)
5c1135:	8b 45 fc             	mov    -0x4(%ebp),%eax
5c1138:	8b 00                	mov    (%eax),%eax
5c113a:	89 01                	mov    %eax,(%ecx)
5c113c:	8b 45 fc             	mov    -0x4(%ebp),%eax
5c113f:	8b 40 04             	mov    0x4(%eax),%eax
5c1142:	89 41 04             	mov    %eax,0x4(%ecx)
5c1145:	8b 45 fc             	mov    -0x4(%ebp),%eax
5c1148:	8b 40 08             	mov    0x8(%eax),%eax
5c114b:	89 41 08             	mov    %eax,0x8(%ecx)
5c114e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5c1151:	8b 40 0c             	mov    0xc(%eax),%eax
5c1154:	89 41 0c             	mov    %eax,0xc(%ecx)
5c1157:	8b 45 fc             	mov    -0x4(%ebp),%eax
5c115a:	8b 40 10             	mov    0x10(%eax),%eax
5c115d:	89 41 10             	mov    %eax,0x10(%ecx)
5c1160:	8b 45 fc             	mov    -0x4(%ebp),%eax
5c1163:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5c1166:	89 08                	mov    %ecx,(%eax)
5c1168:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5c116b:	89 50 04             	mov    %edx,0x4(%eax)
5c116e:	83 c1 14             	add    $0x14,%ecx
5c1171:	8b d0                	mov    %eax,%edx
5c1173:	8b 45 f4             	mov    -0xc(%ebp),%eax
5c1176:	89 7a 08             	mov    %edi,0x8(%edx)
5c1179:	8b 7d 14             	mov    0x14(%ebp),%edi
5c117c:	89 5a 0c             	mov    %ebx,0xc(%edx)
5c117f:	8b 5d 10             	mov    0x10(%ebp),%ebx
5c1182:	89 42 10             	mov    %eax,0x10(%edx)
5c1185:	e9 a7 fd ff ff       	jmp    0x5c0f31
5c118a:	8b 45 08             	mov    0x8(%ebp),%eax
5c118d:	89 78 04             	mov    %edi,0x4(%eax)
5c1190:	5f                   	pop    %edi
5c1191:	89 30                	mov    %esi,(%eax)
5c1193:	5e                   	pop    %esi
5c1194:	5b                   	pop    %ebx
5c1195:	8b e5                	mov    %ebp,%esp
5c1197:	5d                   	pop    %ebp
5c1198:	c3                   	ret
5c1199:	cc                   	int3
5c119a:	cc                   	int3
5c119b:	cc                   	int3
5c119c:	cc                   	int3
5c119d:	cc                   	int3
5c119e:	cc                   	int3
5c119f:	cc                   	int3
5c11a0:	55                   	push   %ebp
5c11a1:	8b ec                	mov    %esp,%ebp
5c11a3:	83 ec 08             	sub    $0x8,%esp