8b5262:	8b 45 80             	mov    -0x80(%ebp),%eax
8b5265:	39 bb 64 02 00 00    	cmp    %edi,0x264(%ebx)
8b526b:	0f 85 86 03 00 00    	jne    0x8b55f7
8b5271:	3b 83 e4 02 00 00    	cmp    0x2e4(%ebx),%eax
8b5277:	0f 8c 7a 03 00 00    	jl     0x8b55f7
8b527d:	8b 8b e4 02 00 00    	mov    0x2e4(%ebx),%ecx
8b5283:	2b 8b dc 02 00 00    	sub    0x2dc(%ebx),%ecx
8b5289:	8b c1                	mov    %ecx,%eax
8b528b:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
8b5291:	99                   	cltd
8b5292:	f7 bd 70 ff ff ff    	idivl  -0x90(%ebp)
8b5298:	8d 70 ff             	lea    -0x1(%eax),%esi
8b529b:	39 bb 5c 02 00 00    	cmp    %edi,0x25c(%ebx)
8b52a1:	74 72                	je     0x8b5315
8b52a3:	8b 83 e8 02 00 00    	mov    0x2e8(%ebx),%eax
8b52a9:	2b 83 e0 02 00 00    	sub    0x2e0(%ebx),%eax
8b52af:	99                   	cltd
8b52b0:	6a 03                	push   $0x3
8b52b2:	5e                   	pop    %esi
8b52b3:	f7 fe                	idiv   %esi
8b52b5:	8b b5 70 ff ff ff    	mov    -0x90(%ebp),%esi
8b52bb:	2b c8                	sub    %eax,%ecx
8b52bd:	8b c1                	mov    %ecx,%eax
8b52bf:	99                   	cltd
8b52c0:	f7 fe                	idiv   %esi
8b52c2:	8b c8                	mov    %eax,%ecx
8b52c4:	8b 83 e8 02 00 00    	mov    0x2e8(%ebx),%eax
8b52ca:	2b 83 e0 02 00 00    	sub    0x2e0(%ebx),%eax
8b52d0:	99                   	cltd
8b52d1:	2b c2                	sub    %edx,%eax
8b52d3:	d1 f8                	sar    $1,%eax
8b52d5:	03 83 d4 00 00 00    	add    0xd4(%ebx),%eax
8b52db:	3b c1                	cmp    %ecx,%eax
8b52dd:	8b 83 e8 02 00 00    	mov    0x2e8(%ebx),%eax
8b52e3:	7e 15                	jle    0x8b52fa
8b52e5:	2b 83 e0 02 00 00    	sub    0x2e0(%ebx),%eax
8b52eb:	99                   	cltd
8b52ec:	2b c2                	sub    %edx,%eax
8b52ee:	8b f0                	mov    %eax,%esi
8b52f0:	d1 fe                	sar    $1,%esi
8b52f2:	03 b3 d4 00 00 00    	add    0xd4(%ebx),%esi
8b52f8:	eb 1b                	jmp    0x8b5315
8b52fa:	2b 83 e0 02 00 00    	sub    0x2e0(%ebx),%eax
8b5300:	99                   	cltd
8b5301:	6a 03                	push   $0x3
8b5303:	59                   	pop    %ecx
8b5304:	f7 f9                	idiv   %ecx
8b5306:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
8b530c:	2b c8                	sub    %eax,%ecx
8b530e:	8b c1                	mov    %ecx,%eax
8b5310:	99                   	cltd
8b5311:	f7 fe                	idiv   %esi
8b5313:	8b f0                	mov    %eax,%esi
8b5315:	8b d7                	mov    %edi,%edx
8b5317:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
8b531d:	8b cf                	mov    %edi,%ecx
8b531f:	89 55 8c             	mov    %edx,-0x74(%ebp)
8b5322:	89 45 84             	mov    %eax,-0x7c(%ebp)
8b5325:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
8b532b:	39 bb bc 00 00 00    	cmp    %edi,0xbc(%ebx)
8b5331:	7e 62                	jle    0x8b5395
8b5333:	8b 83 b0 00 00 00    	mov    0xb0(%ebx),%eax
8b5339:	3b 83 bc 00 00 00    	cmp    0xbc(%ebx),%eax
8b533f:	75 0e                	jne    0x8b534f
8b5341:	51                   	push   %ecx
8b5342:	8d 8b a8 00 00 00    	lea    0xa8(%ebx),%ecx
8b5348:	e8 4f c6 b4 ff       	call   0x40199c
8b534d:	8b 08                	mov    (%eax),%ecx
8b534f:	51                   	push   %ecx
8b5350:	8d 8b 94 00 00 00    	lea    0x94(%ebx),%ecx
8b5356:	e8 f4 fe b4 ff       	call   0x40524f
8b535b:	8b 55 8c             	mov    -0x74(%ebp),%edx
8b535e:	8b 08                	mov    (%eax),%ecx
8b5360:	39 79 34             	cmp    %edi,0x34(%ecx)
8b5363:	74 18                	je     0x8b537d
8b5365:	39 71 24             	cmp    %esi,0x24(%ecx)
8b5368:	7d 13                	jge    0x8b537d
8b536a:	8b c6                	mov    %esi,%eax
8b536c:	2b 41 24             	sub    0x24(%ecx),%eax
8b536f:	03 d0                	add    %eax,%edx
8b5371:	8b 45 84             	mov    -0x7c(%ebp),%eax
8b5374:	48                   	dec    %eax
8b5375:	89 55 8c             	mov    %edx,-0x74(%ebp)
8b5378:	89 45 84             	mov    %eax,-0x7c(%ebp)
8b537b:	eb 03                	jmp    0x8b5380
8b537d:	8b 45 84             	mov    -0x7c(%ebp),%eax
8b5380:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
8b5386:	41                   	inc    %ecx
8b5387:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
8b538d:	3b 8b bc 00 00 00    	cmp    0xbc(%ebx),%ecx
8b5393:	7c 9e                	jl     0x8b5333
8b5395:	85 c0                	test   %eax,%eax
8b5397:	0f 8e 6b 02 00 00    	jle    0x8b5608
8b539d:	8b c2                	mov    %edx,%eax
8b539f:	89 bd 78 ff ff ff    	mov    %edi,-0x88(%ebp)
8b53a5:	99                   	cltd
8b53a6:	8b cf                	mov    %edi,%ecx
8b53a8:	f7 7d 84             	idivl  -0x7c(%ebp)
8b53ab:	03 f0                	add    %eax,%esi
8b53ad:	8b 83 dc 02 00 00    	mov    0x2dc(%ebx),%eax
8b53b3:	89 75 80             	mov    %esi,-0x80(%ebp)
8b53b6:	89 45 88             	mov    %eax,-0x78(%ebp)
8b53b9:	39 bb bc 00 00 00    	cmp    %edi,0xbc(%ebx)
8b53bf:	0f 8e 43 02 00 00    	jle    0x8b5608
8b53c5:	8b 83 b0 00 00 00    	mov    0xb0(%ebx),%eax
8b53cb:	3b 83 bc 00 00 00    	cmp    0xbc(%ebx),%eax
8b53d1:	75 16                	jne    0x8b53e9
8b53d3:	51                   	push   %ecx
8b53d4:	8d 8b a8 00 00 00    	lea    0xa8(%ebx),%ecx
8b53da:	e8 bd c5 b4 ff       	call   0x40199c
8b53df:	8b 00                	mov    (%eax),%eax
8b53e1:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
8b53e7:	eb 08                	jmp    0x8b53f1
8b53e9:	8b c1                	mov    %ecx,%eax
8b53eb:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
8b53f1:	50                   	push   %eax
8b53f2:	8d 8b 94 00 00 00    	lea    0x94(%ebx),%ecx
8b53f8:	e8 52 fe b4 ff       	call   0x40524f
8b53fd:	8b 10                	mov    (%eax),%edx
8b53ff:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
8b5405:	39 7a 34             	cmp    %edi,0x34(%edx)
8b5408:	75 36                	jne    0x8b5440
8b540a:	8b 8b f8 00 00 00    	mov    0xf8(%ebx),%ecx
8b5410:	85 c9                	test   %ecx,%ecx
8b5412:	0f 84 c4 01 00 00    	je     0x8b55dc
8b5418:	83 79 20 00          	cmpl   $0x0,0x20(%ecx)
8b541c:	0f 84 ba 01 00 00    	je     0x8b55dc
8b5422:	8d 45 c0             	lea    -0x40(%ebp),%eax
8b5425:	89 7d c0             	mov    %edi,-0x40(%ebp)
8b5428:	50                   	push   %eax
8b5429:	ff 72 28             	push   0x28(%edx)
8b542c:	89 7d c4             	mov    %edi,-0x3c(%ebp)
8b542f:	53                   	push   %ebx
8b5430:	89 7d c8             	mov    %edi,-0x38(%ebp)
8b5433:	89 7d cc             	mov    %edi,-0x34(%ebp)
8b5436:	e8 48 ab b5 ff       	call   0x40ff83
8b543b:	e9 9c 01 00 00       	jmp    0x8b55dc
8b5440:	8b cf                	mov    %edi,%ecx
8b5442:	39 7a 0c             	cmp    %edi,0xc(%edx)
8b5445:	75 06                	jne    0x8b544d
8b5447:	83 7a 08 ff          	cmpl   $0xffffffff,0x8(%edx)
8b544b:	74 06                	je     0x8b5453
8b544d:	8b 8b d4 00 00 00    	mov    0xd4(%ebx),%ecx
8b5453:	8b 42 24             	mov    0x24(%edx),%eax
8b5456:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
8b545c:	3b c6                	cmp    %esi,%eax
8b545e:	7f 02                	jg     0x8b5462
8b5460:	8b f0                	mov    %eax,%esi
8b5462:	a1 d8 e9 d5 00       	mov    0xd5e9d8,%eax
8b5467:	03 c1                	add    %ecx,%eax
8b5469:	39 45 80             	cmp    %eax,-0x80(%ebp)
8b546c:	7d 26                	jge    0x8b5494
8b546e:	8b 8b 0c 01 00 00    	mov    0x10c(%ebx),%ecx
8b5474:	8b 83 e4 02 00 00    	mov    0x2e4(%ebx),%eax
8b547a:	8d 04 48             	lea    (%eax,%ecx,2),%eax
8b547d:	2b 83 dc 02 00 00    	sub    0x2dc(%ebx),%eax
8b5483:	99                   	cltd
8b5484:	f7 bd 70 ff ff ff    	idivl  -0x90(%ebp)
8b548a:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
8b5490:	8b f0                	mov    %eax,%esi
8b5492:	eb 15                	jmp    0x8b54a9
8b5494:	8b 42 04             	mov    0x4(%edx),%eax
8b5497:	39 78 f4             	cmp    %edi,-0xc(%eax)
8b549a:	74 05                	je     0x8b54a1
8b549c:	39 7a 3c             	cmp    %edi,0x3c(%edx)
8b549f:	74 08                	je     0x8b54a9
8b54a1:	a1 d4 e9 d5 00       	mov    0xd5e9d4,%eax
8b54a6:	8d 34 41             	lea    (%ecx,%eax,2),%esi
8b54a9:	39 bb 5c 02 00 00    	cmp    %edi,0x25c(%ebx)
8b54af:	74 1a                	je     0x8b54cb
8b54b1:	8b 83 e8 02 00 00    	mov    0x2e8(%ebx),%eax
8b54b7:	2b 83 e0 02 00 00    	sub    0x2e0(%ebx),%eax
8b54bd:	8b c0                	mov    %eax,%eax
8b54bf:	85 c0                	test   %eax,%eax
8b54c1:	79 03                	jns    0x8b54c6
8b54c3:	83 c0 01             	add    $0x1,%eax
8b54c6:	d1 f8                	sar    $1,%eax
8b54c8:	48                   	dec    %eax
8b54c9:	03 f0                	add    %eax,%esi
8b54cb:	8b 8b e8 02 00 00    	mov    0x2e8(%ebx),%ecx
8b54d1:	2b 8b e0 02 00 00    	sub    0x2e0(%ebx),%ecx
8b54d7:	8b 83 e0 02 00 00    	mov    0x2e0(%ebx),%eax
8b54dd:	83 e9 02             	sub    $0x2,%ecx
8b54e0:	8b 7d 88             	mov    -0x78(%ebp),%edi
8b54e3:	89 45 d4             	mov    %eax,-0x2c(%ebp)
8b54e6:	03 c1                	add    %ecx,%eax
8b54e8:	89 7d d0             	mov    %edi,-0x30(%ebp)
8b54eb:	03 fe                	add    %esi,%edi
8b54ed:	89 45 dc             	mov    %eax,-0x24(%ebp)
8b54f0:	8d 75 d0             	lea    -0x30(%ebp),%esi
8b54f3:	89 7d 88             	mov    %edi,-0x78(%ebp)
8b54f6:	8d 42 10             	lea    0x10(%edx),%eax
8b54f9:	89 7d d8             	mov    %edi,-0x28(%ebp)
8b54fc:	8b f8                	mov    %eax,%edi
8b54fe:	89 45 84             	mov    %eax,-0x7c(%ebp)
8b5501:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8b5502:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8b5503:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8b5504:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8b5505:	33 f6                	xor    %esi,%esi
8b5507:	39 b3 50 02 00 00    	cmp    %esi,0x250(%ebx)
8b550d:	0f 85 98 00 00 00    	jne    0x8b55ab
8b5513:	83 bb 90 00 00 00 01 	cmpl   $0x1,0x90(%ebx)
8b551a:	75 13                	jne    0x8b552f
8b551c:	6a 02                	push   $0x2
8b551e:	56                   	push   %esi
8b551f:	50                   	push   %eax
8b5520:	ff 15 4c 40 d8 00    	call   *0xd8404c
8b5526:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
8b552c:	8b 45 84             	mov    -0x7c(%ebp),%eax
8b552f:	8b 8b f8 00 00 00    	mov    0xf8(%ebx),%ecx
8b5535:	85 c9                	test   %ecx,%ecx
8b5537:	74 72                	je     0x8b55ab
8b5539:	39 71 20             	cmp    %esi,0x20(%ecx)
8b553c:	74 6d                	je     0x8b55ab
8b553e:	8b 7d 80             	mov    -0x80(%ebp),%edi
8b5541:	39 bd 68 ff ff ff    	cmp    %edi,-0x98(%ebp)
8b5547:	7f 20                	jg     0x8b5569
8b5549:	39 72 40             	cmp    %esi,0x40(%edx)
8b554c:	75 1b                	jne    0x8b5569
8b554e:	39 b3 00 01 00 00    	cmp    %esi,0x100(%ebx)
8b5554:	75 13                	jne    0x8b5569
8b5556:	8b fe                	mov    %esi,%edi
8b5558:	89 75 e0             	mov    %esi,-0x20(%ebp)
8b555b:	89 75 e4             	mov    %esi,-0x1c(%ebp)
8b555e:	8d 45 e0             	lea    -0x20(%ebp),%eax
8b5561:	89 75 e8             	mov    %esi,-0x18(%ebp)
8b5564:	89 75 ec             	mov    %esi,-0x14(%ebp)
8b5567:	eb 1c                	jmp    0x8b5585
8b5569:	8b f0                	mov    %eax,%esi
8b556b:	c7 85 68 ff ff ff 01 	movl   $0x1,-0x98(%ebp)
8b5572:	00 00 00
8b5575:	8d 7d 90             	lea    -0x70(%ebp),%edi
8b5578:	8d 45 90             	lea    -0x70(%ebp),%eax
8b557b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8b557c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8b557d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8b557e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8b557f:	8b bd 68 ff ff ff    	mov    -0x98(%ebp),%edi
8b5585:	50                   	push   %eax
8b5586:	ff 72 28             	push   0x28(%edx)
8b5589:	53                   	push   %ebx
8b558a:	e8 f4 a9 b5 ff       	call   0x40ff83
8b558f:	85 ff                	test   %edi,%edi
8b5591:	74 18                	je     0x8b55ab
8b5593:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
8b5599:	3b 83 c0 00 00 00    	cmp    0xc0(%ebx),%eax
8b559f:	75 0a                	jne    0x8b55ab
8b55a1:	8b 75 84             	mov    -0x7c(%ebp),%esi
8b55a4:	8d 7d b0             	lea    -0x50(%ebp),%edi
8b55a7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8b55a8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8b55a9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8b55aa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8b55ab:	8b 75 88             	mov    -0x78(%ebp),%esi
8b55ae:	33 ff                	xor    %edi,%edi
8b55b0:	39 bb 5c 02 00 00    	cmp    %edi,0x25c(%ebx)
8b55b6:	74 18                	je     0x8b55d0
8b55b8:	8b 83 e8 02 00 00    	mov    0x2e8(%ebx),%eax
8b55be:	2b 83 e0 02 00 00    	sub    0x2e0(%ebx),%eax
8b55c4:	99                   	cltd
8b55c5:	2b c2                	sub    %edx,%eax
8b55c7:	d1 f8                	sar    $1,%eax
8b55c9:	f7 d8                	neg    %eax
8b55cb:	03 f0                	add    %eax,%esi
8b55cd:	89 75 88             	mov    %esi,-0x78(%ebp)
8b55d0:	39 7d 8c             	cmp    %edi,-0x74(%ebp)
8b55d3:	7e 04                	jle    0x8b55d9
8b55d5:	46                   	inc    %esi
8b55d6:	89 75 88             	mov    %esi,-0x78(%ebp)
8b55d9:	8b 75 80             	mov    -0x80(%ebp),%esi
8b55dc:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
8b55e2:	41                   	inc    %ecx
8b55e3:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
8b55e9:	3b 8b bc 00 00 00    	cmp    0xbc(%ebx),%ecx
8b55ef:	0f 8c d0 fd ff ff    	jl     0x8b53c5
8b55f5:	eb 11                	jmp    0x8b5608
8b55f7:	8b 83 10 01 00 00    	mov    0x110(%ebx),%eax
8b55fd:	99                   	cltd
8b55fe:	2b c2                	sub    %edx,%eax
8b5600:	d1 f8                	sar    $1,%eax
8b5602:	01 83 ac 02 00 00    	add    %eax,0x2ac(%ebx)
8b5608:	ff b5 60 ff ff ff    	push   -0xa0(%ebp)
8b560e:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
8b5614:	e8 c6 56 b6 ff       	call   0x41acdf
8b5619:	39 bb 8c 02 00 00    	cmp    %edi,0x28c(%ebx)
8b561f:	0f 84 f5 00 00 00    	je     0x8b571a
8b5625:	8b 8b c0 00 00 00    	mov    0xc0(%ebx),%ecx
8b562b:	85 c9                	test   %ecx,%ecx
8b562d:	0f 88 e7 00 00 00    	js     0x8b571a
8b5633:	8b 03                	mov    (%ebx),%eax
8b5635:	8d bb 00 02 00 00    	lea    0x200(%ebx),%edi
8b563b:	57                   	push   %edi
8b563c:	51                   	push   %ecx
8b563d:	8b b0 b8 01 00 00    	mov    0x1b8(%eax),%esi
8b5643:	8b ce                	mov    %esi,%ecx
8b5645:	e8 1b 70 b7 ff       	call   0x42c665
8b564a:	8b cb                	mov    %ebx,%ecx
8b564c:	ff d6                	call   *%esi
8b564e:	8b 83 08 02 00 00    	mov    0x208(%ebx),%eax
8b5654:	2b 47 0c             	sub    0xc(%edi),%eax
8b5657:	03 47 04             	add    0x4(%edi),%eax
8b565a:	6a fe                	push   $0xfffffffe
8b565c:	6a fe                	push   $0xfffffffe
8b565e:	57                   	push   %edi
8b565f:	89 07                	mov    %eax,(%edi)
8b5661:	ff 15 ec 3d d8 00    	call   *0xd83dec
8b5667:	e8 e1 d4 b5 ff       	call   0x412b4d
8b566c:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
8b5672:	8b 9b 90 00 00 00    	mov    0x90(%ebx),%ebx
8b5678:	8b f8                	mov    %eax,%edi
8b567a:	8b 0f                	mov    (%edi),%ecx
8b567c:	8b b1 20 01 00 00    	mov    0x120(%ecx),%esi
8b5682:	8b ce                	mov    %esi,%ecx
8b5684:	e8 dc 6f b7 ff       	call   0x42c665
8b5689:	8b cf                	mov    %edi,%ecx
8b568b:	ff d6                	call   *%esi
8b568d:	8b bd 5c ff ff ff    	mov    -0xa4(%ebp),%edi
8b5693:	33 c9                	xor    %ecx,%ecx
8b5695:	f7 d8                	neg    %eax
8b5697:	83 fb 01             	cmp    $0x1,%ebx
8b569a:	0f 94 c1             	sete   %cl
8b569d:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
8b56a4:	51                   	push   %ecx
8b56a5:	50                   	push   %eax
8b56a6:	57                   	push   %edi
8b56a7:	ff 15 4c 40 d8 00    	call   *0xd8404c
8b56ad:	8b 9d 6c ff ff ff    	mov    -0x94(%ebp),%ebx
8b56b3:	8b 8b fc 00 00 00    	mov    0xfc(%ebx),%ecx
8b56b9:	85 c9                	test   %ecx,%ecx
8b56bb:	74 5d                	je     0x8b571a
8b56bd:	83 79 20 00          	cmpl   $0x0,0x20(%ecx)
8b56c1:	74 57                	je     0x8b571a
8b56c3:	57                   	push   %edi
8b56c4:	6a 01                	push   $0x1
8b56c6:	53                   	push   %ebx
8b56c7:	e8 b7 a8 b5 ff       	call   0x40ff83
8b56cc:	ff b3 c0 00 00 00    	push   0xc0(%ebx)
8b56d2:	8d 8b 94 00 00 00    	lea    0x94(%ebx),%ecx
8b56d8:	e8 72 fb b4 ff       	call   0x40524f
8b56dd:	8b 30                	mov    (%eax),%esi
8b56df:	8b 83 f8 00 00 00    	mov    0xf8(%ebx),%eax
8b56e5:	85 c0                	test   %eax,%eax
8b56e7:	74 31                	je     0x8b571a
8b56e9:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
8b56ed:	74 2b                	je     0x8b571a
8b56ef:	85 f6                	test   %esi,%esi
8b56f1:	74 27                	je     0x8b571a
8b56f3:	8d 45 b0             	lea    -0x50(%ebp),%eax
8b56f6:	50                   	push   %eax