44d04b:	53                   	push   %ebx
44d04c:	8b 5c 24 28          	mov    0x28(%esp),%ebx
44d050:	d1 ee                	shr    $1,%esi
44d052:	57                   	push   %edi
44d053:	8b ce                	mov    %esi,%ecx
44d055:	8d 04 b3             	lea    (%ebx,%esi,4),%eax
44d058:	89 44 24 1c          	mov    %eax,0x1c(%esp)
44d05c:	74 1c                	je     0x44d07a
44d05e:	66 90                	xchg   %ax,%ax
44d060:	8b 50 fc             	mov    -0x4(%eax),%edx
44d063:	8d 40 fc             	lea    -0x4(%eax),%eax
44d066:	49                   	dec    %ecx
44d067:	3b 14 b0             	cmp    (%eax,%esi,4),%edx
44d06a:	0f 87 71 01 00 00    	ja     0x44d1e1
44d070:	0f 82 63 01 00 00    	jb     0x44d1d9
44d076:	85 c9                	test   %ecx,%ecx
44d078:	75 e6                	jne    0x44d060
44d07a:	33 c0                	xor    %eax,%eax
44d07c:	8b 3d 5c 4e 4c 00    	mov    0x4c4e5c,%edi
44d082:	33 d2                	xor    %edx,%edx
44d084:	85 c0                	test   %eax,%eax
44d086:	8b ce                	mov    %esi,%ecx
44d088:	0f 4f ca             	cmovg  %edx,%ecx
44d08b:	8b c1                	mov    %ecx,%eax
44d08d:	89 4c 24 20          	mov    %ecx,0x20(%esp)
44d091:	33 c6                	xor    %esi,%eax
44d093:	8d 04 83             	lea    (%ebx,%eax,4),%eax
44d096:	50                   	push   %eax
44d097:	8d 04 8b             	lea    (%ebx,%ecx,4),%eax
44d09a:	8b cf                	mov    %edi,%ecx
44d09c:	50                   	push   %eax
44d09d:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44d0a3:	8b d5                	mov    %ebp,%edx
44d0a5:	8b ce                	mov    %esi,%ecx
44d0a7:	ff d7                	call   *%edi
44d0a9:	8b 54 24 30          	mov    0x30(%esp),%edx
44d0ad:	8b ce                	mov    %esi,%ecx
44d0af:	8d 04 b2             	lea    (%edx,%esi,4),%eax
44d0b2:	85 f6                	test   %esi,%esi
44d0b4:	74 1a                	je     0x44d0d0
44d0b6:	8b 50 fc             	mov    -0x4(%eax),%edx
44d0b9:	8d 40 fc             	lea    -0x4(%eax),%eax
44d0bc:	49                   	dec    %ecx
44d0bd:	3b 14 b0             	cmp    (%eax,%esi,4),%edx
44d0c0:	0f 87 2d 01 00 00    	ja     0x44d1f3
44d0c6:	0f 82 1f 01 00 00    	jb     0x44d1eb
44d0cc:	85 c9                	test   %ecx,%ecx
44d0ce:	75 e6                	jne    0x44d0b6
44d0d0:	33 c0                	xor    %eax,%eax
44d0d2:	8b 3d 5c 4e 4c 00    	mov    0x4c4e5c,%edi
44d0d8:	8d 6c b5 00          	lea    0x0(%ebp,%esi,4),%ebp
44d0dc:	33 c9                	xor    %ecx,%ecx
44d0de:	8b de                	mov    %esi,%ebx
44d0e0:	85 c0                	test   %eax,%eax
44d0e2:	0f 4f d9             	cmovg  %ecx,%ebx
44d0e5:	8b 4c 24 30          	mov    0x30(%esp),%ecx
44d0e9:	8b c3                	mov    %ebx,%eax
44d0eb:	33 c6                	xor    %esi,%eax
44d0ed:	8d 04 81             	lea    (%ecx,%eax,4),%eax
44d0f0:	50                   	push   %eax
44d0f1:	8d 04 99             	lea    (%ecx,%ebx,4),%eax
44d0f4:	8b cf                	mov    %edi,%ecx
44d0f6:	50                   	push   %eax
44d0f7:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44d0fd:	8b d5                	mov    %ebp,%edx
44d0ff:	8b ce                	mov    %esi,%ecx
44d101:	ff d7                	call   *%edi
44d103:	8b 44 24 34          	mov    0x34(%esp),%eax
44d107:	8b 4c 24 10          	mov    0x10(%esp),%ecx
44d10b:	8b 7c 24 18          	mov    0x18(%esp),%edi
44d10f:	56                   	push   %esi
44d110:	8d 2c 81             	lea    (%ecx,%eax,4),%ebp
44d113:	8d 04 b7             	lea    (%edi,%esi,4),%eax
44d116:	8b d5                	mov    %ebp,%edx
44d118:	50                   	push   %eax
44d119:	57                   	push   %edi
44d11a:	e8 71 fa ff ff       	call   0x44cb90
44d11f:	8b 54 24 3c          	mov    0x3c(%esp),%edx
44d123:	8b cf                	mov    %edi,%ecx
44d125:	56                   	push   %esi
44d126:	8d 04 b2             	lea    (%edx,%esi,4),%eax
44d129:	8b d5                	mov    %ebp,%edx
44d12b:	50                   	push   %eax
44d12c:	ff 74 24 30          	push   0x30(%esp)
44d130:	e8 5b fa ff ff       	call   0x44cb90
44d135:	8b 44 24 40          	mov    0x40(%esp),%eax
44d139:	83 c4 18             	add    $0x18,%esp
44d13c:	8b 3d 5c 4e 4c 00    	mov    0x4c4e5c,%edi
44d142:	8b cf                	mov    %edi,%ecx
44d144:	50                   	push   %eax
44d145:	8d 04 b0             	lea    (%eax,%esi,4),%eax
44d148:	50                   	push   %eax
44d149:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44d14f:	8b d5                	mov    %ebp,%edx
44d151:	8b ce                	mov    %esi,%ecx
44d153:	ff d7                	call   *%edi
44d155:	ff 74 24 10          	push   0x10(%esp)
44d159:	89 44 24 18          	mov    %eax,0x18(%esp)
44d15d:	55                   	push   %ebp
44d15e:	39 5c 24 28          	cmp    %ebx,0x28(%esp)
44d162:	0f 85 a1 00 00 00    	jne    0x44d209
44d168:	8b 3d 58 4e 4c 00    	mov    0x4c4e58,%edi
44d16e:	8b cf                	mov    %edi,%ecx
44d170:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44d176:	8b d5                	mov    %ebp,%edx
44d178:	8b ce                	mov    %esi,%ecx
44d17a:	ff d7                	call   *%edi
44d17c:	29 44 24 14          	sub    %eax,0x14(%esp)
44d180:	8b ce                	mov    %esi,%ecx
44d182:	85 f6                	test   %esi,%esi
44d184:	74 1d                	je     0x44d1a3
44d186:	8b 54 24 18          	mov    0x18(%esp),%edx
44d18a:	8b dd                	mov    %ebp,%ebx
44d18c:	2b da                	sub    %edx,%ebx
44d18e:	8d 04 b2             	lea    (%edx,%esi,4),%eax
44d191:	8b 54 03 fc          	mov    -0x4(%ebx,%eax,1),%edx
44d195:	8d 40 fc             	lea    -0x4(%eax),%eax
44d198:	49                   	dec    %ecx
44d199:	3b 10                	cmp    (%eax),%edx
44d19b:	77 65                	ja     0x44d202
44d19d:	72 5e                	jb     0x44d1fd
44d19f:	85 c9                	test   %ecx,%ecx
44d1a1:	75 ee                	jne    0x44d191
44d1a3:	33 c0                	xor    %eax,%eax
44d1a5:	8b 3d 5c 4e 4c 00    	mov    0x4c4e5c,%edi
44d1ab:	33 db                	xor    %ebx,%ebx
44d1ad:	83 f8 ff             	cmp    $0xffffffff,%eax
44d1b0:	8b cf                	mov    %edi,%ecx
44d1b2:	8b 44 24 10          	mov    0x10(%esp),%eax
44d1b6:	0f 94 c3             	sete   %bl
44d1b9:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
44d1bd:	8d 04 b0             	lea    (%eax,%esi,4),%eax
44d1c0:	50                   	push   %eax
44d1c1:	55                   	push   %ebp
44d1c2:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44d1c8:	8b d5                	mov    %ebp,%edx
44d1ca:	8b ce                	mov    %esi,%ecx
44d1cc:	ff d7                	call   *%edi
44d1ce:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
44d1d2:	2b d8                	sub    %eax,%ebx
44d1d4:	e9 9d 00 00 00       	jmp    0x44d276
44d1d9:	83 c8 ff             	or     $0xffffffff,%eax
44d1dc:	e9 9b fe ff ff       	jmp    0x44d07c
44d1e1:	b8 01 00 00 00       	mov    $0x1,%eax
44d1e6:	e9 91 fe ff ff       	jmp    0x44d07c
44d1eb:	83 c8 ff             	or     $0xffffffff,%eax
44d1ee:	e9 df fe ff ff       	jmp    0x44d0d2
44d1f3:	b8 01 00 00 00       	mov    $0x1,%eax
44d1f8:	e9 d5 fe ff ff       	jmp    0x44d0d2
44d1fd:	83 c8 ff             	or     $0xffffffff,%eax
44d200:	eb a3                	jmp    0x44d1a5
44d202:	b8 01 00 00 00       	mov    $0x1,%eax
44d207:	eb 9c                	jmp    0x44d1a5
44d209:	8b 3d 5c 4e 4c 00    	mov    0x4c4e5c,%edi
44d20f:	8b cf                	mov    %edi,%ecx
44d211:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44d217:	8b d5                	mov    %ebp,%edx
44d219:	8b ce                	mov    %esi,%ecx
44d21b:	ff d7                	call   *%edi
44d21d:	01 44 24 14          	add    %eax,0x14(%esp)
44d221:	8b ce                	mov    %esi,%ecx
44d223:	85 f6                	test   %esi,%esi
44d225:	74 1d                	je     0x44d244
44d227:	8b 54 24 18          	mov    0x18(%esp),%edx
44d22b:	8b dd                	mov    %ebp,%ebx
44d22d:	2b da                	sub    %edx,%ebx
44d22f:	8d 04 b2             	lea    (%edx,%esi,4),%eax
44d232:	8b 54 03 fc          	mov    -0x4(%ebx,%eax,1),%edx
44d236:	8d 40 fc             	lea    -0x4(%eax),%eax
44d239:	49                   	dec    %ecx
44d23a:	3b 10                	cmp    (%eax),%edx
44d23c:	77 57                	ja     0x44d295
44d23e:	72 50                	jb     0x44d290
44d240:	85 c9                	test   %ecx,%ecx
44d242:	75 ee                	jne    0x44d232
44d244:	33 c9                	xor    %ecx,%ecx
44d246:	8b 3d 58 4e 4c 00    	mov    0x4c4e58,%edi
44d24c:	33 c0                	xor    %eax,%eax
44d24e:	83 f9 ff             	cmp    $0xffffffff,%ecx
44d251:	8b cf                	mov    %edi,%ecx
44d253:	0f 94 c0             	sete   %al
44d256:	89 44 24 1c          	mov    %eax,0x1c(%esp)
44d25a:	8b 44 24 10          	mov    0x10(%esp),%eax
44d25e:	8d 04 b0             	lea    (%eax,%esi,4),%eax
44d261:	50                   	push   %eax
44d262:	55                   	push   %ebp
44d263:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44d269:	8b d5                	mov    %ebp,%edx
44d26b:	8b ce                	mov    %esi,%ecx
44d26d:	ff d7                	call   *%edi
44d26f:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
44d273:	8d 1c 01             	lea    (%ecx,%eax,1),%ebx
44d276:	8b 44 24 14          	mov    0x14(%esp),%eax
44d27a:	03 c1                	add    %ecx,%eax
44d27c:	78 3c                	js     0x44d2ba
44d27e:	8b 4d 00             	mov    0x0(%ebp),%ecx
44d281:	03 c1                	add    %ecx,%eax
44d283:	89 45 00             	mov    %eax,0x0(%ebp)
44d286:	3b c1                	cmp    %ecx,%eax
44d288:	72 12                	jb     0x44d29c
44d28a:	33 c0                	xor    %eax,%eax
44d28c:	03 d8                	add    %eax,%ebx
44d28e:	eb 3b                	jmp    0x44d2cb
44d290:	83 c9 ff             	or     $0xffffffff,%ecx
44d293:	eb b1                	jmp    0x44d246
44d295:	b9 01 00 00 00       	mov    $0x1,%ecx
44d29a:	eb aa                	jmp    0x44d246
44d29c:	b9 01 00 00 00       	mov    $0x1,%ecx
44d2a1:	3b f1                	cmp    %ecx,%esi
44d2a3:	76 0c                	jbe    0x44d2b1
44d2a5:	83 44 8d 00 01       	addl   $0x1,0x0(%ebp,%ecx,4)
44d2aa:	75 de                	jne    0x44d28a
44d2ac:	41                   	inc    %ecx
44d2ad:	3b ce                	cmp    %esi,%ecx
44d2af:	72 f4                	jb     0x44d2a5
44d2b1:	b8 01 00 00 00       	mov    $0x1,%eax
44d2b6:	03 d8                	add    %eax,%ebx
44d2b8:	eb 11                	jmp    0x44d2cb
44d2ba:	f7 d8                	neg    %eax
44d2bc:	8b d6                	mov    %esi,%edx
44d2be:	50                   	push   %eax
44d2bf:	8b cd                	mov    %ebp,%ecx
44d2c1:	e8 1a 51 ff ff       	call   0x4423e0
44d2c6:	83 c4 04             	add    $0x4,%esp
44d2c9:	2b d8                	sub    %eax,%ebx
44d2cb:	8b 4c 24 18          	mov    0x18(%esp),%ecx
44d2cf:	8b 3d 58 4e 4c 00    	mov    0x4c4e58,%edi
44d2d5:	8d 04 b1             	lea    (%ecx,%esi,4),%eax
44d2d8:	8b cf                	mov    %edi,%ecx
44d2da:	50                   	push   %eax
44d2db:	55                   	push   %ebp
44d2dc:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44d2e2:	8b 54 24 20          	mov    0x20(%esp),%edx
44d2e6:	8b ce                	mov    %esi,%ecx
44d2e8:	ff d7                	call   *%edi
44d2ea:	8d 14 b5 00 00 00 00 	lea    0x0(,%esi,4),%edx
44d2f1:	03 c3                	add    %ebx,%eax
44d2f3:	03 54 24 18          	add    0x18(%esp),%edx
44d2f7:	5f                   	pop    %edi
44d2f8:	5b                   	pop    %ebx
44d2f9:	8b 0a                	mov    (%edx),%ecx
44d2fb:	03 c1                	add    %ecx,%eax
44d2fd:	89 02                	mov    %eax,(%edx)
44d2ff:	3b c1                	cmp    %ecx,%eax
44d301:	73 18                	jae    0x44d31b
44d303:	b9 01 00 00 00       	mov    $0x1,%ecx
44d308:	3b f1                	cmp    %ecx,%esi
44d30a:	76 0f                	jbe    0x44d31b
44d30c:	0f 1f 40 00          	nopl   0x0(%eax)
44d310:	83 04 8a 01          	addl   $0x1,(%edx,%ecx,4)
44d314:	75 05                	jne    0x44d31b
44d316:	41                   	inc    %ecx
44d317:	3b ce                	cmp    %esi,%ecx
44d319:	72 f5                	jb     0x44d310
44d31b:	5e                   	pop    %esi
44d31c:	5d                   	pop    %ebp
44d31d:	83 c4 14             	add    $0x14,%esp
44d320:	c3                   	ret
44d321:	cc                   	int3
44d322:	cc                   	int3
44d323:	cc                   	int3
44d324:	cc                   	int3
44d325:	cc                   	int3
44d326:	cc                   	int3
44d327:	cc                   	int3
44d328:	cc                   	int3
44d329:	cc                   	int3
44d32a:	cc                   	int3
44d32b:	cc                   	int3
44d32c:	cc                   	int3
44d32d:	cc                   	int3
44d32e:	cc                   	int3
44d32f:	cc                   	int3
44d330:	83 ec 24             	sub    $0x24,%esp
44d333:	53                   	push   %ebx
44d334:	55                   	push   %ebp
44d335:	8b 6c 24 3c          	mov    0x3c(%esp),%ebp
44d339:	8b da                	mov    %edx,%ebx
44d33b:	8b 54 24 38          	mov    0x38(%esp),%edx
44d33f:	56                   	push   %esi
44d340:	8b 74 24 38          	mov    0x38(%esp),%esi
44d344:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
44d348:	89 4c 24 10          	mov    %ecx,0x10(%esp)
44d34c:	57                   	push   %edi
44d34d:	8b 7c 24 38          	mov    0x38(%esp),%edi
44d351:	3b f5                	cmp    %ebp,%esi
44d353:	75 2c                	jne    0x44d381
44d355:	56                   	push   %esi
44d356:	3b fa                	cmp    %edx,%edi
44d358:	75 13                	jne    0x44d36d
44d35a:	57                   	push   %edi
44d35b:	8b d3                	mov    %ebx,%edx
44d35d:	e8 ce fa ff ff       	call   0x44ce30
44d362:	83 c4 08             	add    $0x8,%esp
44d365:	5f                   	pop    %edi
44d366:	5e                   	pop    %esi
44d367:	5d                   	pop    %ebp
44d368:	5b                   	pop    %ebx
44d369:	83 c4 24             	add    $0x24,%esp
44d36c:	c3                   	ret
44d36d:	52                   	push   %edx
44d36e:	57                   	push   %edi
44d36f:	8b d3                	mov    %ebx,%edx
44d371:	e8 1a f8 ff ff       	call   0x44cb90
44d376:	83 c4 0c             	add    $0xc,%esp
44d379:	5f                   	pop    %edi
44d37a:	5e                   	pop    %esi
44d37b:	5d                   	pop    %ebp
44d37c:	5b                   	pop    %ebx
44d37d:	83 c4 24             	add    $0x24,%esp
44d380:	c3                   	ret
44d381:	8b c2                	mov    %edx,%eax
44d383:	0f 46 c7             	cmovbe %edi,%eax
44d386:	3b f5                	cmp    %ebp,%esi
44d388:	89 44 24 18          	mov    %eax,0x18(%esp)
44d38c:	0f 46 ee             	cmovbe %esi,%ebp
44d38f:	0f 46 fa             	cmovbe %edx,%edi
44d392:	0f 46 74 24 44       	cmovbe 0x44(%esp),%esi
44d397:	89 7c 24 38          	mov    %edi,0x38(%esp)
44d39b:	89 74 24 3c          	mov    %esi,0x3c(%esp)
44d39f:	83 fd 02             	cmp    $0x2,%ebp
44d3a2:	0f 85 a4 00 00 00    	jne    0x44d44c
44d3a8:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
44d3ac:	0f 85 9a 00 00 00    	jne    0x44d44c
44d3b2:	8b 00                	mov    (%eax),%eax
44d3b4:	89 44 24 30          	mov    %eax,0x30(%esp)
44d3b8:	83 e8 00             	sub    $0x0,%eax
44d3bb:	74 74                	je     0x44d431
44d3bd:	83 e8 01             	sub    $0x1,%eax
44d3c0:	74 42                	je     0x44d404
44d3c2:	33 ed                	xor    %ebp,%ebp
44d3c4:	85 f6                	test   %esi,%esi
44d3c6:	74 29                	je     0x44d3f1
44d3c8:	8b d9                	mov    %ecx,%ebx
44d3ca:	2b f9                	sub    %ecx,%edi
44d3cc:	8b ce                	mov    %esi,%ecx
44d3ce:	8b 74 24 30          	mov    0x30(%esp),%esi
44d3d2:	8b 04 1f             	mov    (%edi,%ebx,1),%eax
44d3d5:	8d 5b 04             	lea    0x4(%ebx),%ebx
44d3d8:	f7 e6                	mul    %esi
44d3da:	03 c5                	add    %ebp,%eax
44d3dc:	89 43 fc             	mov    %eax,-0x4(%ebx)
44d3df:	83 d2 00             	adc    $0x0,%edx
44d3e2:	8b ea                	mov    %edx,%ebp
44d3e4:	83 e9 01             	sub    $0x1,%ecx
44d3e7:	75 e9                	jne    0x44d3d2
44d3e9:	8b 74 24 3c          	mov    0x3c(%esp),%esi
44d3ed:	8b 4c 24 14          	mov    0x14(%esp),%ecx
44d3f1:	89 2c b1             	mov    %ebp,(%ecx,%esi,4)
44d3f4:	c7 44 b1 04 00 00 00 	movl   $0x0,0x4(%ecx,%esi,4)