8c51fa:	c2 04 00             	ret    $0x4
8c51fd:	cc                   	int3
8c51fe:	cc                   	int3
8c51ff:	cc                   	int3
8c5200:	cc                   	int3
8c5201:	cc                   	int3
8c5202:	6a 0c                	push   $0xc
8c5204:	b8 5c 23 ba 00       	mov    $0xba235c,%eax
8c5209:	e8 7d 50 b4 ff       	call   0x40a28b
8c520e:	8b f1                	mov    %ecx,%esi
8c5210:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
8c5214:	7f 05                	jg     0x8c521b
8c5216:	e8 4b cd b6 ff       	call   0x431f66
8c521b:	8b 55 0c             	mov    0xc(%ebp),%edx
8c521e:	8b 02                	mov    (%edx),%eax
8c5220:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
8c5224:	74 f0                	je     0x8c5216
8c5226:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
8c522a:	75 ea                	jne    0x8c5216
8c522c:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
8c5230:	0f 95 c1             	setne  %cl
8c5233:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
8c5237:	0f 94 c0             	sete   %al
8c523a:	fe c8                	dec    %al
8c523c:	24 02                	and    $0x2,%al
8c523e:	0a c8                	or     %al,%cl
8c5240:	0f b6 c1             	movzbl %cl,%eax
8c5243:	8d 4d e8             	lea    -0x18(%ebp),%ecx
8c5246:	50                   	push   %eax
8c5247:	52                   	push   %edx
8c5248:	ff 75 08             	push   0x8(%ebp)
8c524b:	e8 2c be b4 ff       	call   0x41107c
8c5250:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
8c5254:	8d 4e 2c             	lea    0x2c(%esi),%ecx
8c5257:	50                   	push   %eax
8c5258:	ff 71 08             	push   0x8(%ecx)
8c525b:	e8 34 f0 b5 ff       	call   0x424294
8c5260:	8b 4d ec             	mov    -0x14(%ebp),%ecx
8c5263:	8d 49 f0             	lea    -0x10(%ecx),%ecx
8c5266:	e8 a9 f9 b3 ff       	call   0x404c14
8c526b:	e8 a7 91 b4 ff       	call   0x40e417
8c5270:	c2 10 00             	ret    $0x10
8c5273:	cc                   	int3
8c5274:	cc                   	int3
8c5275:	cc                   	int3
8c5276:	cc                   	int3
8c5277:	cc                   	int3
8c5278:	cc                   	int3
8c5279:	cc                   	int3
8c527a:	cc                   	int3
8c527b:	cc                   	int3
8c527c:	cc                   	int3
8c527d:	cc                   	int3
8c527e:	cc                   	int3
8c527f:	cc                   	int3
8c5280:	cc                   	int3
8c5281:	cc                   	int3
8c5282:	cc                   	int3
8c5283:	cc                   	int3
8c5284:	cc                   	int3
8c5285:	cc                   	int3
8c5286:	cc                   	int3
8c5287:	cc                   	int3
8c5288:	cc                   	int3
8c5289:	cc                   	int3
8c528a:	cc                   	int3
8c528b:	cc                   	int3
8c528c:	cc                   	int3
8c528d:	cc                   	int3
8c528e:	cc                   	int3
8c528f:	6a 0c                	push   $0xc
8c5291:	b8 87 23 ba 00       	mov    $0xba2387,%eax
8c5296:	e8 f0 4f b4 ff       	call   0x40a28b
8c529b:	8b f1                	mov    %ecx,%esi
8c529d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
8c52a1:	7f 05                	jg     0x8c52a8
8c52a3:	e8 be cc b6 ff       	call   0x431f66
8c52a8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
8c52ab:	8b 01                	mov    (%ecx),%eax
8c52ad:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
8c52b1:	74 f0                	je     0x8c52a3
8c52b3:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
8c52b7:	75 ea                	jne    0x8c52a3
8c52b9:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
8c52bd:	0f 95 c0             	setne  %al
8c52c0:	0f b6 c0             	movzbl %al,%eax
8c52c3:	50                   	push   %eax
8c52c4:	51                   	push   %ecx
8c52c5:	ff 75 08             	push   0x8(%ebp)
8c52c8:	8d 4d e8             	lea    -0x18(%ebp),%ecx
8c52cb:	e8 ac bd b4 ff       	call   0x41107c
8c52d0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
8c52d4:	8d 4e 40             	lea    0x40(%esi),%ecx
8c52d7:	50                   	push   %eax
8c52d8:	ff 71 08             	push   0x8(%ecx)
8c52db:	e8 b4 ef b5 ff       	call   0x424294
8c52e0:	8b 4d ec             	mov    -0x14(%ebp),%ecx
8c52e3:	8d 49 f0             	lea    -0x10(%ecx),%ecx
8c52e6:	e8 29 f9 b3 ff       	call   0x404c14
8c52eb:	e8 27 91 b4 ff       	call   0x40e417
8c52f0:	c2 0c 00             	ret    $0xc
8c52f3:	cc                   	int3
8c52f4:	cc                   	int3
8c52f5:	cc                   	int3
8c52f6:	cc                   	int3
8c52f7:	cc                   	int3
8c52f8:	cc                   	int3
8c52f9:	cc                   	int3
8c52fa:	cc                   	int3
8c52fb:	cc                   	int3
8c52fc:	cc                   	int3
8c52fd:	cc                   	int3
8c52fe:	cc                   	int3
8c52ff:	cc                   	int3
8c5300:	cc                   	int3
8c5301:	cc                   	int3
8c5302:	cc                   	int3
8c5303:	cc                   	int3
8c5304:	cc                   	int3
8c5305:	cc                   	int3
8c5306:	cc                   	int3
8c5307:	cc                   	int3
8c5308:	cc                   	int3
8c5309:	cc                   	int3
8c530a:	cc                   	int3
8c530b:	cc                   	int3
8c530c:	55                   	push   %ebp
8c530d:	8b ec                	mov    %esp,%ebp
8c530f:	57                   	push   %edi
8c5310:	8b f9                	mov    %ecx,%edi
8c5312:	8d 47 2c             	lea    0x2c(%edi),%eax
8c5315:	50                   	push   %eax
8c5316:	ff 75 08             	push   0x8(%ebp)
8c5319:	e8 96 c6 b4 ff       	call   0x4119b4
8c531e:	83 f8 ff             	cmp    $0xffffffff,%eax
8c5321:	75 1a                	jne    0x8c533d
8c5323:	8b 07                	mov    (%edi),%eax
8c5325:	56                   	push   %esi
8c5326:	ff 75 08             	push   0x8(%ebp)
8c5329:	8b 70 3c             	mov    0x3c(%eax),%esi
8c532c:	8b ce                	mov    %esi,%ecx
8c532e:	e8 32 73 b6 ff       	call   0x42c665
8c5333:	8b cf                	mov    %edi,%ecx
8c5335:	ff d6                	call   *%esi
8c5337:	5e                   	pop    %esi
8c5338:	85 47 08             	test   %eax,0x8(%edi)
8c533b:	74 16                	je     0x8c5353
8c533d:	6a 00                	push   $0x0
8c533f:	ff 75 08             	push   0x8(%ebp)
8c5342:	8b cf                	mov    %edi,%ecx
8c5344:	68 66 04 00 00       	push   $0x466
8c5349:	e8 1b 57 b5 ff       	call   0x41aa69
8c534e:	5f                   	pop    %edi
8c534f:	5d                   	pop    %ebp
8c5350:	c2 04 00             	ret    $0x4
8c5353:	e8 0e cc b6 ff       	call   0x431f66
8c5358:	cc                   	int3
8c5359:	cc                   	int3
8c535a:	cc                   	int3
8c535b:	cc                   	int3
8c535c:	cc                   	int3
8c535d:	cc                   	int3
8c535e:	cc                   	int3
8c535f:	cc                   	int3
8c5360:	cc                   	int3
8c5361:	cc                   	int3
8c5362:	cc                   	int3
8c5363:	cc                   	int3
8c5364:	cc                   	int3
8c5365:	cc                   	int3
8c5366:	cc                   	int3
8c5367:	cc                   	int3
8c5368:	cc                   	int3
8c5369:	cc                   	int3
8c536a:	cc                   	int3
8c536b:	cc                   	int3
8c536c:	55                   	push   %ebp
8c536d:	8b ec                	mov    %esp,%ebp
8c536f:	56                   	push   %esi
8c5370:	8b f1                	mov    %ecx,%esi
8c5372:	8d 46 40             	lea    0x40(%esi),%eax
8c5375:	50                   	push   %eax
8c5376:	ff 75 08             	push   0x8(%ebp)
8c5379:	e8 36 c6 b4 ff       	call   0x4119b4
8c537e:	83 f8 ff             	cmp    $0xffffffff,%eax
8c5381:	74 16                	je     0x8c5399
8c5383:	6a 00                	push   $0x0
8c5385:	ff 75 08             	push   0x8(%ebp)
8c5388:	8b ce                	mov    %esi,%ecx
8c538a:	68 6e 04 00 00       	push   $0x46e
8c538f:	e8 d5 56 b5 ff       	call   0x41aa69
8c5394:	5e                   	pop    %esi
8c5395:	5d                   	pop    %ebp
8c5396:	c2 04 00             	ret    $0x4
8c5399:	e8 c8 cb b6 ff       	call   0x431f66
8c539e:	cc                   	int3
8c539f:	cc                   	int3
8c53a0:	cc                   	int3
8c53a1:	cc                   	int3
8c53a2:	cc                   	int3
8c53a3:	cc                   	int3
8c53a4:	cc                   	int3
8c53a5:	cc                   	int3
8c53a6:	cc                   	int3
8c53a7:	cc                   	int3
8c53a8:	cc                   	int3
8c53a9:	cc                   	int3
8c53aa:	cc                   	int3
8c53ab:	55                   	push   %ebp
8c53ac:	8b ec                	mov    %esp,%ebp
8c53ae:	83 ec 60             	sub    $0x60,%esp
8c53b1:	53                   	push   %ebx
8c53b2:	56                   	push   %esi
8c53b3:	57                   	push   %edi
8c53b4:	8b f9                	mov    %ecx,%edi
8c53b6:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
8c53ba:	75 63                	jne    0x8c541f
8c53bc:	6a 60                	push   $0x60
8c53be:	8d 45 a0             	lea    -0x60(%ebp),%eax
8c53c1:	6a 00                	push   $0x0
8c53c3:	50                   	push   %eax
8c53c4:	e8 ef f3 b4 ff       	call   0x4147b8
8c53c9:	8b 45 08             	mov    0x8(%ebp),%eax
8c53cc:	83 c4 0c             	add    $0xc,%esp
8c53cf:	89 45 a4             	mov    %eax,-0x5c(%ebp)
8c53d2:	8b cf                	mov    %edi,%ecx
8c53d4:	8d 45 a0             	lea    -0x60(%ebp),%eax
8c53d7:	50                   	push   %eax
8c53d8:	e8 20 00 b4 ff       	call   0x4053fd
8c53dd:	8d 87 84 00 00 00    	lea    0x84(%edi),%eax
8c53e3:	50                   	push   %eax
8c53e4:	8d 87 88 00 00 00    	lea    0x88(%edi),%eax
8c53ea:	50                   	push   %eax
8c53eb:	8d 9f 8c 00 00 00    	lea    0x8c(%edi),%ebx
8c53f1:	8d 45 a0             	lea    -0x60(%ebp),%eax
8c53f4:	53                   	push   %ebx
8c53f5:	50                   	push   %eax
8c53f6:	e8 e2 bf b4 ff       	call   0x4113dd
8c53fb:	83 c4 10             	add    $0x10,%esp
8c53fe:	8b f0                	mov    %eax,%esi
8c5400:	8d 45 a0             	lea    -0x60(%ebp),%eax
8c5403:	8b cf                	mov    %edi,%ecx
8c5405:	50                   	push   %eax
8c5406:	e8 f0 f5 b5 ff       	call   0x4249fb
8c540b:	85 f6                	test   %esi,%esi
8c540d:	75 04                	jne    0x8c5413
8c540f:	8b 03                	mov    (%ebx),%eax
8c5411:	eb 03                	jmp    0x8c5416
8c5413:	83 c8 ff             	or     $0xffffffff,%eax
8c5416:	5f                   	pop    %edi
8c5417:	5e                   	pop    %esi
8c5418:	5b                   	pop    %ebx
8c5419:	8b e5                	mov    %ebp,%esp
8c541b:	5d                   	pop    %ebp
8c541c:	c2 04 00             	ret    $0x4
8c541f:	e8 42 cb b6 ff       	call   0x431f66
8c5424:	cc                   	int3
8c5425:	cc                   	int3
8c5426:	cc                   	int3
8c5427:	cc                   	int3
8c5428:	cc                   	int3
8c5429:	cc                   	int3
8c542a:	cc                   	int3
8c542b:	cc                   	int3
8c542c:	cc                   	int3
8c542d:	cc                   	int3
8c542e:	cc                   	int3
8c542f:	cc                   	int3
8c5430:	cc                   	int3
8c5431:	cc                   	int3
8c5432:	cc                   	int3
8c5433:	cc                   	int3
8c5434:	cc                   	int3
8c5435:	cc                   	int3
8c5436:	cc                   	int3
8c5437:	cc                   	int3
8c5438:	cc                   	int3
8c5439:	cc                   	int3
8c543a:	cc                   	int3
8c543b:	cc                   	int3
8c543c:	cc                   	int3
8c543d:	cc                   	int3
8c543e:	cc                   	int3
8c543f:	cc                   	int3
8c5440:	cc                   	int3
8c5441:	cc                   	int3
8c5442:	cc                   	int3
8c5443:	55                   	push   %ebp
8c5444:	8b ec                	mov    %esp,%ebp
8c5446:	8b 45 08             	mov    0x8(%ebp),%eax
8c5449:	85 c0                	test   %eax,%eax
8c544b:	78 0f                	js     0x8c545c
8c544d:	3b 41 08             	cmp    0x8(%ecx),%eax
8c5450:	7d 0a                	jge    0x8c545c
8c5452:	6b c0 0c             	imul   $0xc,%eax,%eax
8c5455:	03 41 04             	add    0x4(%ecx),%eax
8c5458:	5d                   	pop    %ebp
8c5459:	c2 04 00             	ret    $0x4
8c545c:	e8 05 cb b6 ff       	call   0x431f66
8c5461:	cc                   	int3
8c5462:	cc                   	int3
8c5463:	cc                   	int3
8c5464:	cc                   	int3
8c5465:	cc                   	int3
8c5466:	cc                   	int3
8c5467:	cc                   	int3
8c5468:	cc                   	int3
8c5469:	55                   	push   %ebp
8c546a:	8b ec                	mov    %esp,%ebp
8c546c:	56                   	push   %esi
8c546d:	8b f1                	mov    %ecx,%esi
8c546f:	33 c9                	xor    %ecx,%ecx
8c5471:	57                   	push   %edi
8c5472:	8b 7d 08             	mov    0x8(%ebp),%edi
8c5475:	8b 46 08             	mov    0x8(%esi),%eax
8c5478:	89 47 10             	mov    %eax,0x10(%edi)
8c547b:	8b 46 14             	mov    0x14(%esi),%eax
8c547e:	89 47 0c             	mov    %eax,0xc(%edi)
8c5481:	a8 30                	test   $0x30,%al
8c5483:	74 0b                	je     0x8c5490
8c5485:	39 4e 34             	cmp    %ecx,0x34(%esi)
8c5488:	75 06                	jne    0x8c5490
8c548a:	83 e0 cf             	and    $0xffffffcf,%eax
8c548d:	89 47 0c             	mov    %eax,0xc(%edi)
8c5490:	53                   	push   %ebx
8c5491:	8d 5e 60             	lea    0x60(%esi),%ebx
8c5494:	8b 03                	mov    (%ebx),%eax
8c5496:	39 48 f4             	cmp    %ecx,-0xc(%eax)
8c5499:	75 13                	jne    0x8c54ae
8c549b:	39 4e 28             	cmp    %ecx,0x28(%esi)
8c549e:	74 0e                	je     0x8c54ae
8c54a0:	68 30 8e c4 00       	push   $0xc48e30
8c54a5:	8b cb                	mov    %ebx,%ecx
8c54a7:	e8 de df b4 ff       	call   0x41348a
8c54ac:	33 c9                	xor    %ecx,%ecx
8c54ae:	8b 46 18             	mov    0x18(%esi),%eax
8c54b1:	89 47 5c             	mov    %eax,0x5c(%edi)
8c54b4:	8b 46 1c             	mov    0x1c(%esi),%eax
8c54b7:	89 47 2c             	mov    %eax,0x2c(%edi)
8c54ba:	8b 46 20             	mov    0x20(%esi),%eax
8c54bd:	89 47 38             	mov    %eax,0x38(%edi)
8c54c0:	8b 46 5c             	mov    0x5c(%esi),%eax
8c54c3:	89 47 14             	mov    %eax,0x14(%edi)
8c54c6:	8b 46 58             	mov    0x58(%esi),%eax
8c54c9:	89 47 1c             	mov    %eax,0x1c(%edi)
8c54cc:	8b 46 54             	mov    0x54(%esi),%eax
8c54cf:	89 47 20             	mov    %eax,0x20(%edi)
8c54d2:	8b 03                	mov    (%ebx),%eax
8c54d4:	89 47 50             	mov    %eax,0x50(%edi)
8c54d7:	8b 46 68             	mov    0x68(%esi),%eax