5592c8:	6a 00                	push   $0x0
5592ca:	6a 00                	push   $0x0
5592cc:	ff 75 f8             	push   -0x8(%ebp)
5592cf:	6a 74                	push   $0x74
5592d1:	56                   	push   %esi
5592d2:	e8 29 d2 fa ff       	call   0x506500
5592d7:	8b 7d f0             	mov    -0x10(%ebp),%edi
5592da:	83 c4 14             	add    $0x14,%esp
5592dd:	e9 0c 02 00 00       	jmp    0x5594ee
5592e2:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5592e5:	8d 41 01             	lea    0x1(%ecx),%eax
5592e8:	89 46 6c             	mov    %eax,0x6c(%esi)
5592eb:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5592ee:	8b 46 68             	mov    0x68(%esi),%eax
5592f1:	c7 04 88 7f 00 00 00 	movl   $0x7f,(%eax,%ecx,4)
5592f8:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
5592fc:	8d 5a 01             	lea    0x1(%edx),%ebx
5592ff:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
559303:	8b 5d ec             	mov    -0x14(%ebp),%ebx
559306:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
55930d:	00
55930e:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
559315:	00
559316:	e9 5d ff ff ff       	jmp    0x559278
55931b:	8b 48 08             	mov    0x8(%eax),%ecx
55931e:	85 c9                	test   %ecx,%ecx
559320:	74 10                	je     0x559332
559322:	8b 41 38             	mov    0x38(%ecx),%eax
559325:	24 03                	and    $0x3,%al
559327:	3c 02                	cmp    $0x2,%al
559329:	74 07                	je     0x559332
55932b:	8b 49 14             	mov    0x14(%ecx),%ecx
55932e:	85 c9                	test   %ecx,%ecx
559330:	75 f0                	jne    0x559322
559332:	8b 41 04             	mov    0x4(%ecx),%eax
559335:	8b 4e 6c             	mov    0x6c(%esi),%ecx
559338:	0f b7 00             	movzwl (%eax),%eax
55933b:	0f bf d0             	movswl %ax,%edx
55933e:	89 55 0c             	mov    %edx,0xc(%ebp)
559341:	39 4e 70             	cmp    %ecx,0x70(%esi)
559344:	7f 1a                	jg     0x559360
559346:	ff 75 fc             	push   -0x4(%ebp)
559349:	52                   	push   %edx
55934a:	ff 75 f8             	push   -0x8(%ebp)
55934d:	68 a6 00 00 00       	push   $0xa6
559352:	56                   	push   %esi
559353:	e8 a8 d1 fa ff       	call   0x506500
559358:	8b 55 fc             	mov    -0x4(%ebp),%edx
55935b:	83 c4 14             	add    $0x14,%esp
55935e:	eb 30                	jmp    0x559390
559360:	8b 7d f8             	mov    -0x8(%ebp),%edi
559363:	8d 41 01             	lea    0x1(%ecx),%eax
559366:	89 46 6c             	mov    %eax,0x6c(%esi)
559369:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
55936c:	8b 46 68             	mov    0x68(%esi),%eax
55936f:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
559373:	8b 55 fc             	mov    -0x4(%ebp),%edx
559376:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
55937a:	8b 7d 08             	mov    0x8(%ebp),%edi
55937d:	c7 04 88 a6 00 00 00 	movl   $0xa6,(%eax,%ecx,4)
559384:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
559388:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
55938f:	00
559390:	8b 4e 6c             	mov    0x6c(%esi),%ecx
559393:	8d 42 01             	lea    0x1(%edx),%eax
559396:	89 45 d8             	mov    %eax,-0x28(%ebp)
559399:	8b 45 0c             	mov    0xc(%ebp),%eax
55939c:	83 c0 02             	add    $0x2,%eax
55939f:	03 c2                	add    %edx,%eax
5593a1:	89 45 0c             	mov    %eax,0xc(%ebp)
5593a4:	39 4e 70             	cmp    %ecx,0x70(%esi)
5593a7:	7f 0d                	jg     0x5593b6
5593a9:	6a 00                	push   $0x0
5593ab:	ff 75 d8             	push   -0x28(%ebp)
5593ae:	50                   	push   %eax
5593af:	6a 4e                	push   $0x4e
5593b1:	e9 b6 fe ff ff       	jmp    0x55926c
5593b6:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5593b9:	8d 41 01             	lea    0x1(%ecx),%eax
5593bc:	89 46 6c             	mov    %eax,0x6c(%esi)
5593bf:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5593c2:	8b 46 68             	mov    0x68(%esi),%eax
5593c5:	c7 04 88 4e 00 00 00 	movl   $0x4e,(%eax,%ecx,4)
5593cc:	e9 27 ff ff ff       	jmp    0x5592f8
5593d1:	8b 55 f8             	mov    -0x8(%ebp),%edx
5593d4:	8d 41 01             	lea    0x1(%ecx),%eax
5593d7:	8b 7d f0             	mov    -0x10(%ebp),%edi
5593da:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5593dd:	89 46 6c             	mov    %eax,0x6c(%esi)
5593e0:	8b 46 68             	mov    0x68(%esi),%eax
5593e3:	c7 04 88 74 00 00 00 	movl   $0x74,(%eax,%ecx,4)
5593ea:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5593ee:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
5593f5:	00
5593f6:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
5593fd:	00
5593fe:	e9 e3 00 00 00       	jmp    0x5594e6
559403:	8b 47 74             	mov    0x74(%edi),%eax
559406:	8b cf                	mov    %edi,%ecx
559408:	85 c0                	test   %eax,%eax
55940a:	0f 45 c8             	cmovne %eax,%ecx
55940d:	c6 41 14 01          	movb   $0x1,0x14(%ecx)
559411:	8b 4e 6c             	mov    0x6c(%esi),%ecx
559414:	39 4e 70             	cmp    %ecx,0x70(%esi)
559417:	7f 14                	jg     0x55942d
559419:	ff 75 e4             	push   -0x1c(%ebp)
55941c:	ff 75 f4             	push   -0xc(%ebp)
55941f:	52                   	push   %edx
559420:	6a 5b                	push   $0x5b
559422:	56                   	push   %esi
559423:	e8 d8 d0 fa ff       	call   0x506500
559428:	83 c4 14             	add    $0x14,%esp
55942b:	eb 2d                	jmp    0x55945a
55942d:	8d 41 01             	lea    0x1(%ecx),%eax
559430:	89 46 6c             	mov    %eax,0x6c(%esi)
559433:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
559436:	8b 46 68             	mov    0x68(%esi),%eax
559439:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
55943d:	8b 55 f4             	mov    -0xc(%ebp),%edx
559440:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
559444:	8b 55 e4             	mov    -0x1c(%ebp),%edx
559447:	c7 04 88 5b 00 00 00 	movl   $0x5b,(%eax,%ecx,4)
55944e:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
559452:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
559459:	00
55945a:	8b 4e 6c             	mov    0x6c(%esi),%ecx
55945d:	8b 55 e0             	mov    -0x20(%ebp),%edx
559460:	8b 7d f0             	mov    -0x10(%ebp),%edi
559463:	39 4e 70             	cmp    %ecx,0x70(%esi)
559466:	7f 14                	jg     0x55947c
559468:	6a 00                	push   $0x0
55946a:	52                   	push   %edx
55946b:	57                   	push   %edi
55946c:	6a 78                	push   $0x78
55946e:	56                   	push   %esi
55946f:	e8 8c d0 fa ff       	call   0x506500
559474:	8b 55 e0             	mov    -0x20(%ebp),%edx
559477:	83 c4 14             	add    $0x14,%esp
55947a:	eb 2b                	jmp    0x5594a7
55947c:	8d 41 01             	lea    0x1(%ecx),%eax
55947f:	89 46 6c             	mov    %eax,0x6c(%esi)
559482:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
559485:	8b 46 68             	mov    0x68(%esi),%eax
559488:	c7 04 88 78 00 00 00 	movl   $0x78,(%eax,%ecx,4)
55948f:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
559493:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
559497:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
55949e:	00
55949f:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5594a6:	00
5594a7:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5594aa:	39 4e 70             	cmp    %ecx,0x70(%esi)
5594ad:	7f 12                	jg     0x5594c1
5594af:	52                   	push   %edx
5594b0:	ff 75 e4             	push   -0x1c(%ebp)
5594b3:	57                   	push   %edi
5594b4:	6a 79                	push   $0x79
5594b6:	56                   	push   %esi
5594b7:	e8 44 d0 fa ff       	call   0x506500
5594bc:	83 c4 14             	add    $0x14,%esp
5594bf:	eb 2d                	jmp    0x5594ee
5594c1:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5594c4:	8d 41 01             	lea    0x1(%ecx),%eax
5594c7:	89 46 6c             	mov    %eax,0x6c(%esi)
5594ca:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5594cd:	8b 46 68             	mov    0x68(%esi),%eax
5594d0:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
5594d4:	8b 55 e0             	mov    -0x20(%ebp),%edx
5594d7:	c7 04 88 79 00 00 00 	movl   $0x79,(%eax,%ecx,4)
5594de:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
5594e2:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
5594e6:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5594ed:	00
5594ee:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5594f2:	0f 85 bb 00 00 00    	jne    0x5595b3
5594f8:	ff 75 dc             	push   -0x24(%ebp)
5594fb:	e8 10 99 ff ff       	call   0x552e10
559500:	8b 56 6c             	mov    0x6c(%esi),%edx
559503:	83 c4 04             	add    $0x4,%esp
559506:	89 55 e8             	mov    %edx,-0x18(%ebp)
559509:	39 56 70             	cmp    %edx,0x70(%esi)
55950c:	7f 15                	jg     0x559523
55950e:	6a 00                	push   $0x0
559510:	6a 00                	push   $0x0
559512:	57                   	push   %edi
559513:	6a 25                	push   $0x25
559515:	56                   	push   %esi
559516:	e8 e5 cf fa ff       	call   0x506500
55951b:	83 c4 14             	add    $0x14,%esp
55951e:	89 45 e8             	mov    %eax,-0x18(%ebp)
559521:	eb 2f                	jmp    0x559552
559523:	8d 42 01             	lea    0x1(%edx),%eax
559526:	89 46 6c             	mov    %eax,0x6c(%esi)
559529:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
55952c:	8b 46 68             	mov    0x68(%esi),%eax
55952f:	c7 04 88 25 00 00 00 	movl   $0x25,(%eax,%ecx,4)
559536:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
55953a:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
559541:	00
559542:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
559549:	00
55954a:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
559551:	00
559552:	33 ff                	xor    %edi,%edi
559554:	39 7d f4             	cmp    %edi,-0xc(%ebp)
559557:	7e 5a                	jle    0x5595b3
559559:	8b 5d f0             	mov    -0x10(%ebp),%ebx
55955c:	0f 1f 40 00          	nopl   0x0(%eax)
559560:	8b 4e 6c             	mov    0x6c(%esi),%ecx
559563:	39 4e 70             	cmp    %ecx,0x70(%esi)
559566:	7f 15                	jg     0x55957d
559568:	8b 45 fc             	mov    -0x4(%ebp),%eax
55956b:	03 c7                	add    %edi,%eax
55956d:	50                   	push   %eax
55956e:	57                   	push   %edi
55956f:	53                   	push   %ebx
559570:	6a 59                	push   $0x59
559572:	56                   	push   %esi
559573:	e8 88 cf fa ff       	call   0x506500
559578:	83 c4 14             	add    $0x14,%esp
55957b:	eb 2d                	jmp    0x5595aa
55957d:	8d 41 01             	lea    0x1(%ecx),%eax
559580:	89 46 6c             	mov    %eax,0x6c(%esi)
559583:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
559586:	8b 46 68             	mov    0x68(%esi),%eax
559589:	c7 04 88 59 00 00 00 	movl   $0x59,(%eax,%ecx,4)
559590:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
559594:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
559598:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
55959b:	8b 45 fc             	mov    -0x4(%ebp),%eax
55959e:	03 c7                	add    %edi,%eax
5595a0:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
5595a7:	89 41 0c             	mov    %eax,0xc(%ecx)
5595aa:	47                   	inc    %edi
5595ab:	3b 7d f4             	cmp    -0xc(%ebp),%edi
5595ae:	7c b0                	jl     0x559560
5595b0:	8b 5d ec             	mov    -0x14(%ebp),%ebx
5595b3:	ff 75 10             	push   0x10(%ebp)
5595b6:	8b 7d 08             	mov    0x8(%ebp),%edi
5595b9:	57                   	push   %edi
5595ba:	e8 b1 52 ff ff       	call   0x54e870
5595bf:	8b 56 6c             	mov    0x6c(%esi),%edx
5595c2:	83 c4 08             	add    $0x8,%esp
5595c5:	39 56 70             	cmp    %edx,0x70(%esi)
5595c8:	7f 17                	jg     0x5595e1
5595ca:	ff 75 fc             	push   -0x4(%ebp)
5595cd:	ff 75 f4             	push   -0xc(%ebp)
5595d0:	6a 00                	push   $0x0
5595d2:	6a 0a                	push   $0xa
5595d4:	56                   	push   %esi
5595d5:	e8 26 cf fa ff       	call   0x506500
5595da:	83 c4 14             	add    $0x14,%esp
5595dd:	8b d0                	mov    %eax,%edx
5595df:	eb 34                	jmp    0x559615
5595e1:	8b 7d f4             	mov    -0xc(%ebp),%edi
5595e4:	8d 42 01             	lea    0x1(%edx),%eax
5595e7:	89 46 6c             	mov    %eax,0x6c(%esi)
5595ea:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
5595ed:	8b 46 68             	mov    0x68(%esi),%eax
5595f0:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
5595f4:	8b 7d fc             	mov    -0x4(%ebp),%edi
5595f7:	89 7c 88 0c          	mov    %edi,0xc(%eax,%ecx,4)
5595fb:	8b 7d 08             	mov    0x8(%ebp),%edi
5595fe:	c7 04 88 0a 00 00 00 	movl   $0xa,(%eax,%ecx,4)
559605:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
55960c:	00
55960d:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
559614:	00
559615:	8b 06                	mov    (%esi),%eax
559617:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
55961b:	75 35                	jne    0x559652
55961d:	85 d2                	test   %edx,%edx
55961f:	79 04                	jns    0x559625
559621:	8b 56 6c             	mov    0x6c(%esi),%edx
559624:	4a                   	dec    %edx
559625:	8b 46 68             	mov    0x68(%esi),%eax
559628:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
55962b:	80 7c 88 01 00       	cmpb   $0x0,0x1(%eax,%ecx,4)
559630:	8d 04 88             	lea    (%eax,%ecx,4),%eax
559633:	74 0f                	je     0x559644
559635:	6a f4                	push   $0xfffffff4
559637:	53                   	push   %ebx
559638:	50                   	push   %eax
559639:	56                   	push   %esi
55963a:	e8 01 06 00 00       	call   0x559c40
55963f:	83 c4 10             	add    $0x10,%esp
559642:	eb 0e                	jmp    0x559652
559644:	85 db                	test   %ebx,%ebx
559646:	74 0a                	je     0x559652
559648:	89 58 10             	mov    %ebx,0x10(%eax)
55964b:	c6 40 01 f4          	movb   $0xf4,0x1(%eax)
55964f:	ff 43 0c             	incl   0xc(%ebx)
559652:	8b 4e 6c             	mov    0x6c(%esi),%ecx
559655:	85 c9                	test   %ecx,%ecx
559657:	7e 1c                	jle    0x559675
559659:	8b 45 24             	mov    0x24(%ebp),%eax
55965c:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
55965f:	0f b7 d0             	movzwl %ax,%edx
559662:	83 f8 0b             	cmp    $0xb,%eax
559665:	8b 46 68             	mov    0x68(%esi),%eax
559668:	bb 02 00 00 00       	mov    $0x2,%ebx
55966d:	0f 44 d3             	cmove  %ebx,%edx
559670:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
559675:	8b 47 74             	mov    0x74(%edi),%eax
559678:	85 c0                	test   %eax,%eax
55967a:	0f 45 f8             	cmovne %eax,%edi
55967d:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
559681:	c6 47 15 01          	movb   $0x1,0x15(%edi)
559685:	0f 85 c7 00 00 00    	jne    0x559752
55968b:	8b 5d e8             	mov    -0x18(%ebp),%ebx
55968e:	8b 4e 6c             	mov    0x6c(%esi),%ecx
559691:	8b 7d f0             	mov    -0x10(%ebp),%edi
559694:	8d 53 01             	lea    0x1(%ebx),%edx
559697:	39 4e 70             	cmp    %ecx,0x70(%esi)
55969a:	7f 11                	jg     0x5596ad
55969c:	6a 00                	push   $0x0
55969e:	52                   	push   %edx
55969f:	57                   	push   %edi
5596a0:	6a 05                	push   $0x5
5596a2:	56                   	push   %esi
5596a3:	e8 58 ce fa ff       	call   0x506500
5596a8:	83 c4 14             	add    $0x14,%esp
5596ab:	eb 2b                	jmp    0x5596d8
5596ad:	8d 41 01             	lea    0x1(%ecx),%eax
5596b0:	89 46 6c             	mov    %eax,0x6c(%esi)
5596b3:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5596b6:	8b 46 68             	mov    0x68(%esi),%eax
5596b9:	c7 04 88 05 00 00 00 	movl   $0x5,(%eax,%ecx,4)
5596c0:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
5596c4:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
5596c8:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
5596cf:	00
5596d0:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5596d7:	00
5596d8:	8b 56 6c             	mov    0x6c(%esi),%edx
5596db:	85 db                	test   %ebx,%ebx
5596dd:	79 03                	jns    0x5596e2
5596df:	8d 5a ff             	lea    -0x1(%edx),%ebx
5596e2:	8b 06                	mov    (%esi),%eax
5596e4:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
5596e8:	74 07                	je     0x5596f1
5596ea:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
5596ef:	eb 09                	jmp    0x5596fa
5596f1:	8b 46 68             	mov    0x68(%esi),%eax
5596f4:	8d 0c 9b             	lea    (%ebx,%ebx,4),%ecx
5596f7:	8d 04 88             	lea    (%eax,%ecx,4),%eax
5596fa:	89 50 08             	mov    %edx,0x8(%eax)
5596fd:	8b 4e 6c             	mov    0x6c(%esi),%ecx
559700:	39 4e 70             	cmp    %ecx,0x70(%esi)
559703:	7f 17                	jg     0x55971c