5162ae:	03 c8                	add    %eax,%ecx
5162b0:	51                   	push   %ecx
5162b1:	ff 75 b0             	push   -0x50(%ebp)
5162b4:	50                   	push   %eax
5162b5:	6a 34                	push   $0x34
5162b7:	56                   	push   %esi
5162b8:	e8 43 02 ff ff       	call   0x506500
5162bd:	8b 55 b4             	mov    -0x4c(%ebp),%edx
5162c0:	83 c4 14             	add    $0x14,%esp
5162c3:	e9 82 00 00 00       	jmp    0x51634a
5162c8:	8b 55 ec             	mov    -0x14(%ebp),%edx
5162cb:	8d 41 01             	lea    0x1(%ecx),%eax
5162ce:	89 46 6c             	mov    %eax,0x6c(%esi)
5162d1:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5162d4:	8b 46 68             	mov    0x68(%esi),%eax
5162d7:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5162db:	c7 04 88 34 00 00 00 	movl   $0x34,(%eax,%ecx,4)
5162e2:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
5162e5:	8b 45 b0             	mov    -0x50(%ebp),%eax
5162e8:	89 41 08             	mov    %eax,0x8(%ecx)
5162eb:	8b 45 dc             	mov    -0x24(%ebp),%eax
5162ee:	03 c2                	add    %edx,%eax
5162f0:	8b 55 b4             	mov    -0x4c(%ebp),%edx
5162f3:	eb 4b                	jmp    0x516340
5162f5:	39 4e 70             	cmp    %ecx,0x70(%esi)
5162f8:	7f 1d                	jg     0x516317
5162fa:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5162fd:	8b 45 dc             	mov    -0x24(%ebp),%eax
516300:	03 c1                	add    %ecx,%eax
516302:	50                   	push   %eax
516303:	ff 75 20             	push   0x20(%ebp)
516306:	51                   	push   %ecx
516307:	6a 35                	push   $0x35
516309:	56                   	push   %esi
51630a:	e8 f1 01 ff ff       	call   0x506500
51630f:	8b 55 b4             	mov    -0x4c(%ebp),%edx
516312:	83 c4 14             	add    $0x14,%esp
516315:	eb 33                	jmp    0x51634a
516317:	8b 5d 20             	mov    0x20(%ebp),%ebx
51631a:	8d 41 01             	lea    0x1(%ecx),%eax
51631d:	89 46 6c             	mov    %eax,0x6c(%esi)
516320:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
516323:	8b 46 68             	mov    0x68(%esi),%eax
516326:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
51632a:	8b 5d b8             	mov    -0x48(%ebp),%ebx
51632d:	c7 04 88 35 00 00 00 	movl   $0x35,(%eax,%ecx,4)
516334:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
516337:	8b 45 ec             	mov    -0x14(%ebp),%eax
51633a:	89 41 04             	mov    %eax,0x4(%ecx)
51633d:	03 45 dc             	add    -0x24(%ebp),%eax
516340:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
516347:	89 41 0c             	mov    %eax,0xc(%ecx)
51634a:	8b 06                	mov    (%esi),%eax
51634c:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
516350:	74 0e                	je     0x516360
516352:	52                   	push   %edx
516353:	6a fe                	push   $0xfffffffe
516355:	50                   	push   %eax
516356:	e8 55 d9 fe ff       	call   0x503cb0
51635b:	83 c4 0c             	add    $0xc,%esp
51635e:	eb 2e                	jmp    0x51638e
516360:	8b 46 6c             	mov    0x6c(%esi),%eax
516363:	48                   	dec    %eax
516364:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
516367:	8b 46 68             	mov    0x68(%esi),%eax
51636a:	80 7c 88 01 00       	cmpb   $0x0,0x1(%eax,%ecx,4)
51636f:	8d 04 88             	lea    (%eax,%ecx,4),%eax
516372:	74 0f                	je     0x516383
516374:	6a fe                	push   $0xfffffffe
516376:	52                   	push   %edx
516377:	50                   	push   %eax
516378:	56                   	push   %esi
516379:	e8 c2 38 04 00       	call   0x559c40
51637e:	83 c4 10             	add    $0x10,%esp
516381:	eb 0b                	jmp    0x51638e
516383:	85 d2                	test   %edx,%edx
516385:	74 07                	je     0x51638e
516387:	89 50 10             	mov    %edx,0x10(%eax)
51638a:	c6 40 01 fe          	movb   $0xfe,0x1(%eax)
51638e:	8b 46 6c             	mov    0x6c(%esi),%eax
516391:	85 c0                	test   %eax,%eax
516393:	7e 10                	jle    0x5163a5
516395:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
516398:	ba 80 00 00 00       	mov    $0x80,%edx
51639d:	8b 46 68             	mov    0x68(%esi),%eax
5163a0:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
5163a5:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5163a8:	8b 55 e8             	mov    -0x18(%ebp),%edx
5163ab:	40                   	inc    %eax
5163ac:	ff 45 ec             	incl   -0x14(%ebp)
5163af:	83 c2 14             	add    $0x14,%edx
5163b2:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5163b5:	89 55 e8             	mov    %edx,-0x18(%ebp)
5163b8:	3b c7                	cmp    %edi,%eax
5163ba:	0f 8c c0 fe ff ff    	jl     0x516280
5163c0:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5163c3:	8d 47 ff             	lea    -0x1(%edi),%eax
5163c6:	39 4e 70             	cmp    %ecx,0x70(%esi)
5163c9:	7f 15                	jg     0x5163e0
5163cb:	8b 55 c8             	mov    -0x38(%ebp),%edx
5163ce:	50                   	push   %eax
5163cf:	52                   	push   %edx
5163d0:	ff 75 f0             	push   -0x10(%ebp)
5163d3:	6a 4d                	push   $0x4d
5163d5:	56                   	push   %esi
5163d6:	e8 25 01 ff ff       	call   0x506500
5163db:	83 c4 14             	add    $0x14,%esp
5163de:	eb 67                	jmp    0x516447
5163e0:	8b 55 f0             	mov    -0x10(%ebp),%edx
5163e3:	8d 41 01             	lea    0x1(%ecx),%eax
5163e6:	89 46 6c             	mov    %eax,0x6c(%esi)
5163e9:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5163ec:	8b 46 68             	mov    0x68(%esi),%eax
5163ef:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5163f3:	8b 55 c8             	mov    -0x38(%ebp),%edx
5163f6:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
5163fa:	8d 57 ff             	lea    -0x1(%edi),%edx
5163fd:	c7 04 88 4d 00 00 00 	movl   $0x4d,(%eax,%ecx,4)
516404:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
516408:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
51640f:	00
516410:	eb 35                	jmp    0x516447
516412:	8b 16                	mov    (%esi),%edx
516414:	80 7a 51 00          	cmpb   $0x0,0x51(%edx)
516418:	75 2d                	jne    0x516447
51641a:	8b 41 08             	mov    0x8(%ecx),%eax
51641d:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
516420:	8b 46 68             	mov    0x68(%esi),%eax
516423:	ff 74 88 10          	push   0x10(%eax,%ecx,4)
516427:	8d 3c 88             	lea    (%eax,%ecx,4),%edi
51642a:	0f be 47 01          	movsbl 0x1(%edi),%eax
51642e:	50                   	push   %eax
51642f:	52                   	push   %edx
516430:	e8 7b d8 fe ff       	call   0x503cb0
516435:	66 c7 07 ad 00       	movw   $0xad,(%edi)
51643a:	83 c4 0c             	add    $0xc,%esp
51643d:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
516444:	8b 7d cc             	mov    -0x34(%ebp),%edi
516447:	8b 45 e4             	mov    -0x1c(%ebp),%eax
51644a:	85 c0                	test   %eax,%eax
51644c:	75 59                	jne    0x5164a7
51644e:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
516451:	8b 51 0c             	mov    0xc(%ecx),%edx
516454:	85 d2                	test   %edx,%edx
516456:	7e 4f                	jle    0x5164a7
516458:	8b 4e 6c             	mov    0x6c(%esi),%ecx
51645b:	39 4e 70             	cmp    %ecx,0x70(%esi)
51645e:	7f 13                	jg     0x516473
516460:	6a 01                	push   $0x1
516462:	ff 75 20             	push   0x20(%ebp)
516465:	52                   	push   %edx
516466:	6a 30                	push   $0x30
516468:	56                   	push   %esi
516469:	e8 92 00 ff ff       	call   0x506500
51646e:	83 c4 14             	add    $0x14,%esp
516471:	eb 31                	jmp    0x5164a4
516473:	8b 5d b8             	mov    -0x48(%ebp),%ebx
516476:	8d 41 01             	lea    0x1(%ecx),%eax
516479:	89 46 6c             	mov    %eax,0x6c(%esi)
51647c:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
51647f:	8b 46 68             	mov    0x68(%esi),%eax
516482:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
516486:	8b 55 20             	mov    0x20(%ebp),%edx
516489:	c7 04 88 30 00 00 00 	movl   $0x30,(%eax,%ecx,4)
516490:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
516494:	c7 44 88 0c 01 00 00 	movl   $0x1,0xc(%eax,%ecx,4)
51649b:	00
51649c:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5164a3:	00
5164a4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5164a7:	8b 55 c0             	mov    -0x40(%ebp),%edx
5164aa:	8d 4a ff             	lea    -0x1(%edx),%ecx
5164ad:	83 f9 0d             	cmp    $0xd,%ecx
5164b0:	0f 87 84 05 00 00    	ja     0x516a3a
5164b6:	ff 24 8d b4 6a 51 00 	jmp    *0x516ab4(,%ecx,4)
5164bd:	8a 43 13             	mov    0x13(%ebx),%al
5164c0:	84 c0                	test   %al,%al
5164c2:	75 08                	jne    0x5164cc
5164c4:	ff 43 2c             	incl   0x2c(%ebx)
5164c7:	8b 43 2c             	mov    0x2c(%ebx),%eax
5164ca:	eb 0f                	jmp    0x5164db
5164cc:	fe c8                	dec    %al
5164ce:	88 43 13             	mov    %al,0x13(%ebx)
5164d1:	0f b6 c0             	movzbl %al,%eax
5164d4:	8b 84 83 94 00 00 00 	mov    0x94(%ebx,%eax,4),%eax
5164db:	50                   	push   %eax
5164dc:	57                   	push   %edi
5164dd:	ff 75 f0             	push   -0x10(%ebp)
5164e0:	89 45 e8             	mov    %eax,-0x18(%ebp)
5164e3:	6a 5b                	push   $0x5b
5164e5:	56                   	push   %esi
5164e6:	e8 55 b6 02 00       	call   0x541b40
5164eb:	8b 55 e0             	mov    -0x20(%ebp),%edx
5164ee:	57                   	push   %edi
5164ef:	ff 75 f0             	push   -0x10(%ebp)
5164f2:	8b 7d e8             	mov    -0x18(%ebp),%edi
5164f5:	57                   	push   %edi
5164f6:	52                   	push   %edx
5164f7:	68 83 00 00 00       	push   $0x83
5164fc:	56                   	push   %esi
5164fd:	e8 0e b7 02 00       	call   0x541c10
516502:	83 c4 2c             	add    $0x2c,%esp
516505:	e9 0b 05 00 00       	jmp    0x516a15
51650a:	8b 55 e0             	mov    -0x20(%ebp),%edx
51650d:	57                   	push   %edi
51650e:	ff 75 f0             	push   -0x10(%ebp)
516511:	52                   	push   %edx
516512:	68 84 00 00 00       	push   $0x84
516517:	56                   	push   %esi
516518:	e8 23 b6 02 00       	call   0x541b40
51651d:	83 c4 14             	add    $0x14,%esp
516520:	e9 15 05 00 00       	jmp    0x516a3a
516525:	8b 45 d8             	mov    -0x28(%ebp),%eax
516528:	40                   	inc    %eax
516529:	50                   	push   %eax
51652a:	53                   	push   %ebx
51652b:	e8 f0 69 01 00       	call   0x52cf20
516530:	8b 4e 6c             	mov    0x6c(%esi),%ecx
516533:	8b d0                	mov    %eax,%edx
516535:	8b 45 d8             	mov    -0x28(%ebp),%eax
516538:	83 c4 08             	add    $0x8,%esp
51653b:	03 c2                	add    %edx,%eax
51653d:	89 55 ec             	mov    %edx,-0x14(%ebp)
516540:	89 45 e8             	mov    %eax,-0x18(%ebp)
516543:	39 4e 70             	cmp    %ecx,0x70(%esi)
516546:	7f 15                	jg     0x51655d
516548:	50                   	push   %eax
516549:	57                   	push   %edi
51654a:	ff 75 f0             	push   -0x10(%ebp)
51654d:	6a 5b                	push   $0x5b
51654f:	56                   	push   %esi
516550:	e8 ab ff fe ff       	call   0x506500
516555:	8b 55 ec             	mov    -0x14(%ebp),%edx
516558:	83 c4 14             	add    $0x14,%esp
51655b:	eb 30                	jmp    0x51658d
51655d:	8b 5d f0             	mov    -0x10(%ebp),%ebx
516560:	8d 41 01             	lea    0x1(%ecx),%eax
516563:	89 46 6c             	mov    %eax,0x6c(%esi)
516566:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
516569:	8b 46 68             	mov    0x68(%esi),%eax
51656c:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
516570:	8b 7d e8             	mov    -0x18(%ebp),%edi
516573:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
516577:	8b 5d b8             	mov    -0x48(%ebp),%ebx
51657a:	c7 04 88 5b 00 00 00 	movl   $0x5b,(%eax,%ecx,4)
516581:	89 7c 88 0c          	mov    %edi,0xc(%eax,%ecx,4)
516585:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
51658c:	00
51658d:	83 7d c0 06          	cmpl   $0x6,-0x40(%ebp)
516591:	75 2f                	jne    0x5165c2
516593:	8b 46 6c             	mov    0x6c(%esi),%eax
516596:	8b 7d e0             	mov    -0x20(%ebp),%edi
516599:	83 c0 04             	add    $0x4,%eax
51659c:	6a 00                	push   $0x0
51659e:	52                   	push   %edx
51659f:	50                   	push   %eax
5165a0:	47                   	inc    %edi
5165a1:	57                   	push   %edi
5165a2:	6a 1e                	push   $0x1e
5165a4:	56                   	push   %esi
5165a5:	e8 66 b6 02 00       	call   0x541c10
5165aa:	ff 75 cc             	push   -0x34(%ebp)
5165ad:	ff 75 f0             	push   -0x10(%ebp)
5165b0:	ff 75 ec             	push   -0x14(%ebp)
5165b3:	57                   	push   %edi
5165b4:	68 83 00 00 00       	push   $0x83
5165b9:	56                   	push   %esi
5165ba:	e8 51 b6 02 00       	call   0x541c10
5165bf:	83 c4 30             	add    $0x30,%esp
5165c2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5165c5:	85 c0                	test   %eax,%eax
5165c7:	74 1e                	je     0x5165e7
5165c9:	8b 7d d8             	mov    -0x28(%ebp),%edi
5165cc:	57                   	push   %edi
5165cd:	6a 01                	push   $0x1
5165cf:	ff 75 bc             	push   -0x44(%ebp)
5165d2:	ff 75 e8             	push   -0x18(%ebp)
5165d5:	ff 75 d4             	push   -0x2c(%ebp)
5165d8:	50                   	push   %eax
5165d9:	53                   	push   %ebx
5165da:	e8 b1 a7 ff ff       	call   0x510d90
5165df:	83 c4 1c             	add    $0x1c,%esp
5165e2:	e9 a8 00 00 00       	jmp    0x51668f
5165e7:	8a 43 13             	mov    0x13(%ebx),%al
5165ea:	84 c0                	test   %al,%al
5165ec:	75 08                	jne    0x5165f6
5165ee:	ff 43 2c             	incl   0x2c(%ebx)
5165f1:	8b 7b 2c             	mov    0x2c(%ebx),%edi
5165f4:	eb 0f                	jmp    0x516605
5165f6:	fe c8                	dec    %al
5165f8:	88 43 13             	mov    %al,0x13(%ebx)
5165fb:	0f b6 c0             	movzbl %al,%eax
5165fe:	8b bc 83 94 00 00 00 	mov    0x94(%ebx,%eax,4),%edi
516605:	57                   	push   %edi
516606:	ff 75 e0             	push   -0x20(%ebp)
516609:	6a 78                	push   $0x78
51660b:	56                   	push   %esi
51660c:	e8 cf b4 02 00       	call   0x541ae0
516611:	8b 4e 6c             	mov    0x6c(%esi),%ecx
516614:	83 c4 10             	add    $0x10,%esp
516617:	39 4e 70             	cmp    %ecx,0x70(%esi)
51661a:	7f 14                	jg     0x516630
51661c:	57                   	push   %edi
51661d:	ff 75 ec             	push   -0x14(%ebp)
516620:	ff 75 e0             	push   -0x20(%ebp)
516623:	6a 79                	push   $0x79
516625:	56                   	push   %esi
516626:	e8 d5 fe fe ff       	call   0x506500
51662b:	83 c4 14             	add    $0x14,%esp
51662e:	eb 2d                	jmp    0x51665d
516630:	8b 55 e0             	mov    -0x20(%ebp),%edx
516633:	8d 41 01             	lea    0x1(%ecx),%eax
516636:	89 46 6c             	mov    %eax,0x6c(%esi)
516639:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
51663c:	8b 46 68             	mov    0x68(%esi),%eax
51663f:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
516643:	8b 55 ec             	mov    -0x14(%ebp),%edx
516646:	c7 04 88 79 00 00 00 	movl   $0x79,(%eax,%ecx,4)
51664d:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
516651:	89 7c 88 0c          	mov    %edi,0xc(%eax,%ecx,4)
516655:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
51665c:	00
51665d:	8b 46 6c             	mov    0x6c(%esi),%eax
516660:	85 c0                	test   %eax,%eax
516662:	7e 10                	jle    0x516674
516664:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
516667:	ba 08 00 00 00       	mov    $0x8,%edx
51666c:	8b 46 68             	mov    0x68(%esi),%eax
51666f:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
516674:	85 ff                	test   %edi,%edi
516676:	74 14                	je     0x51668c
516678:	8a 43 13             	mov    0x13(%ebx),%al
51667b:	3c 08                	cmp    $0x8,%al
51667d:	73 0d                	jae    0x51668c
51667f:	0f b6 c0             	movzbl %al,%eax
516682:	89 bc 83 94 00 00 00 	mov    %edi,0x94(%ebx,%eax,4)
516689:	fe 43 13             	incb   0x13(%ebx)
51668c:	8b 7d d8             	mov    -0x28(%ebp),%edi
51668f:	8d 47 01             	lea    0x1(%edi),%eax
516692:	83 f8 01             	cmp    $0x1,%eax
516695:	75 28                	jne    0x5166bf
516697:	8b 4d ec             	mov    -0x14(%ebp),%ecx
51669a:	85 c9                	test   %ecx,%ecx
51669c:	0f 84 98 03 00 00    	je     0x516a3a
5166a2:	8a 43 13             	mov    0x13(%ebx),%al
5166a5:	3c 08                	cmp    $0x8,%al
5166a7:	0f 83 8d 03 00 00    	jae    0x516a3a
5166ad:	0f b6 c0             	movzbl %al,%eax
5166b0:	89 8c 83 94 00 00 00 	mov    %ecx,0x94(%ebx,%eax,4)
5166b7:	fe 43 13             	incb   0x13(%ebx)