5ab243:	4a                   	dec    %edx
5ab244:	8a 08                	mov    (%eax),%cl
5ab246:	8d 58 01             	lea    0x1(%eax),%ebx
5ab249:	89 1f                	mov    %ebx,(%edi)
5ab24b:	89 57 04             	mov    %edx,0x4(%edi)
5ab24e:	80 f9 01             	cmp    $0x1,%cl
5ab251:	0f 85 e0 00 00 00    	jne    0x5ab337
5ab257:	56                   	push   %esi
5ab258:	83 fa 03             	cmp    $0x3,%edx
5ab25b:	0f 82 ae 00 00 00    	jb     0x5ab30f
5ab261:	0f b6 33             	movzbl (%ebx),%esi
5ab264:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
5ab268:	c1 e6 08             	shl    $0x8,%esi
5ab26b:	0b f0                	or     %eax,%esi
5ab26d:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
5ab271:	c1 e6 08             	shl    $0x8,%esi
5ab274:	0b f0                	or     %eax,%esi
5ab276:	8d 43 03             	lea    0x3(%ebx),%eax
5ab279:	89 07                	mov    %eax,(%edi)
5ab27b:	8d 42 fd             	lea    -0x3(%edx),%eax
5ab27e:	89 47 04             	mov    %eax,0x4(%edi)
5ab281:	3b c6                	cmp    %esi,%eax
5ab283:	0f 85 86 00 00 00    	jne    0x5ab30f
5ab289:	68 d5 0a 00 00       	push   $0xad5
5ab28e:	68 18 81 66 00       	push   $0x668118
5ab293:	56                   	push   %esi
5ab294:	e8 b7 54 f3 ff       	call   0x4e0750
5ab299:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
5ab29d:	83 c4 0c             	add    $0xc,%esp
5ab2a0:	89 83 54 05 00 00    	mov    %eax,0x554(%ebx)
5ab2a6:	85 c0                	test   %eax,%eax
5ab2a8:	75 22                	jne    0x5ab2cc
5ab2aa:	68 d8 0a 00 00       	push   $0xad8
5ab2af:	68 18 81 66 00       	push   $0x668118
5ab2b4:	6a 41                	push   $0x41
5ab2b6:	68 ef 01 00 00       	push   $0x1ef
5ab2bb:	6a 50                	push   $0x50
5ab2bd:	53                   	push   %ebx
5ab2be:	e8 4d 3e fe ff       	call   0x58f110
5ab2c3:	83 c4 18             	add    $0x18,%esp
5ab2c6:	33 c0                	xor    %eax,%eax
5ab2c8:	5e                   	pop    %esi
5ab2c9:	5f                   	pop    %edi
5ab2ca:	5b                   	pop    %ebx
5ab2cb:	c3                   	ret
5ab2cc:	56                   	push   %esi
5ab2cd:	50                   	push   %eax
5ab2ce:	57                   	push   %edi
5ab2cf:	e8 8c 01 ff ff       	call   0x59b460
5ab2d4:	83 c4 0c             	add    $0xc,%esp
5ab2d7:	85 c0                	test   %eax,%eax
5ab2d9:	75 25                	jne    0x5ab300
5ab2db:	68 dd 0a 00 00       	push   $0xadd
5ab2e0:	68 18 81 66 00       	push   $0x668118
5ab2e5:	68 9f 00 00 00       	push   $0x9f
5ab2ea:	68 ef 01 00 00       	push   $0x1ef
5ab2ef:	6a 32                	push   $0x32
5ab2f1:	53                   	push   %ebx
5ab2f2:	e8 19 3e fe ff       	call   0x58f110
5ab2f7:	83 c4 18             	add    $0x18,%esp
5ab2fa:	33 c0                	xor    %eax,%eax
5ab2fc:	5e                   	pop    %esi
5ab2fd:	5f                   	pop    %edi
5ab2fe:	5b                   	pop    %ebx
5ab2ff:	c3                   	ret
5ab300:	89 b3 58 05 00 00    	mov    %esi,0x558(%ebx)
5ab306:	b8 01 00 00 00       	mov    $0x1,%eax
5ab30b:	5e                   	pop    %esi
5ab30c:	5f                   	pop    %edi
5ab30d:	5b                   	pop    %ebx
5ab30e:	c3                   	ret
5ab30f:	68 d2 0a 00 00       	push   $0xad2
5ab314:	68 18 81 66 00       	push   $0x668118
5ab319:	68 9f 00 00 00       	push   $0x9f
5ab31e:	68 ef 01 00 00       	push   $0x1ef
5ab323:	6a 32                	push   $0x32
5ab325:	ff 74 24 24          	push   0x24(%esp)
5ab329:	e8 e2 3d fe ff       	call   0x58f110
5ab32e:	83 c4 18             	add    $0x18,%esp
5ab331:	33 c0                	xor    %eax,%eax
5ab333:	5e                   	pop    %esi
5ab334:	5f                   	pop    %edi
5ab335:	5b                   	pop    %ebx
5ab336:	c3                   	ret
5ab337:	68 cc 0a 00 00       	push   $0xacc
5ab33c:	68 18 81 66 00       	push   $0x668118
5ab341:	68 49 01 00 00       	push   $0x149
5ab346:	68 ef 01 00 00       	push   $0x1ef
5ab34b:	6a 32                	push   $0x32
5ab34d:	ff 74 24 20          	push   0x20(%esp)
5ab351:	e8 ba 3d fe ff       	call   0x58f110
5ab356:	83 c4 18             	add    $0x18,%esp
5ab359:	33 c0                	xor    %eax,%eax
5ab35b:	5f                   	pop    %edi
5ab35c:	5b                   	pop    %ebx
5ab35d:	c3                   	ret
5ab35e:	cc                   	int3
5ab35f:	cc                   	int3
5ab360:	b8 10 00 00 00       	mov    $0x10,%eax
5ab365:	e8 46 64 02 00       	call   0x5d17b0
5ab36a:	53                   	push   %ebx
5ab36b:	55                   	push   %ebp
5ab36c:	56                   	push   %esi
5ab36d:	8b 74 24 20          	mov    0x20(%esp),%esi
5ab371:	57                   	push   %edi
5ab372:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab375:	c7 80 7c 02 00 00 00 	movl   $0x0,0x27c(%eax)
5ab37c:	00 00 00
5ab37f:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab382:	c7 80 80 02 00 00 00 	movl   $0x0,0x280(%eax)
5ab389:	00 00 00
5ab38c:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab38f:	c7 80 84 02 00 00 00 	movl   $0x0,0x284(%eax)
5ab396:	00 00 00
5ab399:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab39c:	c7 80 88 02 00 00 00 	movl   $0x0,0x288(%eax)
5ab3a3:	00 00 00
5ab3a6:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab3a9:	c7 80 8c 02 00 00 00 	movl   $0x0,0x28c(%eax)
5ab3b0:	00 00 00
5ab3b3:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab3b6:	c7 80 90 02 00 00 00 	movl   $0x0,0x290(%eax)
5ab3bd:	00 00 00
5ab3c0:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab3c3:	c7 80 94 02 00 00 00 	movl   $0x0,0x294(%eax)
5ab3ca:	00 00 00
5ab3cd:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab3d0:	c7 80 98 02 00 00 00 	movl   $0x0,0x298(%eax)
5ab3d7:	00 00 00
5ab3da:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab3dd:	c7 80 9c 02 00 00 00 	movl   $0x0,0x29c(%eax)
5ab3e4:	00 00 00
5ab3e7:	8b 4e 04             	mov    0x4(%esi),%ecx
5ab3ea:	8b 41 64             	mov    0x64(%ecx),%eax
5ab3ed:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5ab3f1:	0f 85 b1 01 00 00    	jne    0x5ab5a8
5ab3f7:	8b 01                	mov    (%ecx),%eax
5ab3f9:	3d 04 03 00 00       	cmp    $0x304,%eax
5ab3fe:	0f 8c a4 01 00 00    	jl     0x5ab5a8
5ab404:	3d 00 00 01 00       	cmp    $0x10000,%eax
5ab409:	0f 84 99 01 00 00    	je     0x5ab5a8
5ab40f:	f6 46 28 01          	testb  $0x1,0x28(%esi)
5ab413:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
5ab41a:	00
5ab41b:	74 0d                	je     0x5ab42a
5ab41d:	5f                   	pop    %edi
5ab41e:	5e                   	pop    %esi
5ab41f:	5d                   	pop    %ebp
5ab420:	b8 01 00 00 00       	mov    $0x1,%eax
5ab425:	5b                   	pop    %ebx
5ab426:	83 c4 10             	add    $0x10,%esp
5ab429:	c3                   	ret
5ab42a:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab42d:	68 9d 09 00 00       	push   $0x99d
5ab432:	68 18 81 66 00       	push   $0x668118
5ab437:	ff b0 1c 02 00 00    	push   0x21c(%eax)
5ab43d:	e8 3e 53 f3 ff       	call   0x4e0780
5ab442:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab445:	8d 9e fc 05 00 00    	lea    0x5fc(%esi),%ebx
5ab44b:	68 a0 09 00 00       	push   $0x9a0
5ab450:	68 18 81 66 00       	push   $0x668118
5ab455:	c7 80 1c 02 00 00 00 	movl   $0x0,0x21c(%eax)
5ab45c:	00 00 00
5ab45f:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab462:	c7 80 20 02 00 00 00 	movl   $0x0,0x220(%eax)
5ab469:	00 00 00
5ab46c:	ff 33                	push   (%ebx)
5ab46e:	e8 0d 53 f3 ff       	call   0x4e0780
5ab473:	8b 7c 24 40          	mov    0x40(%esp),%edi
5ab477:	83 c4 18             	add    $0x18,%esp
5ab47a:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
5ab480:	8b 4f 04             	mov    0x4(%edi),%ecx
5ab483:	8b 07                	mov    (%edi),%eax
5ab485:	85 c9                	test   %ecx,%ecx
5ab487:	0f 84 11 01 00 00    	je     0x5ab59e
5ab48d:	0f b6 10             	movzbl (%eax),%edx
5ab490:	8d 68 01             	lea    0x1(%eax),%ebp
5ab493:	49                   	dec    %ecx
5ab494:	89 4c 24 14          	mov    %ecx,0x14(%esp)
5ab498:	3b ca                	cmp    %edx,%ecx
5ab49a:	0f 82 fe 00 00 00    	jb     0x5ab59e
5ab4a0:	8d 04 2a             	lea    (%edx,%ebp,1),%eax
5ab4a3:	89 6c 24 10          	mov    %ebp,0x10(%esp)
5ab4a7:	89 07                	mov    %eax,(%edi)
5ab4a9:	2b ca                	sub    %edx,%ecx
5ab4ab:	8d 86 00 06 00 00    	lea    0x600(%esi),%eax
5ab4b1:	89 4f 04             	mov    %ecx,0x4(%edi)
5ab4b4:	50                   	push   %eax
5ab4b5:	8d 44 24 14          	lea    0x14(%esp),%eax
5ab4b9:	89 54 24 18          	mov    %edx,0x18(%esp)
5ab4bd:	53                   	push   %ebx
5ab4be:	50                   	push   %eax
5ab4bf:	e8 cc d3 ff ff       	call   0x5a8890
5ab4c4:	83 c4 0c             	add    $0xc,%esp
5ab4c7:	85 c0                	test   %eax,%eax
5ab4c9:	0f 84 cf 00 00 00    	je     0x5ab59e
5ab4cf:	8d 44 24 18          	lea    0x18(%esp),%eax
5ab4d3:	50                   	push   %eax
5ab4d4:	57                   	push   %edi
5ab4d5:	e8 36 00 ff ff       	call   0x59b510
5ab4da:	83 c4 08             	add    $0x8,%esp
5ab4dd:	85 c0                	test   %eax,%eax
5ab4df:	75 14                	jne    0x5ab4f5
5ab4e1:	68 ae 09 00 00       	push   $0x9ae
5ab4e6:	68 18 81 66 00       	push   $0x668118
5ab4eb:	68 0f 01 00 00       	push   $0x10f
5ab4f0:	e9 64 02 00 00       	jmp    0x5ab759
5ab4f5:	6a 01                	push   $0x1
5ab4f7:	6a 00                	push   $0x0
5ab4f9:	8d 44 24 2c          	lea    0x2c(%esp),%eax
5ab4fd:	50                   	push   %eax
5ab4fe:	68 00 40 00 00       	push   $0x4000
5ab503:	8d 44 24 28          	lea    0x28(%esp),%eax
5ab507:	50                   	push   %eax
5ab508:	56                   	push   %esi
5ab509:	e8 f2 9f ff ff       	call   0x5a5500
5ab50e:	83 c4 18             	add    $0x18,%esp
5ab511:	85 c0                	test   %eax,%eax
5ab513:	74 69                	je     0x5ab57e
5ab515:	6a 01                	push   $0x1
5ab517:	6a 00                	push   $0x0
5ab519:	6a 00                	push   $0x0
5ab51b:	ff 74 24 30          	push   0x30(%esp)
5ab51f:	68 00 40 00 00       	push   $0x4000
5ab524:	56                   	push   %esi
5ab525:	e8 56 a5 ff ff       	call   0x5a5a80
5ab52a:	83 c4 18             	add    $0x18,%esp
5ab52d:	85 c0                	test   %eax,%eax
5ab52f:	74 4d                	je     0x5ab57e
5ab531:	68 ba 09 00 00       	push   $0x9ba
5ab536:	68 18 81 66 00       	push   $0x668118
5ab53b:	ff 74 24 2c          	push   0x2c(%esp)
5ab53f:	e8 3c 52 f3 ff       	call   0x4e0780
5ab544:	56                   	push   %esi
5ab545:	e8 66 e7 fe ff       	call   0x599cb0
5ab54a:	83 c4 10             	add    $0x10,%esp
5ab54d:	85 c0                	test   %eax,%eax
5ab54f:	0f 85 9c 01 00 00    	jne    0x5ab6f1
5ab555:	68 be 09 00 00       	push   $0x9be
5ab55a:	68 18 81 66 00       	push   $0x668118
5ab55f:	68 0f 01 00 00       	push   $0x10f
5ab564:	68 69 01 00 00       	push   $0x169
5ab569:	6a 50                	push   $0x50
5ab56b:	56                   	push   %esi
5ab56c:	e8 9f 3b fe ff       	call   0x58f110
5ab571:	83 c4 18             	add    $0x18,%esp
5ab574:	33 c0                	xor    %eax,%eax
5ab576:	5f                   	pop    %edi
5ab577:	5e                   	pop    %esi
5ab578:	5d                   	pop    %ebp
5ab579:	5b                   	pop    %ebx
5ab57a:	83 c4 10             	add    $0x10,%esp
5ab57d:	c3                   	ret
5ab57e:	68 b7 09 00 00       	push   $0x9b7
5ab583:	68 18 81 66 00       	push   $0x668118
5ab588:	ff 74 24 2c          	push   0x2c(%esp)
5ab58c:	e8 ef 51 f3 ff       	call   0x4e0780
5ab591:	83 c4 0c             	add    $0xc,%esp
5ab594:	33 c0                	xor    %eax,%eax
5ab596:	5f                   	pop    %edi
5ab597:	5e                   	pop    %esi
5ab598:	5d                   	pop    %ebp
5ab599:	5b                   	pop    %ebx
5ab59a:	83 c4 10             	add    $0x10,%esp
5ab59d:	c3                   	ret
5ab59e:	68 a7 09 00 00       	push   $0x9a7
5ab5a3:	e9 a7 01 00 00       	jmp    0x5ab74f
5ab5a8:	8b 7c 24 28          	mov    0x28(%esp),%edi
5ab5ac:	8b 4f 04             	mov    0x4(%edi),%ecx
5ab5af:	8b 07                	mov    (%edi),%eax
5ab5b1:	85 c9                	test   %ecx,%ecx
5ab5b3:	0f 84 91 01 00 00    	je     0x5ab74a
5ab5b9:	0f b6 10             	movzbl (%eax),%edx
5ab5bc:	8d 58 01             	lea    0x1(%eax),%ebx
5ab5bf:	49                   	dec    %ecx
5ab5c0:	3b ca                	cmp    %edx,%ecx
5ab5c2:	0f 82 82 01 00 00    	jb     0x5ab74a
5ab5c8:	8d 04 13             	lea    (%ebx,%edx,1),%eax
5ab5cb:	89 5c 24 10          	mov    %ebx,0x10(%esp)
5ab5cf:	2b ca                	sub    %edx,%ecx
5ab5d1:	89 07                	mov    %eax,(%edi)
5ab5d3:	89 4f 04             	mov    %ecx,0x4(%edi)
5ab5d6:	8b 4e 7c             	mov    0x7c(%esi),%ecx
5ab5d9:	89 54 24 14          	mov    %edx,0x14(%esp)
5ab5dd:	8d 81 20 02 00 00    	lea    0x220(%ecx),%eax
5ab5e3:	50                   	push   %eax
5ab5e4:	8d 81 1c 02 00 00    	lea    0x21c(%ecx),%eax
5ab5ea:	50                   	push   %eax
5ab5eb:	8d 44 24 18          	lea    0x18(%esp),%eax
5ab5ef:	50                   	push   %eax
5ab5f0:	e8 9b d2 ff ff       	call   0x5a8890
5ab5f5:	83 c4 0c             	add    $0xc,%esp
5ab5f8:	85 c0                	test   %eax,%eax
5ab5fa:	75 26                	jne    0x5ab622
5ab5fc:	68 cf 09 00 00       	push   $0x9cf
5ab601:	68 18 81 66 00       	push   $0x668118
5ab606:	6a 44                	push   $0x44
5ab608:	68 69 01 00 00       	push   $0x169
5ab60d:	6a 50                	push   $0x50
5ab60f:	56                   	push   %esi
5ab610:	e8 fb 3a fe ff       	call   0x58f110
5ab615:	83 c4 18             	add    $0x18,%esp
5ab618:	33 c0                	xor    %eax,%eax
5ab61a:	5f                   	pop    %edi
5ab61b:	5e                   	pop    %esi
5ab61c:	5d                   	pop    %ebp
5ab61d:	5b                   	pop    %ebx
5ab61e:	83 c4 10             	add    $0x10,%esp
5ab621:	c3                   	ret
5ab622:	8b 46 04             	mov    0x4(%esi),%eax
5ab625:	8b 40 64             	mov    0x64(%eax),%eax
5ab628:	f6 40 30 02          	testb  $0x2,0x30(%eax)
5ab62c:	0f 84 b1 00 00 00    	je     0x5ab6e3
5ab632:	8b 5f 04             	mov    0x4(%edi),%ebx
5ab635:	8b 17                	mov    (%edi),%edx
5ab637:	83 fb 02             	cmp    $0x2,%ebx
5ab63a:	0f 82 9c 00 00 00    	jb     0x5ab6dc
5ab640:	0f b6 0a             	movzbl (%edx),%ecx
5ab643:	8d 6a 02             	lea    0x2(%edx),%ebp
5ab646:	0f b6 42 01          	movzbl 0x1(%edx),%eax
5ab64a:	8d 53 fe             	lea    -0x2(%ebx),%edx
5ab64d:	c1 e1 08             	shl    $0x8,%ecx
5ab650:	0b c8                	or     %eax,%ecx
5ab652:	3b d1                	cmp    %ecx,%edx
5ab654:	0f 82 82 00 00 00    	jb     0x5ab6dc
5ab65a:	8d 04 29             	lea    (%ecx,%ebp,1),%eax
5ab65d:	89 6c 24 10          	mov    %ebp,0x10(%esp)
5ab661:	89 07                	mov    %eax,(%edi)
5ab663:	2b d1                	sub    %ecx,%edx
5ab665:	6a 00                	push   $0x0
5ab667:	8d 44 24 14          	lea    0x14(%esp),%eax
5ab66b:	89 57 04             	mov    %edx,0x4(%edi)
5ab66e:	50                   	push   %eax
5ab66f:	56                   	push   %esi
5ab670:	89 4c 24 20          	mov    %ecx,0x20(%esp)
5ab674:	e8 57 e8 fe ff       	call   0x599ed0
5ab679:	83 c4 0c             	add    $0xc,%esp
5ab67c:	85 c0                	test   %eax,%eax
5ab67e:	75 29                	jne    0x5ab6a9
5ab680:	68 e4 09 00 00       	push   $0x9e4
5ab685:	68 18 81 66 00       	push   $0x668118
5ab68a:	68 68 01 00 00       	push   $0x168
5ab68f:	68 69 01 00 00       	push   $0x169
5ab694:	6a 50                	push   $0x50
5ab696:	56                   	push   %esi
5ab697:	e8 74 3a fe ff       	call   0x58f110
5ab69c:	83 c4 18             	add    $0x18,%esp
5ab69f:	33 c0                	xor    %eax,%eax
5ab6a1:	5f                   	pop    %edi
5ab6a2:	5e                   	pop    %esi