569260:	50                   	push   %eax
569261:	ff 72 18             	push   0x18(%edx)
569264:	e8 c7 e5 fb ff       	call   0x527830
569269:	83 c4 0c             	add    $0xc,%esp
56926c:	85 c0                	test   %eax,%eax
56926e:	0f 85 19 04 00 00    	jne    0x56968d
569274:	8b 55 f0             	mov    -0x10(%ebp),%edx
569277:	8b 42 20             	mov    0x20(%edx),%eax
56927a:	8b 4a 24             	mov    0x24(%edx),%ecx
56927d:	25 00 40 00 00       	and    $0x4000,%eax
569282:	83 c8 00             	or     $0x0,%eax
569285:	74 0a                	je     0x569291
569287:	83 7b 10 00          	cmpl   $0x0,0x10(%ebx)
56928b:	0f 85 fc 03 00 00    	jne    0x56968d
569291:	83 e1 01             	and    $0x1,%ecx
569294:	33 c0                	xor    %eax,%eax
569296:	0b c1                	or     %ecx,%eax
569298:	0f 85 ef 03 00 00    	jne    0x56968d
56929e:	8b 75 fc             	mov    -0x4(%ebp),%esi
5692a1:	ff 76 48             	push   0x48(%esi)
5692a4:	52                   	push   %edx
5692a5:	e8 b6 07 fd ff       	call   0x539a60
5692aa:	8b 75 08             	mov    0x8(%ebp),%esi
5692ad:	8b d8                	mov    %eax,%ebx
5692af:	56                   	push   %esi
5692b0:	89 5d e0             	mov    %ebx,-0x20(%ebp)
5692b3:	e8 18 46 fc ff       	call   0x52d8d0
5692b8:	8b f8                	mov    %eax,%edi
5692ba:	53                   	push   %ebx
5692bb:	56                   	push   %esi
5692bc:	89 7d cc             	mov    %edi,-0x34(%ebp)
5692bf:	e8 1c 60 fb ff       	call   0x51f2e0
5692c4:	8b 5e 28             	mov    0x28(%esi),%ebx
5692c7:	89 5d e8             	mov    %ebx,-0x18(%ebp)
5692ca:	8d 43 01             	lea    0x1(%ebx),%eax
5692cd:	89 45 f8             	mov    %eax,-0x8(%ebp)
5692d0:	40                   	inc    %eax
5692d1:	89 46 28             	mov    %eax,0x28(%esi)
5692d4:	8b 75 0c             	mov    0xc(%ebp),%esi
5692d7:	56                   	push   %esi
5692d8:	ff 75 18             	push   0x18(%ebp)
5692db:	ff 75 08             	push   0x8(%ebp)
5692de:	e8 fd a8 f8 ff       	call   0x4f3be0
5692e3:	8b 55 08             	mov    0x8(%ebp),%edx
5692e6:	52                   	push   %edx
5692e7:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5692ea:	e8 91 3c fc ff       	call   0x52cf80
5692ef:	52                   	push   %edx
5692f0:	89 45 ec             	mov    %eax,-0x14(%ebp)
5692f3:	e8 88 3c fc ff       	call   0x52cf80
5692f8:	6a 61                	push   $0x61
5692fa:	56                   	push   %esi
5692fb:	ff 75 18             	push   0x18(%ebp)
5692fe:	89 45 f4             	mov    %eax,-0xc(%ebp)
569301:	8d 43 01             	lea    0x1(%ebx),%eax
569304:	50                   	push   %eax
569305:	52                   	push   %edx
569306:	e8 45 86 fc ff       	call   0x531950
56930b:	8b 45 f0             	mov    -0x10(%ebp),%eax
56930e:	83 c4 3c             	add    $0x3c,%esp
569311:	f6 40 18 04          	testb  $0x4,0x18(%eax)
569315:	75 48                	jne    0x56935f
569317:	66 83 7e 28 00       	cmpw   $0x0,0x28(%esi)
56931c:	7d 06                	jge    0x569324
56931e:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
569322:	75 13                	jne    0x569337
569324:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
569328:	75 0d                	jne    0x569337
56932a:	8b 45 14             	mov    0x14(%ebp),%eax
56932d:	83 f8 02             	cmp    $0x2,%eax
569330:	74 2d                	je     0x56935f
569332:	83 f8 01             	cmp    $0x1,%eax
569335:	74 28                	je     0x56935f
569337:	6a 00                	push   $0x0
569339:	8d 43 01             	lea    0x1(%ebx),%eax
56933c:	50                   	push   %eax
56933d:	6a 25                	push   $0x25
56933f:	57                   	push   %edi
569340:	e8 9b 87 fd ff       	call   0x541ae0
569345:	6a 0b                	push   $0xb
569347:	57                   	push   %edi
569348:	8b f0                	mov    %eax,%esi
56934a:	e8 d1 86 fd ff       	call   0x541a20
56934f:	56                   	push   %esi
569350:	57                   	push   %edi
569351:	89 45 dc             	mov    %eax,-0x24(%ebp)
569354:	e8 07 14 fe ff       	call   0x54a760
569359:	8b 75 0c             	mov    0xc(%ebp),%esi
56935c:	83 c4 20             	add    $0x20,%esp
56935f:	8b 45 fc             	mov    -0x4(%ebp),%eax
569362:	f6 40 24 80          	testb  $0x80,0x24(%eax)
569366:	0f 85 26 01 00 00    	jne    0x569492
56936c:	6a 60                	push   $0x60
56936e:	50                   	push   %eax
56936f:	ff 75 e0             	push   -0x20(%ebp)
569372:	53                   	push   %ebx
569373:	ff 75 08             	push   0x8(%ebp)
569376:	e8 d5 85 fc ff       	call   0x531950
56937b:	6a 00                	push   $0x0
56937d:	53                   	push   %ebx
56937e:	6a 25                	push   $0x25
569380:	57                   	push   %edi
569381:	e8 5a 87 fd ff       	call   0x541ae0
569386:	83 c4 24             	add    $0x24,%esp
569389:	89 45 d0             	mov    %eax,-0x30(%ebp)
56938c:	66 83 7e 28 00       	cmpw   $0x0,0x28(%esi)
569391:	7c 4c                	jl     0x5693df
569393:	8b 75 f4             	mov    -0xc(%ebp),%esi
569396:	56                   	push   %esi
569397:	53                   	push   %ebx
569398:	6a 7f                	push   $0x7f
56939a:	57                   	push   %edi
56939b:	e8 40 87 fd ff       	call   0x541ae0
5693a0:	56                   	push   %esi
5693a1:	89 45 10             	mov    %eax,0x10(%ebp)
5693a4:	8d 43 01             	lea    0x1(%ebx),%eax
5693a7:	6a 00                	push   $0x0
5693a9:	50                   	push   %eax
5693aa:	6a 20                	push   $0x20
5693ac:	57                   	push   %edi
5693ad:	e8 8e 87 fd ff       	call   0x541b40
5693b2:	ff 75 0c             	push   0xc(%ebp)
5693b5:	8b f0                	mov    %eax,%esi
5693b7:	ff 75 14             	push   0x14(%ebp)
5693ba:	ff 75 08             	push   0x8(%ebp)
5693bd:	e8 6e f8 fc ff       	call   0x538c30
5693c2:	56                   	push   %esi
5693c3:	57                   	push   %edi
5693c4:	e8 97 13 fe ff       	call   0x54a760
5693c9:	ff 75 f4             	push   -0xc(%ebp)
5693cc:	ff 75 d4             	push   -0x2c(%ebp)
5693cf:	ff 75 08             	push   0x8(%ebp)
5693d2:	e8 c9 a8 f8 ff       	call   0x4f3ca0
5693d7:	8b 75 0c             	mov    0xc(%ebp),%esi
5693da:	83 c4 44             	add    $0x44,%esp
5693dd:	eb 2c                	jmp    0x56940b
5693df:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
5693e3:	75 14                	jne    0x5693f9
5693e5:	8b 45 f0             	mov    -0x10(%ebp),%eax
5693e8:	f6 40 18 08          	testb  $0x8,0x18(%eax)
5693ec:	75 0b                	jne    0x5693f9
5693ee:	ff 75 f4             	push   -0xc(%ebp)
5693f1:	8d 43 01             	lea    0x1(%ebx),%eax
5693f4:	50                   	push   %eax
5693f5:	6a 78                	push   $0x78
5693f7:	eb 06                	jmp    0x5693ff
5693f9:	ff 75 f4             	push   -0xc(%ebp)
5693fc:	53                   	push   %ebx
5693fd:	6a 7f                	push   $0x7f
5693ff:	57                   	push   %edi
569400:	e8 db 86 fd ff       	call   0x541ae0
569405:	89 45 10             	mov    %eax,0x10(%ebp)
569408:	83 c4 10             	add    $0x10,%esp
56940b:	6a 01                	push   $0x1
56940d:	ff 75 ec             	push   -0x14(%ebp)
569410:	53                   	push   %ebx
569411:	6a 7e                	push   $0x7e
569413:	57                   	push   %edi
569414:	e8 27 87 fd ff       	call   0x541b40
569419:	8b 45 f0             	mov    -0x10(%ebp),%eax
56941c:	83 c4 14             	add    $0x14,%esp
56941f:	f6 40 18 04          	testb  $0x4,0x18(%eax)
569423:	74 1b                	je     0x569440
569425:	8d 43 01             	lea    0x1(%ebx),%eax
569428:	50                   	push   %eax
569429:	68 81 00 00 00       	push   $0x81
56942e:	57                   	push   %edi
56942f:	e8 4c 86 fd ff       	call   0x541a80
569434:	83 c4 0c             	add    $0xc,%esp
569437:	c7 45 e4 39 00 00 00 	movl   $0x39,-0x1c(%ebp)
56943e:	eb 07                	jmp    0x569447
569440:	c7 45 e4 29 00 00 00 	movl   $0x29,-0x1c(%ebp)
569447:	6a fa                	push   $0xfffffffa
569449:	56                   	push   %esi
56944a:	ff 75 f4             	push   -0xc(%ebp)
56944d:	8d 43 01             	lea    0x1(%ebx),%eax
569450:	ff 75 ec             	push   -0x14(%ebp)
569453:	50                   	push   %eax
569454:	6a 79                	push   $0x79
569456:	57                   	push   %edi
569457:	e8 34 87 fd ff       	call   0x541b90
56945c:	ff 75 e4             	push   -0x1c(%ebp)
56945f:	57                   	push   %edi
569460:	e8 cb 8b fd ff       	call   0x542030
569465:	ff 75 10             	push   0x10(%ebp)
569468:	53                   	push   %ebx
569469:	6a 05                	push   $0x5
56946b:	57                   	push   %edi
56946c:	e8 6f 86 fd ff       	call   0x541ae0
569471:	6a 00                	push   $0x0
569473:	53                   	push   %ebx
569474:	6a 74                	push   $0x74
569476:	57                   	push   %edi
569477:	e8 64 86 fd ff       	call   0x541ae0
56947c:	83 c4 44             	add    $0x44,%esp
56947f:	8d 43 01             	lea    0x1(%ebx),%eax
569482:	6a 00                	push   $0x0
569484:	50                   	push   %eax
569485:	6a 74                	push   $0x74
569487:	57                   	push   %edi
569488:	e8 53 86 fd ff       	call   0x541ae0
56948d:	83 c4 10             	add    $0x10,%esp
569490:	eb 29                	jmp    0x5694bb
569492:	ff 36                	push   (%esi)
569494:	8b 5d 08             	mov    0x8(%ebp),%ebx
569497:	6a 01                	push   $0x1
569499:	ff 76 1c             	push   0x1c(%esi)
56949c:	ff 75 18             	push   0x18(%ebp)
56949f:	53                   	push   %ebx
5694a0:	e8 2b 4a fd ff       	call   0x53ded0
5694a5:	8b 45 fc             	mov    -0x4(%ebp),%eax
5694a8:	ff 30                	push   (%eax)
5694aa:	6a 00                	push   $0x0
5694ac:	ff 70 1c             	push   0x1c(%eax)
5694af:	ff 75 e0             	push   -0x20(%ebp)
5694b2:	53                   	push   %ebx
5694b3:	e8 18 4a fd ff       	call   0x53ded0
5694b8:	83 c4 28             	add    $0x28,%esp
5694bb:	8b 5e 08             	mov    0x8(%esi),%ebx
5694be:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
5694c1:	85 db                	test   %ebx,%ebx
5694c3:	0f 84 69 01 00 00    	je     0x569632
5694c9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5694d0:	8b 75 fc             	mov    -0x4(%ebp),%esi
5694d3:	32 c0                	xor    %al,%al
5694d5:	88 45 13             	mov    %al,0x13(%ebp)
5694d8:	8b 76 08             	mov    0x8(%esi),%esi
5694db:	85 f6                	test   %esi,%esi
5694dd:	74 16                	je     0x5694f5
5694df:	90                   	nop
5694e0:	56                   	push   %esi
5694e1:	53                   	push   %ebx
5694e2:	e8 89 f9 ff ff       	call   0x568e70
5694e7:	83 c4 08             	add    $0x8,%esp
5694ea:	85 c0                	test   %eax,%eax
5694ec:	75 07                	jne    0x5694f5
5694ee:	8b 76 14             	mov    0x14(%esi),%esi
5694f1:	85 f6                	test   %esi,%esi
5694f3:	75 eb                	jne    0x5694e0
5694f5:	ff 75 e0             	push   -0x20(%ebp)
5694f8:	ff 76 2c             	push   0x2c(%esi)
5694fb:	ff 75 e8             	push   -0x18(%ebp)
5694fe:	6a 60                	push   $0x60
569500:	57                   	push   %edi
569501:	e8 3a 86 fd ff       	call   0x541b40
569506:	56                   	push   %esi
569507:	ff 75 08             	push   0x8(%ebp)
56950a:	e8 41 3b fe ff       	call   0x54d050
56950f:	ff 75 18             	push   0x18(%ebp)
569512:	ff 73 2c             	push   0x2c(%ebx)
569515:	ff 75 f8             	push   -0x8(%ebp)
569518:	6a 61                	push   $0x61
56951a:	57                   	push   %edi
56951b:	e8 20 86 fd ff       	call   0x541b40
569520:	53                   	push   %ebx
569521:	ff 75 08             	push   0x8(%ebp)
569524:	e8 27 3b fe ff       	call   0x54d050
569529:	6a 01                	push   $0x1
56952b:	57                   	push   %edi
56952c:	e8 ff 8a fd ff       	call   0x542030
569531:	83 c4 40             	add    $0x40,%esp
569534:	6a 00                	push   $0x0
569536:	ff 75 e8             	push   -0x18(%ebp)
569539:	6a 25                	push   $0x25
56953b:	57                   	push   %edi
56953c:	e8 9f 85 fd ff       	call   0x541ae0
569541:	6a 01                	push   $0x1
569543:	ff 75 ec             	push   -0x14(%ebp)
569546:	89 45 d4             	mov    %eax,-0x2c(%ebp)
569549:	ff 75 e8             	push   -0x18(%ebp)
56954c:	6a 7e                	push   $0x7e
56954e:	57                   	push   %edi
56954f:	e8 ec 85 fd ff       	call   0x541b40
569554:	8b 45 f0             	mov    -0x10(%ebp),%eax
569557:	83 c4 24             	add    $0x24,%esp
56955a:	f6 40 18 04          	testb  $0x4,0x18(%eax)
56955e:	74 52                	je     0x5695b2
569560:	0f b7 46 34          	movzwl 0x34(%esi),%eax
569564:	33 db                	xor    %ebx,%ebx
569566:	89 45 d8             	mov    %eax,-0x28(%ebp)
569569:	85 c0                	test   %eax,%eax
56956b:	74 26                	je     0x569593
56956d:	8b 76 20             	mov    0x20(%esi),%esi
569570:	8b f8                	mov    %eax,%edi
569572:	ff 36                	push   (%esi)
569574:	68 40 1c 6b 00       	push   $0x6b1c40
569579:	e8 02 64 f7 ff       	call   0x4df980
56957e:	83 c4 08             	add    $0x8,%esp
569581:	85 c0                	test   %eax,%eax
569583:	75 08                	jne    0x56958d
569585:	43                   	inc    %ebx
569586:	83 c6 04             	add    $0x4,%esi
569589:	3b df                	cmp    %edi,%ebx
56958b:	7c e5                	jl     0x569572
56958d:	8b 7d cc             	mov    -0x34(%ebp),%edi
569590:	8b 45 d8             	mov    -0x28(%ebp),%eax
569593:	8b 75 f8             	mov    -0x8(%ebp),%esi
569596:	3b d8                	cmp    %eax,%ebx
569598:	75 13                	jne    0x5695ad
56959a:	56                   	push   %esi
56959b:	68 81 00 00 00       	push   $0x81
5695a0:	57                   	push   %edi
5695a1:	c6 45 13 10          	movb   $0x10,0x13(%ebp)
5695a5:	e8 d6 84 fd ff       	call   0x541a80
5695aa:	83 c4 0c             	add    $0xc,%esp
5695ad:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
5695b0:	eb 03                	jmp    0x5695b5
5695b2:	8b 75 f8             	mov    -0x8(%ebp),%esi
5695b5:	8b 45 fc             	mov    -0x4(%ebp),%eax
5695b8:	f6 40 24 80          	testb  $0x80,0x24(%eax)
5695bc:	74 0d                	je     0x5695cb
5695be:	8b 43 38             	mov    0x38(%ebx),%eax
5695c1:	24 03                	and    $0x3,%al
5695c3:	3c 02                	cmp    $0x2,%al
5695c5:	75 04                	jne    0x5695cb
5695c7:	80 4d 13 01          	orb    $0x1,0x13(%ebp)
5695cb:	ff 75 ec             	push   -0x14(%ebp)
5695ce:	56                   	push   %esi
5695cf:	68 83 00 00 00       	push   $0x83
5695d4:	57                   	push   %edi
5695d5:	e8 06 85 fd ff       	call   0x541ae0
5695da:	8a 45 13             	mov    0x13(%ebp),%al
5695dd:	0c 08                	or     $0x8,%al
5695df:	0f b6 c0             	movzbl %al,%eax
5695e2:	50                   	push   %eax
5695e3:	57                   	push   %edi
5695e4:	e8 47 8a fd ff       	call   0x542030
5695e9:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5695ec:	8b 75 e8             	mov    -0x18(%ebp),%esi
5695ef:	40                   	inc    %eax
5695f0:	50                   	push   %eax
5695f1:	56                   	push   %esi
5695f2:	6a 05                	push   $0x5
5695f4:	57                   	push   %edi
5695f5:	e8 e6 84 fd ff       	call   0x541ae0
5695fa:	ff 75 d4             	push   -0x2c(%ebp)
5695fd:	57                   	push   %edi
5695fe:	e8 5d 11 fe ff       	call   0x54a760
569603:	6a 00                	push   $0x0
569605:	56                   	push   %esi
569606:	6a 74                	push   $0x74
569608:	57                   	push   %edi
569609:	e8 d2 84 fd ff       	call   0x541ae0
56960e:	8b 75 f8             	mov    -0x8(%ebp),%esi
569611:	83 c4 40             	add    $0x40,%esp
569614:	6a 00                	push   $0x0
569616:	56                   	push   %esi
569617:	6a 74                	push   $0x74
569619:	57                   	push   %edi
56961a:	e8 c1 84 fd ff       	call   0x541ae0