4992de:	83 f8 ff             	cmp    $0xffffffff,%eax
4992e1:	74 05                	je     0x4992e8
4992e3:	88 46 05             	mov    %al,0x5(%esi)
4992e6:	eb 09                	jmp    0x4992f1
4992e8:	8a 46 05             	mov    0x5(%esi),%al
4992eb:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4992f1:	c6 46 04 01          	movb   $0x1,0x4(%esi)
4992f5:	3a 45 ec             	cmp    -0x14(%ebp),%al
4992f8:	0f 85 5e ff ff ff    	jne    0x49925c
4992fe:	85 ff                	test   %edi,%edi
499300:	74 09                	je     0x49930b
499302:	83 ff 10             	cmp    $0x10,%edi
499305:	0f 85 51 ff ff ff    	jne    0x49925c
49930b:	8b 0e                	mov    (%esi),%ecx
49930d:	bf 10 00 00 00       	mov    $0x10,%edi
499312:	89 7d 84             	mov    %edi,-0x7c(%ebp)
499315:	c6 45 a3 00          	movb   $0x0,-0x5d(%ebp)
499319:	85 c9                	test   %ecx,%ecx
49931b:	74 37                	je     0x499354
49931d:	8b 41 1c             	mov    0x1c(%ecx),%eax
499320:	83 38 00             	cmpl   $0x0,(%eax)
499323:	74 1b                	je     0x499340
499325:	8b 51 2c             	mov    0x2c(%ecx),%edx
499328:	8b 02                	mov    (%edx),%eax
49932a:	85 c0                	test   %eax,%eax
49932c:	7e 12                	jle    0x499340
49932e:	48                   	dec    %eax
49932f:	89 02                	mov    %eax,(%edx)
499331:	8b 49 1c             	mov    0x1c(%ecx),%ecx
499334:	8b 11                	mov    (%ecx),%edx
499336:	8d 42 01             	lea    0x1(%edx),%eax
499339:	89 01                	mov    %eax,(%ecx)
49933b:	0f b6 02             	movzbl (%edx),%eax
49933e:	eb 05                	jmp    0x499345
499340:	8b 01                	mov    (%ecx),%eax
499342:	ff 50 1c             	call   *0x1c(%eax)
499345:	83 f8 ff             	cmp    $0xffffffff,%eax
499348:	74 0a                	je     0x499354
49934a:	32 c0                	xor    %al,%al
49934c:	88 46 04             	mov    %al,0x4(%esi)
49934f:	e9 e1 fd ff ff       	jmp    0x499135
499354:	b0 01                	mov    $0x1,%al
499356:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
49935c:	88 46 04             	mov    %al,0x4(%esi)
49935f:	e9 d1 fd ff ff       	jmp    0x499135
499364:	c7 85 7c ff ff ff 0a 	movl   $0xa,-0x84(%ebp)
49936b:	00 00 00
49936e:	0f b6 4d a3          	movzbl -0x5d(%ebp),%ecx
499372:	bb 0f 00 00 00       	mov    $0xf,%ebx
499377:	8b c1                	mov    %ecx,%eax
499379:	66 c7 45 bc 00 00    	movw   $0x0,-0x44(%ebp)
49937f:	66 c1 e1 08          	shl    $0x8,%cx
499383:	66 0b c8             	or     %ax,%cx
499386:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
499389:	89 5d d0             	mov    %ebx,-0x30(%ebp)
49938c:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
499393:	88 4d bc             	mov    %cl,-0x44(%ebp)
499396:	8b 7d bc             	mov    -0x44(%ebp),%edi
499399:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
49939d:	c7 45 94 00 00 00 00 	movl   $0x0,-0x6c(%ebp)
4993a4:	89 7d 90             	mov    %edi,-0x70(%ebp)
4993a7:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
4993ab:	75 35                	jne    0x4993e2
4993ad:	8b 0e                	mov    (%esi),%ecx
4993af:	85 c9                	test   %ecx,%ecx
4993b1:	74 25                	je     0x4993d8
4993b3:	8b 41 1c             	mov    0x1c(%ecx),%eax
4993b6:	8b 10                	mov    (%eax),%edx
4993b8:	85 d2                	test   %edx,%edx
4993ba:	74 0d                	je     0x4993c9
4993bc:	8b 41 2c             	mov    0x2c(%ecx),%eax
4993bf:	83 38 00             	cmpl   $0x0,(%eax)
4993c2:	7e 05                	jle    0x4993c9
4993c4:	0f b6 02             	movzbl (%edx),%eax
4993c7:	eb 05                	jmp    0x4993ce
4993c9:	8b 01                	mov    (%ecx),%eax
4993cb:	ff 50 18             	call   *0x18(%eax)
4993ce:	83 f8 ff             	cmp    $0xffffffff,%eax
4993d1:	74 05                	je     0x4993d8
4993d3:	88 46 05             	mov    %al,0x5(%esi)
4993d6:	eb 06                	jmp    0x4993de
4993d8:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4993de:	c6 46 04 01          	movb   $0x1,0x4(%esi)
4993e2:	8b 45 88             	mov    -0x78(%ebp),%eax
4993e5:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
4993e9:	75 3d                	jne    0x499428
4993eb:	8b 08                	mov    (%eax),%ecx
4993ed:	85 c9                	test   %ecx,%ecx
4993ef:	74 2d                	je     0x49941e
4993f1:	8b 41 1c             	mov    0x1c(%ecx),%eax
4993f4:	8b 10                	mov    (%eax),%edx
4993f6:	85 d2                	test   %edx,%edx
4993f8:	74 0d                	je     0x499407
4993fa:	8b 41 2c             	mov    0x2c(%ecx),%eax
4993fd:	83 38 00             	cmpl   $0x0,(%eax)
499400:	7e 05                	jle    0x499407
499402:	0f b6 02             	movzbl (%edx),%eax
499405:	eb 05                	jmp    0x49940c
499407:	8b 01                	mov    (%ecx),%eax
499409:	ff 50 18             	call   *0x18(%eax)
49940c:	83 f8 ff             	cmp    $0xffffffff,%eax
49940f:	74 0a                	je     0x49941b
499411:	8b 4d 88             	mov    -0x78(%ebp),%ecx
499414:	88 41 05             	mov    %al,0x5(%ecx)
499417:	8b c1                	mov    %ecx,%eax
499419:	eb 09                	jmp    0x499424
49941b:	8b 45 88             	mov    -0x78(%ebp),%eax
49941e:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
499424:	c6 40 04 01          	movb   $0x1,0x4(%eax)
499428:	8b 0e                	mov    (%esi),%ecx
49942a:	8b 00                	mov    (%eax),%eax
49942c:	85 c9                	test   %ecx,%ecx
49942e:	75 0a                	jne    0x49943a
499430:	85 c0                	test   %eax,%eax
499432:	0f 84 c6 02 00 00    	je     0x4996fe
499438:	eb 08                	jmp    0x499442
49943a:	85 c0                	test   %eax,%eax
49943c:	0f 85 bc 02 00 00    	jne    0x4996fe
499442:	8a 46 04             	mov    0x4(%esi),%al
499445:	88 45 9b             	mov    %al,-0x65(%ebp)
499448:	84 c0                	test   %al,%al
49944a:	75 37                	jne    0x499483
49944c:	85 c9                	test   %ecx,%ecx
49944e:	74 25                	je     0x499475
499450:	8b 41 1c             	mov    0x1c(%ecx),%eax
499453:	8b 10                	mov    (%eax),%edx
499455:	85 d2                	test   %edx,%edx
499457:	74 0d                	je     0x499466
499459:	8b 41 2c             	mov    0x2c(%ecx),%eax
49945c:	83 38 00             	cmpl   $0x0,(%eax)
49945f:	7e 05                	jle    0x499466
499461:	0f b6 02             	movzbl (%edx),%eax
499464:	eb 05                	jmp    0x49946b
499466:	8b 01                	mov    (%ecx),%eax
499468:	ff 50 18             	call   *0x18(%eax)
49946b:	83 f8 ff             	cmp    $0xffffffff,%eax
49946e:	74 05                	je     0x499475
499470:	88 46 05             	mov    %al,0x5(%esi)
499473:	eb 06                	jmp    0x49947b
499475:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
49947b:	c6 46 04 01          	movb   $0x1,0x4(%esi)
49947f:	c6 45 9b 01          	movb   $0x1,-0x65(%ebp)
499483:	8a 5e 05             	mov    0x5(%esi),%bl
499486:	6a 1a                	push   $0x1a
499488:	0f b6 c3             	movzbl %bl,%eax
49948b:	50                   	push   %eax
49948c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
49948f:	50                   	push   %eax
499490:	e8 bb 99 14 00       	call   0x5e2e50
499495:	83 c4 0c             	add    $0xc,%esp
499498:	8d 4d ee             	lea    -0x12(%ebp),%ecx
49949b:	85 c0                	test   %eax,%eax
49949d:	0f 45 c8             	cmovne %eax,%ecx
4994a0:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4994a3:	2b c8                	sub    %eax,%ecx
4994a5:	3b 8d 7c ff ff ff    	cmp    -0x84(%ebp),%ecx
4994ab:	73 5e                	jae    0x49950b
4994ad:	80 7d a1 00          	cmpb   $0x0,-0x5f(%ebp)
4994b1:	8a 81 cc 4c 69 00    	mov    0x694ccc(%ecx),%al
4994b7:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
4994ba:	88 01                	mov    %al,(%ecx)
4994bc:	75 04                	jne    0x4994c2
4994be:	3c 30                	cmp    $0x30,%al
4994c0:	74 12                	je     0x4994d4
4994c2:	8b 45 80             	mov    -0x80(%ebp),%eax
4994c5:	83 c0 1f             	add    $0x1f,%eax
4994c8:	3b c8                	cmp    %eax,%ecx
4994ca:	73 08                	jae    0x4994d4
4994cc:	41                   	inc    %ecx
4994cd:	c6 45 a1 01          	movb   $0x1,-0x5f(%ebp)
4994d1:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
4994d4:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
4994d7:	8d 45 bc             	lea    -0x44(%ebp),%eax
4994da:	8b 55 94             	mov    -0x6c(%ebp),%edx
4994dd:	83 fb 10             	cmp    $0x10,%ebx
4994e0:	c6 45 a3 01          	movb   $0x1,-0x5d(%ebp)
4994e4:	0f 43 c7             	cmovae %edi,%eax
4994e7:	80 3c 10 7f          	cmpb   $0x7f,(%eax,%edx,1)
4994eb:	0f 84 bf 01 00 00    	je     0x4996b0
4994f1:	83 fb 10             	cmp    $0x10,%ebx
4994f4:	8d 45 bc             	lea    -0x44(%ebp),%eax
4994f7:	0f 43 c7             	cmovae %edi,%eax
4994fa:	fe 04 10             	incb   (%eax,%edx,1)
4994fd:	8b 5d d0             	mov    -0x30(%ebp),%ebx
499500:	8b 7d bc             	mov    -0x44(%ebp),%edi
499503:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
499506:	e9 a2 01 00 00       	jmp    0x4996ad
49950b:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
49950e:	8d 45 bc             	lea    -0x44(%ebp),%eax
499511:	8b 55 94             	mov    -0x6c(%ebp),%edx
499514:	83 f9 10             	cmp    $0x10,%ecx
499517:	0f 43 c7             	cmovae %edi,%eax
49951a:	80 3c 10 00          	cmpb   $0x0,(%eax,%edx,1)
49951e:	0f 84 d7 01 00 00    	je     0x4996fb
499524:	8a 45 a2             	mov    -0x5e(%ebp),%al
499527:	84 c0                	test   %al,%al
499529:	0f 84 cc 01 00 00    	je     0x4996fb
49952f:	80 7d 9b 00          	cmpb   $0x0,-0x65(%ebp)
499533:	75 42                	jne    0x499577
499535:	8b 16                	mov    (%esi),%edx
499537:	85 d2                	test   %edx,%edx
499539:	74 2f                	je     0x49956a
49953b:	8b 42 1c             	mov    0x1c(%edx),%eax
49953e:	8b 18                	mov    (%eax),%ebx
499540:	85 db                	test   %ebx,%ebx
499542:	74 0d                	je     0x499551
499544:	8b 42 2c             	mov    0x2c(%edx),%eax
499547:	83 38 00             	cmpl   $0x0,(%eax)
49954a:	7e 05                	jle    0x499551
49954c:	0f b6 1b             	movzbl (%ebx),%ebx
49954f:	eb 0c                	jmp    0x49955d
499551:	8b 02                	mov    (%edx),%eax
499553:	8b ca                	mov    %edx,%ecx
499555:	ff 50 18             	call   *0x18(%eax)
499558:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
49955b:	8b d8                	mov    %eax,%ebx
49955d:	83 fb ff             	cmp    $0xffffffff,%ebx
499560:	74 05                	je     0x499567
499562:	88 5e 05             	mov    %bl,0x5(%esi)
499565:	eb 09                	jmp    0x499570
499567:	8a 5e 05             	mov    0x5(%esi),%bl
49956a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
499570:	8a 45 a2             	mov    -0x5e(%ebp),%al
499573:	c6 46 04 01          	movb   $0x1,0x4(%esi)
499577:	3a d8                	cmp    %al,%bl
499579:	0f 85 7c 01 00 00    	jne    0x4996fb
49957f:	8b 7d cc             	mov    -0x34(%ebp),%edi
499582:	3b f9                	cmp    %ecx,%edi
499584:	73 24                	jae    0x4995aa
499586:	8d 47 01             	lea    0x1(%edi),%eax
499589:	83 f9 10             	cmp    $0x10,%ecx
49958c:	89 45 cc             	mov    %eax,-0x34(%ebp)
49958f:	8d 45 bc             	lea    -0x44(%ebp),%eax
499592:	0f 43 45 90          	cmovae -0x70(%ebp),%eax
499596:	66 c7 04 38 00 00    	movw   $0x0,(%eax,%edi,1)
49959c:	8b 5d d0             	mov    -0x30(%ebp),%ebx
49959f:	8b 7d bc             	mov    -0x44(%ebp),%edi
4995a2:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
4995a5:	e9 00 01 00 00       	jmp    0x4996aa
4995aa:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4995af:	2b c7                	sub    %edi,%eax
4995b1:	83 f8 01             	cmp    $0x1,%eax
4995b4:	0f 82 51 02 00 00    	jb     0x49980b
4995ba:	8d 5f 01             	lea    0x1(%edi),%ebx
4995bd:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
4995c3:	83 cb 0f             	or     $0xf,%ebx
4995c6:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
4995cc:	76 07                	jbe    0x4995d5
4995ce:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
4995d3:	eb 1e                	jmp    0x4995f3
4995d5:	8b d1                	mov    %ecx,%edx
4995d7:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4995dc:	d1 ea                	shr    $1,%edx
4995de:	2b c2                	sub    %edx,%eax
4995e0:	3b c8                	cmp    %eax,%ecx
4995e2:	76 07                	jbe    0x4995eb
4995e4:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
4995e9:	eb 08                	jmp    0x4995f3
4995eb:	8d 04 11             	lea    (%ecx,%edx,1),%eax
4995ee:	3b d8                	cmp    %eax,%ebx
4995f0:	0f 42 d8             	cmovb  %eax,%ebx
4995f3:	8d 43 01             	lea    0x1(%ebx),%eax
4995f6:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
4995f9:	50                   	push   %eax
4995fa:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4995fd:	e8 4e fe f9 ff       	call   0x439450
499602:	8d 4f 01             	lea    0x1(%edi),%ecx
499605:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
49960b:	89 4d cc             	mov    %ecx,-0x34(%ebp)
49960e:	89 5d d0             	mov    %ebx,-0x30(%ebp)
499611:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
499614:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
49961a:	8d 4f 01             	lea    0x1(%edi),%ecx
49961d:	03 c8                	add    %eax,%ecx
49961f:	83 bd 78 ff ff ff 10 	cmpl   $0x10,-0x88(%ebp)
499626:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
49962c:	57                   	push   %edi
49962d:	72 53                	jb     0x499682
49962f:	8b 5d 90             	mov    -0x70(%ebp),%ebx
499632:	53                   	push   %ebx
499633:	50                   	push   %eax
499634:	e8 c7 98 14 00       	call   0x5e2f00
499639:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
49963f:	83 c4 0c             	add    $0xc,%esp
499642:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
499648:	41                   	inc    %ecx
499649:	c6 00 00             	movb   $0x0,(%eax)
49964c:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
499652:	c6 00 00             	movb   $0x0,(%eax)
499655:	8b c3                	mov    %ebx,%eax
499657:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49965d:	72 14                	jb     0x499673
49965f:	8b 5b fc             	mov    -0x4(%ebx),%ebx
499662:	83 c1 23             	add    $0x23,%ecx
499665:	2b c3                	sub    %ebx,%eax
499667:	83 c0 fc             	add    $0xfffffffc,%eax
49966a:	83 f8 1f             	cmp    $0x1f,%eax
49966d:	0f 87 9d 01 00 00    	ja     0x499810
499673:	51                   	push   %ecx
499674:	53                   	push   %ebx
499675:	e8 f8 79 14 00       	call   0x5e1072
49967a:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
49967d:	83 c4 08             	add    $0x8,%esp
499680:	eb 1f                	jmp    0x4996a1
499682:	8d 4d bc             	lea    -0x44(%ebp),%ecx
499685:	51                   	push   %ecx
499686:	50                   	push   %eax
499687:	e8 74 98 14 00       	call   0x5e2f00
49968c:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
499692:	83 c4 0c             	add    $0xc,%esp
499695:	c6 00 00             	movb   $0x0,(%eax)
499698:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
49969e:	c6 00 00             	movb   $0x0,(%eax)
4996a1:	8b bd 6c ff ff ff    	mov    -0x94(%ebp),%edi
4996a7:	89 7d bc             	mov    %edi,-0x44(%ebp)
4996aa:	ff 45 94             	incl   -0x6c(%ebp)
4996ad:	89 7d 90             	mov    %edi,-0x70(%ebp)
4996b0:	8b 0e                	mov    (%esi),%ecx
4996b2:	85 c9                	test   %ecx,%ecx
4996b4:	74 36                	je     0x4996ec
4996b6:	8b 41 1c             	mov    0x1c(%ecx),%eax
4996b9:	83 38 00             	cmpl   $0x0,(%eax)
4996bc:	74 1b                	je     0x4996d9
4996be:	8b 51 2c             	mov    0x2c(%ecx),%edx
4996c1:	8b 02                	mov    (%edx),%eax
4996c3:	85 c0                	test   %eax,%eax
4996c5:	7e 12                	jle    0x4996d9
4996c7:	48                   	dec    %eax
4996c8:	89 02                	mov    %eax,(%edx)
4996ca:	8b 49 1c             	mov    0x1c(%ecx),%ecx
4996cd:	8b 11                	mov    (%ecx),%edx
4996cf:	8d 42 01             	lea    0x1(%edx),%eax
4996d2:	89 01                	mov    %eax,(%ecx)
4996d4:	0f b6 02             	movzbl (%edx),%eax
4996d7:	eb 05                	jmp    0x4996de
4996d9:	8b 01                	mov    (%ecx),%eax
4996db:	ff 50 1c             	call   *0x1c(%eax)
4996de:	83 f8 ff             	cmp    $0xffffffff,%eax
4996e1:	74 09                	je     0x4996ec
4996e3:	c6 46 04 00          	movb   $0x0,0x4(%esi)
4996e7:	e9 bb fc ff ff       	jmp    0x4993a7
4996ec:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4996f2:	c6 46 04 01          	movb   $0x1,0x4(%esi)
4996f6:	e9 ac fc ff ff       	jmp    0x4993a7
4996fb:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
4996fe:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
499701:	85 c9                	test   %ecx,%ecx
499703:	74 13                	je     0x499718
499705:	83 fb 10             	cmp    $0x10,%ebx
499708:	8d 45 bc             	lea    -0x44(%ebp),%eax