8f82ce:	50                   	push   %eax
8f82cf:	ff 15 2c 32 d8 00    	call   *0xd8322c
8f82d5:	50                   	push   %eax
8f82d6:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
8f82d9:	e8 8d 3a b1 ff       	call   0x40bd6b
8f82de:	89 9d 78 ff ff ff    	mov    %ebx,-0x88(%ebp)
8f82e4:	c7 85 74 ff ff ff 0c 	movl   $0xbd4c0c,-0x8c(%ebp)
8f82eb:	4c bd 00
8f82ee:	8b 4d 18             	mov    0x18(%ebp),%ecx
8f82f1:	2b 4d 10             	sub    0x10(%ebp),%ecx
8f82f4:	8b 45 14             	mov    0x14(%ebp),%eax
8f82f7:	2b 45 0c             	sub    0xc(%ebp),%eax
8f82fa:	51                   	push   %ecx
8f82fb:	50                   	push   %eax
8f82fc:	ff 77 04             	push   0x4(%edi)
8f82ff:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
8f8303:	ff 15 6c 33 d8 00    	call   *0xd8336c
8f8309:	50                   	push   %eax
8f830a:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
8f8310:	e8 5d e2 b1 ff       	call   0x416572
8f8315:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
8f831b:	ff 75 90             	push   -0x70(%ebp)
8f831e:	e8 66 8e b2 ff       	call   0x421189
8f8323:	8b 55 18             	mov    0x18(%ebp),%edx
8f8326:	2b 55 10             	sub    0x10(%ebp),%edx
8f8329:	8b 4d 14             	mov    0x14(%ebp),%ecx
8f832c:	2b 4d 0c             	sub    0xc(%ebp),%ecx
8f832f:	68 20 00 cc 00       	push   $0xcc0020
8f8334:	53                   	push   %ebx
8f8335:	53                   	push   %ebx
8f8336:	ff 77 04             	push   0x4(%edi)
8f8339:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
8f833f:	52                   	push   %edx
8f8340:	51                   	push   %ecx
8f8341:	53                   	push   %ebx
8f8342:	53                   	push   %ebx
8f8343:	ff 75 90             	push   -0x70(%ebp)
8f8346:	ff 15 bc 31 d8 00    	call   *0xd831bc
8f834c:	8b 45 1c             	mov    0x1c(%ebp),%eax
8f834f:	c1 e8 18             	shr    $0x18,%eax
8f8352:	83 e0 01             	and    $0x1,%eax
8f8355:	83 be 00 c0 00 00 14 	cmpl   $0x14,0xc000(%esi)
8f835c:	89 45 88             	mov    %eax,-0x78(%ebp)
8f835f:	0f 8d dc 00 00 00    	jge    0x8f8441
8f8365:	8b 45 34             	mov    0x34(%ebp),%eax
8f8368:	85 c0                	test   %eax,%eax
8f836a:	74 08                	je     0x8f8374
8f836c:	8b 8e 50 8f 00 00    	mov    0x8f50(%esi),%ecx
8f8372:	eb 06                	jmp    0x8f837a
8f8374:	8b 8e 58 8f 00 00    	mov    0x8f58(%esi),%ecx
8f837a:	89 4d bc             	mov    %ecx,-0x44(%ebp)
8f837d:	85 c0                	test   %eax,%eax
8f837f:	74 08                	je     0x8f8389
8f8381:	8b 86 54 8f 00 00    	mov    0x8f54(%esi),%eax
8f8387:	eb 06                	jmp    0x8f838f
8f8389:	8b 86 5c 8f 00 00    	mov    0x8f5c(%esi),%eax
8f838f:	8d 75 0c             	lea    0xc(%ebp),%esi
8f8392:	89 45 b8             	mov    %eax,-0x48(%ebp)
8f8395:	8d 7d 9c             	lea    -0x64(%ebp),%edi
8f8398:	8b 45 0c             	mov    0xc(%ebp),%eax
8f839b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f839c:	8d 4d e8             	lea    -0x18(%ebp),%ecx
8f839f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f83a0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f83a1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f83a2:	8b 75 b4             	mov    -0x4c(%ebp),%esi
8f83a5:	8d 7d e0             	lea    -0x20(%ebp),%edi
8f83a8:	8d b6 18 25 00 00    	lea    0x2518(%esi),%esi
8f83ae:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f83af:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f83b0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f83b1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f83b2:	03 45 e0             	add    -0x20(%ebp),%eax
8f83b5:	89 45 9c             	mov    %eax,-0x64(%ebp)
8f83b8:	8b 45 e4             	mov    -0x1c(%ebp),%eax
8f83bb:	01 45 a0             	add    %eax,-0x60(%ebp)
8f83be:	8b 45 e8             	mov    -0x18(%ebp),%eax
8f83c1:	29 45 a4             	sub    %eax,-0x5c(%ebp)
8f83c4:	8b 45 ec             	mov    -0x14(%ebp),%eax
8f83c7:	29 45 a8             	sub    %eax,-0x58(%ebp)
8f83ca:	8d 45 8c             	lea    -0x74(%ebp),%eax
8f83cd:	50                   	push   %eax
8f83ce:	e8 ed 84 b1 ff       	call   0x4108c0
8f83d3:	8b 4d bc             	mov    -0x44(%ebp),%ecx
8f83d6:	8d 75 9c             	lea    -0x64(%ebp),%esi
8f83d9:	8b 45 b8             	mov    -0x48(%ebp),%eax
8f83dc:	6a 32                	push   $0x32
8f83de:	53                   	push   %ebx
8f83df:	51                   	push   %ecx
8f83e0:	50                   	push   %eax
8f83e1:	50                   	push   %eax
8f83e2:	51                   	push   %ecx
8f83e3:	83 ec 10             	sub    $0x10,%esp
8f83e6:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
8f83ea:	8b fc                	mov    %esp,%edi
8f83ec:	8d 4d e8             	lea    -0x18(%ebp),%ecx
8f83ef:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f83f0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f83f1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f83f2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f83f3:	e8 d3 e8 b0 ff       	call   0x406ccb
8f83f8:	8d 4d e8             	lea    -0x18(%ebp),%ecx
8f83fb:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
8f83ff:	e8 8d 7c b1 ff       	call   0x410091
8f8404:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
8f8407:	8d 75 0c             	lea    0xc(%ebp),%esi
8f840a:	33 c0                	xor    %eax,%eax
8f840c:	39 45 34             	cmp    %eax,0x34(%ebp)
8f840f:	68 ff 00 00 00       	push   $0xff
8f8414:	8b 99 d0 23 00 00    	mov    0x23d0(%ecx),%ebx
8f841a:	0f 94 c0             	sete   %al
8f841d:	50                   	push   %eax
8f841e:	83 ec 10             	sub    $0x10,%esp
8f8421:	8d 45 8c             	lea    -0x74(%ebp),%eax
8f8424:	8b fc                	mov    %esp,%edi
8f8426:	8b 4b 14             	mov    0x14(%ebx),%ecx
8f8429:	50                   	push   %eax
8f842a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f842b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f842c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f842d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f842e:	e8 32 42 b3 ff       	call   0x42c665
8f8433:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
8f8436:	8d 89 d0 23 00 00    	lea    0x23d0(%ecx),%ecx
8f843c:	ff 53 14             	call   *0x14(%ebx)
8f843f:	eb 38                	jmp    0x8f8479
8f8441:	8b 9e d0 23 00 00    	mov    0x23d0(%esi),%ebx
8f8447:	33 c0                	xor    %eax,%eax
8f8449:	39 45 34             	cmp    %eax,0x34(%ebp)
8f844c:	8d 75 0c             	lea    0xc(%ebp),%esi
8f844f:	68 ff 00 00 00       	push   $0xff
8f8454:	0f 94 c0             	sete   %al
8f8457:	8b 4b 10             	mov    0x10(%ebx),%ecx
8f845a:	50                   	push   %eax
8f845b:	83 ec 10             	sub    $0x10,%esp
8f845e:	8d 45 8c             	lea    -0x74(%ebp),%eax
8f8461:	8b fc                	mov    %esp,%edi
8f8463:	50                   	push   %eax
8f8464:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f8465:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f8466:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f8467:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f8468:	e8 f8 41 b3 ff       	call   0x42c665
8f846d:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
8f8470:	8d 89 d0 23 00 00    	lea    0x23d0(%ecx),%ecx
8f8476:	ff 53 10             	call   *0x10(%ebx)
8f8479:	8b 5d 0c             	mov    0xc(%ebp),%ebx
8f847c:	8d 75 0c             	lea    0xc(%ebp),%esi
8f847f:	03 9d 6c ff ff ff    	add    -0x94(%ebp),%ebx
8f8485:	8d 7d 9c             	lea    -0x64(%ebp),%edi
8f8488:	8b 45 88             	mov    -0x78(%ebp),%eax
8f848b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f848c:	f7 d8                	neg    %eax
8f848e:	1b c0                	sbb    %eax,%eax
8f8490:	23 85 70 ff ff ff    	and    -0x90(%ebp),%eax
8f8496:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f8497:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f8498:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f8499:	8b 75 a0             	mov    -0x60(%ebp),%esi
8f849c:	8b 55 a4             	mov    -0x5c(%ebp),%edx
8f849f:	03 f0                	add    %eax,%esi
8f84a1:	2b 95 6c ff ff ff    	sub    -0x94(%ebp),%edx
8f84a7:	83 7d ac 00          	cmpl   $0x0,-0x54(%ebp)
8f84ab:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
8f84ae:	89 75 a0             	mov    %esi,-0x60(%ebp)
8f84b1:	89 55 a4             	mov    %edx,-0x5c(%ebp)
8f84b4:	74 76                	je     0x8f852c
8f84b6:	6a 32                	push   $0x32
8f84b8:	ff 15 9c 40 d8 00    	call   *0xd8409c
8f84be:	6a 31                	push   $0x31
8f84c0:	89 45 bc             	mov    %eax,-0x44(%ebp)
8f84c3:	ff 15 9c 40 d8 00    	call   *0xd8409c
8f84c9:	8b 4d a8             	mov    -0x58(%ebp),%ecx
8f84cc:	8b d0                	mov    %eax,%edx
8f84ce:	8b 45 b0             	mov    -0x50(%ebp),%eax
8f84d1:	2b ce                	sub    %esi,%ecx
8f84d3:	03 c3                	add    %ebx,%eax
8f84d5:	89 55 b8             	mov    %edx,-0x48(%ebp)
8f84d8:	2b c3                	sub    %ebx,%eax
8f84da:	03 ce                	add    %esi,%ecx
8f84dc:	89 45 ec             	mov    %eax,-0x14(%ebp)
8f84df:	2b c2                	sub    %edx,%eax
8f84e1:	99                   	cltd
8f84e2:	2b c2                	sub    %edx,%eax
8f84e4:	d1 f8                	sar    $1,%eax
8f84e6:	79 06                	jns    0x8f84ee
8f84e8:	33 ff                	xor    %edi,%edi
8f84ea:	8b c7                	mov    %edi,%eax
8f84ec:	eb 02                	jmp    0x8f84f0
8f84ee:	33 ff                	xor    %edi,%edi
8f84f0:	2b 4d bc             	sub    -0x44(%ebp),%ecx
8f84f3:	03 c3                	add    %ebx,%eax
8f84f5:	89 45 b0             	mov    %eax,-0x50(%ebp)
8f84f8:	2b ce                	sub    %esi,%ecx
8f84fa:	8b c1                	mov    %ecx,%eax
8f84fc:	99                   	cltd
8f84fd:	2b c2                	sub    %edx,%eax
8f84ff:	d1 f8                	sar    $1,%eax
8f8501:	79 02                	jns    0x8f8505
8f8503:	8b c7                	mov    %edi,%eax
8f8505:	6a 03                	push   $0x3
8f8507:	57                   	push   %edi
8f8508:	57                   	push   %edi
8f8509:	ff 75 bc             	push   -0x44(%ebp)
8f850c:	03 c6                	add    %esi,%eax
8f850e:	ff 75 b8             	push   -0x48(%ebp)
8f8511:	ff 75 ac             	push   -0x54(%ebp)
8f8514:	50                   	push   %eax
8f8515:	ff 75 b0             	push   -0x50(%ebp)
8f8518:	ff 75 90             	push   -0x70(%ebp)
8f851b:	ff 15 34 3e d8 00    	call   *0xd83e34
8f8521:	03 5d ec             	add    -0x14(%ebp),%ebx
8f8524:	8b 55 a4             	mov    -0x5c(%ebp),%edx
8f8527:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
8f852a:	eb 02                	jmp    0x8f852e
8f852c:	33 ff                	xor    %edi,%edi
8f852e:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
8f8531:	89 55 bc             	mov    %edx,-0x44(%ebp)
8f8534:	8b 41 04             	mov    0x4(%ecx),%eax
8f8537:	89 45 b0             	mov    %eax,-0x50(%ebp)
8f853a:	85 c0                	test   %eax,%eax
8f853c:	0f 84 10 01 00 00    	je     0x8f8652
8f8542:	8d 45 b0             	lea    -0x50(%ebp),%eax
8f8545:	50                   	push   %eax
8f8546:	e8 e1 25 b2 ff       	call   0x41ab2c
8f854b:	8b f0                	mov    %eax,%esi
8f854d:	89 7d b8             	mov    %edi,-0x48(%ebp)
8f8550:	89 75 ac             	mov    %esi,-0x54(%ebp)
8f8553:	39 7e 04             	cmp    %edi,0x4(%esi)
8f8556:	74 0e                	je     0x8f8566
8f8558:	39 7e 08             	cmp    %edi,0x8(%esi)
8f855b:	74 15                	je     0x8f8572
8f855d:	c7 45 b8 01 00 00 00 	movl   $0x1,-0x48(%ebp)
8f8564:	eb 0c                	jmp    0x8f8572
8f8566:	39 7e 08             	cmp    %edi,0x8(%esi)
8f8569:	74 07                	je     0x8f8572
8f856b:	c7 45 b8 02 00 00 00 	movl   $0x2,-0x48(%ebp)
8f8572:	8b ce                	mov    %esi,%ecx
8f8574:	8b df                	mov    %edi,%ebx
8f8576:	e8 44 b4 b3 ff       	call   0x4339bf
8f857b:	83 e8 13             	sub    $0x13,%eax
8f857e:	74 39                	je     0x8f85b9
8f8580:	83 e8 07             	sub    $0x7,%eax
8f8583:	74 19                	je     0x8f859e
8f8585:	83 e8 01             	sub    $0x1,%eax
8f8588:	75 34                	jne    0x8f85be
8f858a:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
8f858d:	c1 eb 15             	shr    $0x15,%ebx
8f8590:	81 e3 00 01 00 00    	and    $0x100,%ebx
8f8596:	81 cb 20 f0 00 00    	or     $0xf020,%ebx
8f859c:	eb 20                	jmp    0x8f85be
8f859e:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
8f85a1:	81 e3 00 00 00 01    	and    $0x1000000,%ebx
8f85a7:	f7 db                	neg    %ebx
8f85a9:	1b db                	sbb    %ebx,%ebx
8f85ab:	81 e3 f0 00 00 00    	and    $0xf0,%ebx
8f85b1:	81 c3 30 f0 00 00    	add    $0xf030,%ebx
8f85b7:	eb 05                	jmp    0x8f85be
8f85b9:	bb 60 f0 00 00       	mov    $0xf060,%ebx
8f85be:	8b 06                	mov    (%esi),%eax
8f85c0:	8d 4d e0             	lea    -0x20(%ebp),%ecx
8f85c3:	51                   	push   %ecx
8f85c4:	8b 70 0c             	mov    0xc(%eax),%esi
8f85c7:	8b ce                	mov    %esi,%ecx
8f85c9:	e8 97 40 b3 ff       	call   0x42c665
8f85ce:	8b 4d ac             	mov    -0x54(%ebp),%ecx
8f85d1:	ff d6                	call   *%esi
8f85d3:	83 7d 88 00          	cmpl   $0x0,-0x78(%ebp)
8f85d7:	74 16                	je     0x8f85ef
8f85d9:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
8f85df:	8d 45 e0             	lea    -0x20(%ebp),%eax
8f85e2:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
8f85e8:	50                   	push   %eax
8f85e9:	ff 15 4c 40 d8 00    	call   *0xd8404c
8f85ef:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
8f85f2:	8d 45 e0             	lea    -0x20(%ebp),%eax
8f85f5:	57                   	push   %edi
8f85f6:	ff 75 34             	push   0x34(%ebp)
8f85f9:	57                   	push   %edi
8f85fa:	ff 75 b8             	push   -0x48(%ebp)
8f85fd:	53                   	push   %ebx
8f85fe:	50                   	push   %eax
8f85ff:	8d 45 8c             	lea    -0x74(%ebp),%eax
8f8602:	50                   	push   %eax
8f8603:	e8 ba 9d b2 ff       	call   0x4223c2
8f8608:	8b 5d ac             	mov    -0x54(%ebp),%ebx
8f860b:	8d 4d d0             	lea    -0x30(%ebp),%ecx
8f860e:	51                   	push   %ecx
8f860f:	8b 03                	mov    (%ebx),%eax
8f8611:	8b 70 0c             	mov    0xc(%eax),%esi
8f8614:	8b ce                	mov    %esi,%ecx
8f8616:	e8 4a 40 b3 ff       	call   0x42c665
8f861b:	8b cb                	mov    %ebx,%ecx
8f861d:	ff d6                	call   *%esi
8f861f:	8b 4d bc             	mov    -0x44(%ebp),%ecx
8f8622:	3b 08                	cmp    (%eax),%ecx
8f8624:	7c 19                	jl     0x8f863f
8f8626:	8b 03                	mov    (%ebx),%eax
8f8628:	8d 4d c0             	lea    -0x40(%ebp),%ecx
8f862b:	51                   	push   %ecx
8f862c:	8b 70 0c             	mov    0xc(%eax),%esi
8f862f:	8b ce                	mov    %esi,%ecx
8f8631:	e8 2f 40 b3 ff       	call   0x42c665
8f8636:	8b cb                	mov    %ebx,%ecx
8f8638:	ff d6                	call   *%esi
8f863a:	8b 00                	mov    (%eax),%eax
8f863c:	89 45 bc             	mov    %eax,-0x44(%ebp)
8f863f:	83 7d b0 00          	cmpl   $0x0,-0x50(%ebp)
8f8643:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
8f8646:	0f 85 f6 fe ff ff    	jne    0x8f8542
8f864c:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
8f864f:	8b 55 a4             	mov    -0x5c(%ebp),%edx
8f8652:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
8f8658:	8b 00                	mov    (%eax),%eax
8f865a:	39 78 f4             	cmp    %edi,-0xc(%eax)
8f865d:	75 0a                	jne    0x8f8669
8f865f:	8b 45 80             	mov    -0x80(%ebp),%eax
8f8662:	8b 00                	mov    (%eax),%eax
8f8664:	39 78 f4             	cmp    %edi,-0xc(%eax)
8f8667:	74 5c                	je     0x8f86c5
8f8669:	3b da                	cmp    %edx,%ebx
8f866b:	7d 58                	jge    0x8f86c5
8f866d:	8b 45 b4             	mov    -0x4c(%ebp),%eax
8f8670:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
8f8673:	05 38 8f 00 00       	add    $0x8f38,%eax
8f8678:	50                   	push   %eax
8f8679:	e8 61 26 b2 ff       	call   0x41acdf
8f867e:	8d 75 9c             	lea    -0x64(%ebp),%esi
8f8681:	8b 4d bc             	mov    -0x44(%ebp),%ecx
8f8684:	8d 7d e0             	lea    -0x20(%ebp),%edi
8f8687:	8b d8                	mov    %eax,%ebx
8f8689:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f868a:	8d 45 e0             	lea    -0x20(%ebp),%eax
8f868d:	6a ff                	push   $0xffffffff
8f868f:	49                   	dec    %ecx
8f8690:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f8691:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f8692:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8f8693:	33 ff                	xor    %edi,%edi
8f8695:	89 4d e8             	mov    %ecx,-0x18(%ebp)
8f8698:	57                   	push   %edi
8f8699:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
8f869c:	57                   	push   %edi
8f869d:	ff 75 38             	push   0x38(%ebp)
8f86a0:	ff 75 20             	push   0x20(%ebp)
8f86a3:	ff 75 34             	push   0x34(%ebp)
8f86a6:	ff 75 30             	push   0x30(%ebp)
8f86a9:	ff 75 80             	push   -0x80(%ebp)
8f86ac:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
8f86b2:	50                   	push   %eax