4caf3f:	47                   	inc    %edi
4caf40:	8b 43 1c             	mov    0x1c(%ebx),%eax
4caf43:	f7 65 00             	mull   0x0(%ebp)
4caf46:	03 c1                	add    %ecx,%eax
4caf48:	89 44 24 18          	mov    %eax,0x18(%esp)
4caf4c:	83 d2 00             	adc    $0x0,%edx
4caf4f:	03 f2                	add    %edx,%esi
4caf51:	3b f2                	cmp    %edx,%esi
4caf53:	73 01                	jae    0x4caf56
4caf55:	47                   	inc    %edi
4caf56:	8b 44 24 14          	mov    0x14(%esp),%eax
4caf5a:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4caf5e:	89 48 1c             	mov    %ecx,0x1c(%eax)
4caf61:	8b 43 1c             	mov    0x1c(%ebx),%eax
4caf64:	f7 65 04             	mull   0x4(%ebp)
4caf67:	8b c8                	mov    %eax,%ecx
4caf69:	b8 01 00 00 00       	mov    $0x1,%eax
4caf6e:	03 ce                	add    %esi,%ecx
4caf70:	be 00 00 00 00       	mov    $0x0,%esi
4caf75:	83 d2 00             	adc    $0x0,%edx
4caf78:	03 fa                	add    %edx,%edi
4caf7a:	3b fa                	cmp    %edx,%edi
4caf7c:	0f 42 f0             	cmovb  %eax,%esi
4caf7f:	8b 43 18             	mov    0x18(%ebx),%eax
4caf82:	f7 65 08             	mull   0x8(%ebp)
4caf85:	03 c1                	add    %ecx,%eax
4caf87:	89 44 24 18          	mov    %eax,0x18(%esp)
4caf8b:	83 d2 00             	adc    $0x0,%edx
4caf8e:	03 fa                	add    %edx,%edi
4caf90:	3b fa                	cmp    %edx,%edi
4caf92:	73 01                	jae    0x4caf95
4caf94:	46                   	inc    %esi
4caf95:	8b 43 14             	mov    0x14(%ebx),%eax
4caf98:	f7 65 0c             	mull   0xc(%ebp)
4caf9b:	8b c8                	mov    %eax,%ecx
4caf9d:	03 4c 24 18          	add    0x18(%esp),%ecx
4cafa1:	83 d2 00             	adc    $0x0,%edx
4cafa4:	03 fa                	add    %edx,%edi
4cafa6:	3b fa                	cmp    %edx,%edi
4cafa8:	73 01                	jae    0x4cafab
4cafaa:	46                   	inc    %esi
4cafab:	8b 43 10             	mov    0x10(%ebx),%eax
4cafae:	f7 65 10             	mull   0x10(%ebp)
4cafb1:	03 c1                	add    %ecx,%eax
4cafb3:	89 44 24 18          	mov    %eax,0x18(%esp)
4cafb7:	83 d2 00             	adc    $0x0,%edx
4cafba:	03 fa                	add    %edx,%edi
4cafbc:	3b fa                	cmp    %edx,%edi
4cafbe:	73 01                	jae    0x4cafc1
4cafc0:	46                   	inc    %esi
4cafc1:	8b 43 0c             	mov    0xc(%ebx),%eax
4cafc4:	f7 65 14             	mull   0x14(%ebp)
4cafc7:	8b c8                	mov    %eax,%ecx
4cafc9:	03 4c 24 18          	add    0x18(%esp),%ecx
4cafcd:	83 d2 00             	adc    $0x0,%edx
4cafd0:	03 fa                	add    %edx,%edi
4cafd2:	3b fa                	cmp    %edx,%edi
4cafd4:	73 01                	jae    0x4cafd7
4cafd6:	46                   	inc    %esi
4cafd7:	8b 43 08             	mov    0x8(%ebx),%eax
4cafda:	f7 65 18             	mull   0x18(%ebp)
4cafdd:	03 c1                	add    %ecx,%eax
4cafdf:	89 44 24 18          	mov    %eax,0x18(%esp)
4cafe3:	83 d2 00             	adc    $0x0,%edx
4cafe6:	03 fa                	add    %edx,%edi
4cafe8:	3b fa                	cmp    %edx,%edi
4cafea:	73 01                	jae    0x4cafed
4cafec:	46                   	inc    %esi
4cafed:	8b 43 04             	mov    0x4(%ebx),%eax
4caff0:	f7 65 1c             	mull   0x1c(%ebp)
4caff3:	8b c8                	mov    %eax,%ecx
4caff5:	03 4c 24 18          	add    0x18(%esp),%ecx
4caff9:	83 d2 00             	adc    $0x0,%edx
4caffc:	03 fa                	add    %edx,%edi
4caffe:	3b fa                	cmp    %edx,%edi
4cb000:	73 01                	jae    0x4cb003
4cb002:	46                   	inc    %esi
4cb003:	8b 44 24 14          	mov    0x14(%esp),%eax
4cb007:	89 48 20             	mov    %ecx,0x20(%eax)
4cb00a:	8b 43 08             	mov    0x8(%ebx),%eax
4cb00d:	f7 65 1c             	mull   0x1c(%ebp)
4cb010:	8b c8                	mov    %eax,%ecx
4cb012:	b8 01 00 00 00       	mov    $0x1,%eax
4cb017:	03 cf                	add    %edi,%ecx
4cb019:	bf 00 00 00 00       	mov    $0x0,%edi
4cb01e:	83 d2 00             	adc    $0x0,%edx
4cb021:	03 f2                	add    %edx,%esi
4cb023:	3b f2                	cmp    %edx,%esi
4cb025:	0f 42 f8             	cmovb  %eax,%edi
4cb028:	8b 43 0c             	mov    0xc(%ebx),%eax
4cb02b:	f7 65 18             	mull   0x18(%ebp)
4cb02e:	03 c1                	add    %ecx,%eax
4cb030:	89 44 24 18          	mov    %eax,0x18(%esp)
4cb034:	83 d2 00             	adc    $0x0,%edx
4cb037:	03 f2                	add    %edx,%esi
4cb039:	3b f2                	cmp    %edx,%esi
4cb03b:	73 01                	jae    0x4cb03e
4cb03d:	47                   	inc    %edi
4cb03e:	8b 43 10             	mov    0x10(%ebx),%eax
4cb041:	f7 65 14             	mull   0x14(%ebp)
4cb044:	8b c8                	mov    %eax,%ecx
4cb046:	03 4c 24 18          	add    0x18(%esp),%ecx
4cb04a:	83 d2 00             	adc    $0x0,%edx
4cb04d:	03 f2                	add    %edx,%esi
4cb04f:	3b f2                	cmp    %edx,%esi
4cb051:	73 01                	jae    0x4cb054
4cb053:	47                   	inc    %edi
4cb054:	8b 43 14             	mov    0x14(%ebx),%eax
4cb057:	f7 65 10             	mull   0x10(%ebp)
4cb05a:	03 c1                	add    %ecx,%eax
4cb05c:	89 44 24 18          	mov    %eax,0x18(%esp)
4cb060:	83 d2 00             	adc    $0x0,%edx
4cb063:	03 f2                	add    %edx,%esi
4cb065:	3b f2                	cmp    %edx,%esi
4cb067:	73 01                	jae    0x4cb06a
4cb069:	47                   	inc    %edi
4cb06a:	8b 43 18             	mov    0x18(%ebx),%eax
4cb06d:	f7 65 0c             	mull   0xc(%ebp)
4cb070:	8b c8                	mov    %eax,%ecx
4cb072:	03 4c 24 18          	add    0x18(%esp),%ecx
4cb076:	83 d2 00             	adc    $0x0,%edx
4cb079:	03 f2                	add    %edx,%esi
4cb07b:	3b f2                	cmp    %edx,%esi
4cb07d:	73 01                	jae    0x4cb080
4cb07f:	47                   	inc    %edi
4cb080:	8b 43 1c             	mov    0x1c(%ebx),%eax
4cb083:	f7 65 08             	mull   0x8(%ebp)
4cb086:	03 c1                	add    %ecx,%eax
4cb088:	89 44 24 18          	mov    %eax,0x18(%esp)
4cb08c:	83 d2 00             	adc    $0x0,%edx
4cb08f:	03 f2                	add    %edx,%esi
4cb091:	3b f2                	cmp    %edx,%esi
4cb093:	73 01                	jae    0x4cb096
4cb095:	47                   	inc    %edi
4cb096:	8b 44 24 14          	mov    0x14(%esp),%eax
4cb09a:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4cb09e:	89 48 24             	mov    %ecx,0x24(%eax)
4cb0a1:	8b 43 1c             	mov    0x1c(%ebx),%eax
4cb0a4:	f7 65 0c             	mull   0xc(%ebp)
4cb0a7:	8b c8                	mov    %eax,%ecx
4cb0a9:	b8 01 00 00 00       	mov    $0x1,%eax
4cb0ae:	03 ce                	add    %esi,%ecx
4cb0b0:	be 00 00 00 00       	mov    $0x0,%esi
4cb0b5:	83 d2 00             	adc    $0x0,%edx
4cb0b8:	03 fa                	add    %edx,%edi
4cb0ba:	3b fa                	cmp    %edx,%edi
4cb0bc:	0f 42 f0             	cmovb  %eax,%esi
4cb0bf:	8b 43 18             	mov    0x18(%ebx),%eax
4cb0c2:	f7 65 10             	mull   0x10(%ebp)
4cb0c5:	03 c1                	add    %ecx,%eax
4cb0c7:	89 44 24 18          	mov    %eax,0x18(%esp)
4cb0cb:	83 d2 00             	adc    $0x0,%edx
4cb0ce:	03 fa                	add    %edx,%edi
4cb0d0:	3b fa                	cmp    %edx,%edi
4cb0d2:	73 01                	jae    0x4cb0d5
4cb0d4:	46                   	inc    %esi
4cb0d5:	8b 43 14             	mov    0x14(%ebx),%eax
4cb0d8:	f7 65 14             	mull   0x14(%ebp)
4cb0db:	8b c8                	mov    %eax,%ecx
4cb0dd:	03 4c 24 18          	add    0x18(%esp),%ecx
4cb0e1:	83 d2 00             	adc    $0x0,%edx
4cb0e4:	03 fa                	add    %edx,%edi
4cb0e6:	3b fa                	cmp    %edx,%edi
4cb0e8:	73 01                	jae    0x4cb0eb
4cb0ea:	46                   	inc    %esi
4cb0eb:	8b 43 10             	mov    0x10(%ebx),%eax
4cb0ee:	f7 65 18             	mull   0x18(%ebp)
4cb0f1:	03 c1                	add    %ecx,%eax
4cb0f3:	89 44 24 18          	mov    %eax,0x18(%esp)
4cb0f7:	83 d2 00             	adc    $0x0,%edx
4cb0fa:	03 fa                	add    %edx,%edi
4cb0fc:	3b fa                	cmp    %edx,%edi
4cb0fe:	73 01                	jae    0x4cb101
4cb100:	46                   	inc    %esi
4cb101:	8b 43 0c             	mov    0xc(%ebx),%eax
4cb104:	f7 65 1c             	mull   0x1c(%ebp)
4cb107:	8b c8                	mov    %eax,%ecx
4cb109:	03 4c 24 18          	add    0x18(%esp),%ecx
4cb10d:	83 d2 00             	adc    $0x0,%edx
4cb110:	03 fa                	add    %edx,%edi
4cb112:	3b fa                	cmp    %edx,%edi
4cb114:	73 01                	jae    0x4cb117
4cb116:	46                   	inc    %esi
4cb117:	8b 44 24 14          	mov    0x14(%esp),%eax
4cb11b:	89 48 28             	mov    %ecx,0x28(%eax)
4cb11e:	8b 43 10             	mov    0x10(%ebx),%eax
4cb121:	f7 65 1c             	mull   0x1c(%ebp)
4cb124:	8b c8                	mov    %eax,%ecx
4cb126:	b8 01 00 00 00       	mov    $0x1,%eax
4cb12b:	03 cf                	add    %edi,%ecx
4cb12d:	bf 00 00 00 00       	mov    $0x0,%edi
4cb132:	83 d2 00             	adc    $0x0,%edx
4cb135:	03 f2                	add    %edx,%esi
4cb137:	3b f2                	cmp    %edx,%esi
4cb139:	0f 42 f8             	cmovb  %eax,%edi
4cb13c:	8b 43 14             	mov    0x14(%ebx),%eax
4cb13f:	f7 65 18             	mull   0x18(%ebp)
4cb142:	03 c1                	add    %ecx,%eax
4cb144:	89 44 24 18          	mov    %eax,0x18(%esp)
4cb148:	83 d2 00             	adc    $0x0,%edx
4cb14b:	03 f2                	add    %edx,%esi
4cb14d:	3b f2                	cmp    %edx,%esi
4cb14f:	73 01                	jae    0x4cb152
4cb151:	47                   	inc    %edi
4cb152:	8b 43 18             	mov    0x18(%ebx),%eax
4cb155:	f7 65 14             	mull   0x14(%ebp)
4cb158:	8b c8                	mov    %eax,%ecx
4cb15a:	03 4c 24 18          	add    0x18(%esp),%ecx
4cb15e:	83 d2 00             	adc    $0x0,%edx
4cb161:	03 f2                	add    %edx,%esi
4cb163:	3b f2                	cmp    %edx,%esi
4cb165:	73 01                	jae    0x4cb168
4cb167:	47                   	inc    %edi
4cb168:	8b 43 1c             	mov    0x1c(%ebx),%eax
4cb16b:	f7 65 10             	mull   0x10(%ebp)
4cb16e:	03 c1                	add    %ecx,%eax
4cb170:	89 44 24 18          	mov    %eax,0x18(%esp)
4cb174:	83 d2 00             	adc    $0x0,%edx
4cb177:	03 f2                	add    %edx,%esi
4cb179:	3b f2                	cmp    %edx,%esi
4cb17b:	73 01                	jae    0x4cb17e
4cb17d:	47                   	inc    %edi
4cb17e:	8b 44 24 14          	mov    0x14(%esp),%eax
4cb182:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4cb186:	89 48 2c             	mov    %ecx,0x2c(%eax)
4cb189:	8b 43 1c             	mov    0x1c(%ebx),%eax
4cb18c:	f7 65 14             	mull   0x14(%ebp)
4cb18f:	8b c8                	mov    %eax,%ecx
4cb191:	b8 01 00 00 00       	mov    $0x1,%eax
4cb196:	03 ce                	add    %esi,%ecx
4cb198:	be 00 00 00 00       	mov    $0x0,%esi
4cb19d:	83 d2 00             	adc    $0x0,%edx
4cb1a0:	03 fa                	add    %edx,%edi
4cb1a2:	3b fa                	cmp    %edx,%edi
4cb1a4:	0f 42 f0             	cmovb  %eax,%esi
4cb1a7:	8b 43 18             	mov    0x18(%ebx),%eax
4cb1aa:	f7 65 18             	mull   0x18(%ebp)
4cb1ad:	03 c1                	add    %ecx,%eax
4cb1af:	89 44 24 18          	mov    %eax,0x18(%esp)
4cb1b3:	83 d2 00             	adc    $0x0,%edx
4cb1b6:	03 fa                	add    %edx,%edi
4cb1b8:	3b fa                	cmp    %edx,%edi
4cb1ba:	73 01                	jae    0x4cb1bd
4cb1bc:	46                   	inc    %esi
4cb1bd:	8b 43 14             	mov    0x14(%ebx),%eax
4cb1c0:	f7 65 1c             	mull   0x1c(%ebp)
4cb1c3:	8b c8                	mov    %eax,%ecx
4cb1c5:	03 4c 24 18          	add    0x18(%esp),%ecx
4cb1c9:	83 d2 00             	adc    $0x0,%edx
4cb1cc:	03 fa                	add    %edx,%edi
4cb1ce:	3b fa                	cmp    %edx,%edi
4cb1d0:	73 01                	jae    0x4cb1d3
4cb1d2:	46                   	inc    %esi
4cb1d3:	8b 44 24 14          	mov    0x14(%esp),%eax
4cb1d7:	89 48 30             	mov    %ecx,0x30(%eax)
4cb1da:	8b 43 18             	mov    0x18(%ebx),%eax
4cb1dd:	f7 65 1c             	mull   0x1c(%ebp)
4cb1e0:	8b c8                	mov    %eax,%ecx
4cb1e2:	b8 01 00 00 00       	mov    $0x1,%eax
4cb1e7:	03 cf                	add    %edi,%ecx
4cb1e9:	bf 00 00 00 00       	mov    $0x0,%edi
4cb1ee:	83 d2 00             	adc    $0x0,%edx
4cb1f1:	03 f2                	add    %edx,%esi
4cb1f3:	3b f2                	cmp    %edx,%esi
4cb1f5:	0f 42 f8             	cmovb  %eax,%edi
4cb1f8:	8b 43 1c             	mov    0x1c(%ebx),%eax
4cb1fb:	f7 65 18             	mull   0x18(%ebp)
4cb1fe:	03 c1                	add    %ecx,%eax
4cb200:	83 d2 00             	adc    $0x0,%edx
4cb203:	03 f2                	add    %edx,%esi
4cb205:	3b f2                	cmp    %edx,%esi
4cb207:	73 01                	jae    0x4cb20a
4cb209:	47                   	inc    %edi
4cb20a:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4cb20e:	89 41 34             	mov    %eax,0x34(%ecx)
4cb211:	8b 43 1c             	mov    0x1c(%ebx),%eax
4cb214:	f7 65 1c             	mull   0x1c(%ebp)
4cb217:	03 c6                	add    %esi,%eax
4cb219:	89 41 38             	mov    %eax,0x38(%ecx)
4cb21c:	83 d2 00             	adc    $0x0,%edx
4cb21f:	03 d7                	add    %edi,%edx
4cb221:	5f                   	pop    %edi
4cb222:	5e                   	pop    %esi
4cb223:	5d                   	pop    %ebp
4cb224:	89 51 3c             	mov    %edx,0x3c(%ecx)
4cb227:	5b                   	pop    %ebx
4cb228:	c3                   	ret
4cb229:	cc                   	int3
4cb22a:	cc                   	int3
4cb22b:	cc                   	int3
4cb22c:	cc                   	int3
4cb22d:	cc                   	int3
4cb22e:	cc                   	int3
4cb22f:	cc                   	int3
4cb230:	53                   	push   %ebx
4cb231:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4cb235:	57                   	push   %edi
4cb236:	33 ff                	xor    %edi,%edi
4cb238:	85 db                	test   %ebx,%ebx
4cb23a:	7f 05                	jg     0x4cb241
4cb23c:	5f                   	pop    %edi
4cb23d:	33 c0                	xor    %eax,%eax
4cb23f:	5b                   	pop    %ebx
4cb240:	c3                   	ret
4cb241:	8b 44 24 18          	mov    0x18(%esp),%eax
4cb245:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4cb249:	55                   	push   %ebp
4cb24a:	8b 6c 24 10          	mov    0x10(%esp),%ebp
4cb24e:	f7 c3 fc ff ff ff    	test   $0xfffffffc,%ebx
4cb254:	74 56                	je     0x4cb2ac
4cb256:	56                   	push   %esi
4cb257:	f7 21                	mull   (%ecx)
4cb259:	03 c7                	add    %edi,%eax
4cb25b:	8b f2                	mov    %edx,%esi
4cb25d:	89 45 00             	mov    %eax,0x0(%ebp)
4cb260:	8b 44 24 20          	mov    0x20(%esp),%eax
4cb264:	83 d6 00             	adc    $0x0,%esi
4cb267:	f7 61 04             	mull   0x4(%ecx)
4cb26a:	03 c6                	add    %esi,%eax
4cb26c:	8b fa                	mov    %edx,%edi
4cb26e:	89 45 04             	mov    %eax,0x4(%ebp)
4cb271:	8b 44 24 20          	mov    0x20(%esp),%eax
4cb275:	83 d7 00             	adc    $0x0,%edi
4cb278:	f7 61 08             	mull   0x8(%ecx)
4cb27b:	03 c7                	add    %edi,%eax
4cb27d:	8b f2                	mov    %edx,%esi
4cb27f:	89 45 08             	mov    %eax,0x8(%ebp)
4cb282:	8b 44 24 20          	mov    0x20(%esp),%eax
4cb286:	83 d6 00             	adc    $0x0,%esi
4cb289:	f7 61 0c             	mull   0xc(%ecx)
4cb28c:	03 c6                	add    %esi,%eax
4cb28e:	8b fa                	mov    %edx,%edi
4cb290:	89 45 0c             	mov    %eax,0xc(%ebp)
4cb293:	8b 44 24 20          	mov    0x20(%esp),%eax
4cb297:	83 d7 00             	adc    $0x0,%edi
4cb29a:	83 eb 04             	sub    $0x4,%ebx
4cb29d:	83 c1 10             	add    $0x10,%ecx
4cb2a0:	83 c5 10             	add    $0x10,%ebp
4cb2a3:	f7 c3 fc ff ff ff    	test   $0xfffffffc,%ebx
4cb2a9:	75 ac                	jne    0x4cb257
4cb2ab:	5e                   	pop    %esi
4cb2ac:	85 db                	test   %ebx,%ebx
4cb2ae:	74 1b                	je     0x4cb2cb
4cb2b0:	2b e9                	sub    %ecx,%ebp
4cb2b2:	f7 21                	mull   (%ecx)
4cb2b4:	8d 49 04             	lea    0x4(%ecx),%ecx
4cb2b7:	03 c7                	add    %edi,%eax
4cb2b9:	89 44 29 fc          	mov    %eax,-0x4(%ecx,%ebp,1)
4cb2bd:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4cb2c1:	83 d2 00             	adc    $0x0,%edx