5472e4:	68 34 8a 6b 00       	push   $0x6b8a34
5472e9:	57                   	push   %edi
5472ea:	e8 51 9c fe ff       	call   0x530f40
5472ef:	8b f0                	mov    %eax,%esi
5472f1:	83 c4 14             	add    $0x14,%esp
5472f4:	85 f6                	test   %esi,%esi
5472f6:	0f 84 bf 1b 00 00    	je     0x548ebb
5472fc:	6a 00                	push   $0x0
5472fe:	8d 45 80             	lea    -0x80(%ebp),%eax
547301:	c6 87 a5 00 00 00 01 	movb   $0x1,0xa5(%edi)
547308:	50                   	push   %eax
547309:	68 f0 e1 52 00       	push   $0x52e1f0
54730e:	56                   	push   %esi
54730f:	57                   	push   %edi
547310:	c7 45 8c 00 00 00 00 	movl   $0x0,-0x74(%ebp)
547317:	c7 45 94 00 00 00 00 	movl   $0x0,-0x6c(%ebp)
54731e:	e8 ad e3 f9 ff       	call   0x4e56d0
547323:	83 c4 14             	add    $0x14,%esp
547326:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
54732c:	85 c0                	test   %eax,%eax
54732e:	75 25                	jne    0x547355
547330:	8b 45 8c             	mov    -0x74(%ebp),%eax
547333:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
547339:	85 c0                	test   %eax,%eax
54733b:	75 18                	jne    0x547355
54733d:	39 45 94             	cmp    %eax,-0x6c(%ebp)
547340:	75 13                	jne    0x547355
547342:	68 44 63 01 00       	push   $0x16344
547347:	e8 64 8a fd ff       	call   0x51fdb0
54734c:	83 c4 04             	add    $0x4,%esp
54734f:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
547355:	56                   	push   %esi
547356:	57                   	push   %edi
547357:	e8 14 a0 fd ff       	call   0x521370
54735c:	8b 85 94 fe ff ff    	mov    -0x16c(%ebp),%eax
547362:	83 c4 08             	add    $0x8,%esp
547365:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
54736b:	c6 87 a5 00 00 00 00 	movb   $0x0,0xa5(%edi)
547372:	85 c0                	test   %eax,%eax
547374:	0f 85 4b 1b 00 00    	jne    0x548ec5
54737a:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
547380:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
547386:	83 c6 14             	add    $0x14,%esi
547389:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
54738f:	e9 20 b5 ff ff       	jmp    0x5428b4
547394:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
54739a:	ff 72 04             	push   0x4(%edx)
54739d:	57                   	push   %edi
54739e:	e8 8d 18 fd ff       	call   0x518c30
5473a3:	83 c4 08             	add    $0x8,%esp
5473a6:	e9 58 c5 ff ff       	jmp    0x543903
5473ab:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
5473b1:	ff 72 10             	push   0x10(%edx)
5473b4:	ff 72 04             	push   0x4(%edx)
5473b7:	57                   	push   %edi
5473b8:	e8 43 77 ff ff       	call   0x53eb00
5473bd:	83 c4 0c             	add    $0xc,%esp
5473c0:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
5473c6:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
5473cc:	83 c6 14             	add    $0x14,%esi
5473cf:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
5473d5:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
5473db:	e9 d4 b4 ff ff       	jmp    0x5428b4
5473e0:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
5473e6:	ff 72 10             	push   0x10(%edx)
5473e9:	ff 72 04             	push   0x4(%edx)
5473ec:	57                   	push   %edi
5473ed:	e8 6e 76 ff ff       	call   0x53ea60
5473f2:	83 c4 0c             	add    $0xc,%esp
5473f5:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
5473fb:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
547401:	83 c6 14             	add    $0x14,%esi
547404:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
54740a:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
547410:	e9 9f b4 ff ff       	jmp    0x5428b4
547415:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
54741b:	ff 72 10             	push   0x10(%edx)
54741e:	ff 72 04             	push   0x4(%edx)
547421:	57                   	push   %edi
547422:	e8 49 77 ff ff       	call   0x53eb70
547427:	83 c4 0c             	add    $0xc,%esp
54742a:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
547430:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
547436:	83 c6 14             	add    $0x14,%esi
547439:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
54743f:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
547445:	e9 6a b4 ff ff       	jmp    0x5428b4
54744a:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
547450:	8b 9d 8c fe ff ff    	mov    -0x174(%ebp),%ebx
547456:	8b 42 0c             	mov    0xc(%edx),%eax
547459:	8b 4a 10             	mov    0x10(%edx),%ecx
54745c:	8d 34 80             	lea    (%eax,%eax,4),%esi
54745f:	8b 42 04             	mov    0x4(%edx),%eax
547462:	8d 04 80             	lea    (%eax,%eax,4),%eax
547465:	8d 1c c3             	lea    (%ebx,%eax,8),%ebx
547468:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
54746e:	50                   	push   %eax
54746f:	8b 85 8c fe ff ff    	mov    -0x174(%ebp),%eax
547475:	8b 04 f0             	mov    (%eax,%esi,8),%eax
547478:	40                   	inc    %eax
547479:	50                   	push   %eax
54747a:	ff 72 08             	push   0x8(%edx)
54747d:	8d 41 04             	lea    0x4(%ecx),%eax
547480:	0f b7 4a 02          	movzwl 0x2(%edx),%ecx
547484:	50                   	push   %eax
547485:	8b 47 10             	mov    0x10(%edi),%eax
547488:	03 c9                	add    %ecx,%ecx
54748a:	ff 74 c8 04          	push   0x4(%eax,%ecx,8)
54748e:	57                   	push   %edi
54748f:	e8 3c 4c fd ff       	call   0x51c0d0
547494:	53                   	push   %ebx
547495:	89 85 78 fe ff ff    	mov    %eax,-0x188(%ebp)
54749b:	e8 b0 45 00 00       	call   0x54ba50
5474a0:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
5474a6:	83 c4 1c             	add    $0x1c,%esp
5474a9:	85 c0                	test   %eax,%eax
5474ab:	74 38                	je     0x5474e5
5474ad:	8b 8d 78 fe ff ff    	mov    -0x188(%ebp),%ecx
5474b3:	85 c9                	test   %ecx,%ecx
5474b5:	0f 84 19 1b 00 00    	je     0x548fd4
5474bb:	8b bd 8c fe ff ff    	mov    -0x174(%ebp),%edi
5474c1:	48                   	dec    %eax
5474c2:	68 90 ad 4e 00       	push   $0x4ead90
5474c7:	99                   	cltd
5474c8:	6a 01                	push   $0x1
5474ca:	29 04 f7             	sub    %eax,(%edi,%esi,8)
5474cd:	8b c7                	mov    %edi,%eax
5474cf:	6a ff                	push   $0xffffffff
5474d1:	51                   	push   %ecx
5474d2:	53                   	push   %ebx
5474d3:	19 54 f0 04          	sbb    %edx,0x4(%eax,%esi,8)
5474d7:	e8 04 46 00 00       	call   0x54bae0
5474dc:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
5474e2:	83 c4 14             	add    $0x14,%esp
5474e5:	0f b6 85 60 fe ff ff 	movzbl -0x1a0(%ebp),%eax
5474ec:	50                   	push   %eax
5474ed:	53                   	push   %ebx
5474ee:	e8 cd a9 ff ff       	call   0x541ec0
5474f3:	83 c4 08             	add    $0x8,%esp
5474f6:	e9 04 da ff ff       	jmp    0x544eff
5474fb:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
547501:	8b 8d 8c fe ff ff    	mov    -0x174(%ebp),%ecx
547507:	8b 42 04             	mov    0x4(%edx),%eax
54750a:	8d 04 80             	lea    (%eax,%eax,4),%eax
54750d:	f6 44 c1 08 10       	testb  $0x10,0x8(%ecx,%eax,8)
547512:	8d 34 c1             	lea    (%ecx,%eax,8),%esi
547515:	8b 42 08             	mov    0x8(%edx),%eax
547518:	8d 1c 80             	lea    (%eax,%eax,4),%ebx
54751b:	75 11                	jne    0x54752e
54751d:	56                   	push   %esi
54751e:	e8 5d 45 00 00       	call   0x54ba80
547523:	83 c4 04             	add    $0x4,%esp
547526:	85 c0                	test   %eax,%eax
547528:	0f 85 a6 1a 00 00    	jne    0x548fd4
54752e:	8b bd 8c fe ff ff    	mov    -0x174(%ebp),%edi
547534:	ff 74 df 04          	push   0x4(%edi,%ebx,8)
547538:	ff 34 df             	push   (%edi,%ebx,8)
54753b:	ff 76 10             	push   0x10(%esi)
54753e:	e8 5d 14 ff ff       	call   0x5389a0
547543:	83 c4 0c             	add    $0xc,%esp
547546:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
54754c:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
547552:	83 c6 14             	add    $0x14,%esi
547555:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
54755b:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
547561:	e9 4e b3 ff ff       	jmp    0x5428b4
547566:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
54756c:	8b 9d 8c fe ff ff    	mov    -0x174(%ebp),%ebx
547572:	8b 42 04             	mov    0x4(%edx),%eax
547575:	8d 04 80             	lea    (%eax,%eax,4),%eax
547578:	f6 44 c3 08 10       	testb  $0x10,0x8(%ebx,%eax,8)
54757d:	8d 34 c3             	lea    (%ebx,%eax,8),%esi
547580:	74 3f                	je     0x5475c1
547582:	8d 85 b8 fd ff ff    	lea    -0x248(%ebp),%eax
547588:	50                   	push   %eax
547589:	ff 76 10             	push   0x10(%esi)
54758c:	e8 af 14 ff ff       	call   0x538a40
547591:	83 c4 08             	add    $0x8,%esp
547594:	85 c0                	test   %eax,%eax
547596:	74 29                	je     0x5475c1
547598:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
54759e:	ff b5 bc fd ff ff    	push   -0x244(%ebp)
5475a4:	ff b5 b8 fd ff ff    	push   -0x248(%ebp)
5475aa:	8b 40 0c             	mov    0xc(%eax),%eax
5475ad:	8d 04 80             	lea    (%eax,%eax,4),%eax
5475b0:	8d 04 c3             	lea    (%ebx,%eax,8),%eax
5475b3:	50                   	push   %eax
5475b4:	e8 57 44 00 00       	call   0x54ba10
5475b9:	83 c4 0c             	add    $0xc,%esp
5475bc:	e9 3e d9 ff ff       	jmp    0x544eff
5475c1:	56                   	push   %esi
5475c2:	e8 89 44 00 00       	call   0x54ba50
5475c7:	83 c4 04             	add    $0x4,%esp
5475ca:	e9 8f 11 00 00       	jmp    0x54875e
5475cf:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
5475d5:	8b 8d 8c fe ff ff    	mov    -0x174(%ebp),%ecx
5475db:	8b 42 04             	mov    0x4(%edx),%eax
5475de:	8d 04 80             	lea    (%eax,%eax,4),%eax
5475e1:	f6 44 c1 08 10       	testb  $0x10,0x8(%ecx,%eax,8)
5475e6:	8d 34 c1             	lea    (%ecx,%eax,8),%esi
5475e9:	8b 42 0c             	mov    0xc(%edx),%eax
5475ec:	8d 1c 80             	lea    (%eax,%eax,4),%ebx
5475ef:	8b 42 10             	mov    0x10(%edx),%eax
5475f2:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
5475f8:	75 17                	jne    0x547611
5475fa:	56                   	push   %esi
5475fb:	e8 80 44 00 00       	call   0x54ba80
547600:	83 c4 04             	add    $0x4,%esp
547603:	85 c0                	test   %eax,%eax
547605:	0f 85 c9 19 00 00    	jne    0x548fd4
54760b:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
547611:	8b bd 8c fe ff ff    	mov    -0x174(%ebp),%edi
547617:	85 c0                	test   %eax,%eax
547619:	74 23                	je     0x54763e
54761b:	ff 74 df 04          	push   0x4(%edi,%ebx,8)
54761f:	ff 34 df             	push   (%edi,%ebx,8)
547622:	50                   	push   %eax
547623:	ff 76 10             	push   0x10(%esi)
547626:	e8 75 14 ff ff       	call   0x538aa0
54762b:	83 c4 10             	add    $0x10,%esp
54762e:	85 c0                	test   %eax,%eax
547630:	0f 85 6b 0f 00 00    	jne    0x5485a1
547636:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
54763c:	85 c0                	test   %eax,%eax
54763e:	0f 88 22 b5 ff ff    	js     0x542b66
547644:	e9 eb fe ff ff       	jmp    0x547534
547649:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
54764f:	8b 8d 8c fe ff ff    	mov    -0x174(%ebp),%ecx
547655:	8b 42 0c             	mov    0xc(%edx),%eax
547658:	8b 72 10             	mov    0x10(%edx),%esi
54765b:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
547661:	8d 04 80             	lea    (%eax,%eax,4),%eax
547664:	8d 0c c1             	lea    (%ecx,%eax,8),%ecx
547667:	8b c2                	mov    %edx,%eax
547669:	8b 95 9c fe ff ff    	mov    -0x164(%ebp),%edx
54766f:	89 8d 88 fe ff ff    	mov    %ecx,-0x178(%ebp)
547675:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
54767a:	74 2a                	je     0x5476a6
54767c:	8b 82 c8 00 00 00    	mov    0xc8(%edx),%eax
547682:	8b 4e 14             	mov    0x14(%esi),%ecx
547685:	85 c0                	test   %eax,%eax
547687:	74 17                	je     0x5476a0
547689:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
547690:	39 48 1c             	cmp    %ecx,0x1c(%eax)
547693:	0f 84 cc 15 00 00    	je     0x548c65
547699:	8b 40 04             	mov    0x4(%eax),%eax
54769c:	85 c0                	test   %eax,%eax
54769e:	75 f0                	jne    0x547690
5476a0:	8b 8d 88 fe ff ff    	mov    -0x178(%ebp),%ecx
5476a6:	8b 82 d0 00 00 00    	mov    0xd0(%edx),%eax
5476ac:	3b 87 94 00 00 00    	cmp    0x94(%edi),%eax
5476b2:	0f 8d 33 18 00 00    	jge    0x548eeb
5476b8:	f6 41 08 10          	testb  $0x10,0x8(%ecx)
5476bc:	0f 85 c9 01 00 00    	jne    0x54788b
5476c2:	8b 4e 0c             	mov    0xc(%esi),%ecx
5476c5:	8b 46 08             	mov    0x8(%esi),%eax
5476c8:	03 c1                	add    %ecx,%eax
5476ca:	85 c9                	test   %ecx,%ecx
5476cc:	8d 70 01             	lea    0x1(%eax),%esi
5476cf:	0f 45 f0             	cmovne %eax,%esi
5476d2:	8d 46 02             	lea    0x2(%esi),%eax
5476d5:	8d 04 80             	lea    (%eax,%eax,4),%eax
5476d8:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
5476db:	8b 85 5c fe ff ff    	mov    -0x1a4(%ebp),%eax
5476e1:	8b 40 04             	mov    0x4(%eax),%eax
5476e4:	83 c0 07             	add    $0x7,%eax
5476e7:	8b c0                	mov    %eax,%eax
5476e9:	85 c0                	test   %eax,%eax
5476eb:	79 03                	jns    0x5476f0
5476ed:	83 c0 07             	add    $0x7,%eax
5476f0:	c1 f8 03             	sar    $0x3,%eax
5476f3:	8d 04 88             	lea    (%eax,%ecx,4),%eax
5476f6:	89 85 78 fe ff ff    	mov    %eax,-0x188(%ebp)
5476fc:	99                   	cltd
5476fd:	52                   	push   %edx
5476fe:	50                   	push   %eax
5476ff:	57                   	push   %edi
547700:	e8 1b 9e fd ff       	call   0x521520
547705:	8b d8                	mov    %eax,%ebx
547707:	83 c4 0c             	add    $0xc,%esp
54770a:	85 db                	test   %ebx,%ebx
54770c:	0f 84 c2 18 00 00    	je     0x548fd4
547712:	ff b5 88 fe ff ff    	push   -0x178(%ebp)
547718:	e8 53 42 00 00       	call   0x54b970
54771d:	8b 8d 88 fe ff ff    	mov    -0x178(%ebp),%ecx
547723:	b8 10 04 00 00       	mov    $0x410,%eax
547728:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
54772e:	83 c4 04             	add    $0x4,%esp
547731:	2b 95 64 fe ff ff    	sub    -0x19c(%ebp),%edx
547737:	66 89 41 08          	mov    %ax,0x8(%ecx)
54773b:	8b 85 78 fe ff ff    	mov    -0x188(%ebp),%eax
547741:	89 41 0c             	mov    %eax,0xc(%ecx)
547744:	8b 85 9c fe ff ff    	mov    -0x164(%ebp),%eax
54774a:	89 59 10             	mov    %ebx,0x10(%ecx)
54774d:	c7 41 24 e0 9e 54 00 	movl   $0x549ee0,0x24(%ecx)
547754:	8b 8d 5c fe ff ff    	mov    -0x1a4(%ebp),%ecx
54775a:	89 03                	mov    %eax,(%ebx)
54775c:	89 73 3c             	mov    %esi,0x3c(%ebx)
54775f:	8b 41 0c             	mov    0xc(%ecx),%eax
547762:	89 43 40             	mov    %eax,0x40(%ebx)
547765:	b8 67 66 66 66       	mov    $0x66666667,%eax
54776a:	f7 ea                	imul   %edx
54776c:	c1 fa 03             	sar    $0x3,%edx
54776f:	8b c2                	mov    %edx,%eax
547771:	c1 e8 1f             	shr    $0x1f,%eax
547774:	03 c2                	add    %edx,%eax
547776:	8b 95 9c fe ff ff    	mov    -0x164(%ebp),%edx
54777c:	89 43 30             	mov    %eax,0x30(%ebx)
54777f:	8b 42 58             	mov    0x58(%edx),%eax
547782:	89 43 10             	mov    %eax,0x10(%ebx)
547785:	8b 42 18             	mov    0x18(%edx),%eax
547788:	89 43 38             	mov    %eax,0x38(%ebx)
54778b:	8b 42 60             	mov    0x60(%edx),%eax
54778e:	89 43 14             	mov    %eax,0x14(%ebx)
547791:	8b 42 1c             	mov    0x1c(%edx),%eax
547794:	89 43 2c             	mov    %eax,0x2c(%ebx)
547797:	8b 42 68             	mov    0x68(%edx),%eax
54779a:	89 43 08             	mov    %eax,0x8(%ebx)
54779d:	8b 42 6c             	mov    0x6c(%edx),%eax
5477a0:	89 43 34             	mov    %eax,0x34(%ebx)
5477a3:	8b 41 14             	mov    0x14(%ecx),%eax
5477a6:	89 43 1c             	mov    %eax,0x1c(%ebx)
5477a9:	8d 46 02             	lea    0x2(%esi),%eax
5477ac:	8d 04 80             	lea    (%eax,%eax,4),%eax
5477af:	8d 0c c3             	lea    (%ebx,%eax,8),%ecx
5477b2:	8d 43 50             	lea    0x50(%ebx),%eax
5477b5:	3b c1                	cmp    %ecx,%eax
5477b7:	74 15                	je     0x5477ce
5477b9:	be 80 00 00 00       	mov    $0x80,%esi
5477be:	66 90                	xchg   %ax,%ax
5477c0:	66 89 70 08          	mov    %si,0x8(%eax)
5477c4:	89 78 20             	mov    %edi,0x20(%eax)
5477c7:	83 c0 28             	add    $0x28,%eax
5477ca:	3b c1                	cmp    %ecx,%eax
5477cc:	75 f2                	jne    0x5477c0
5477ce:	8b b5 5c fe ff ff    	mov    -0x1a4(%ebp),%esi
5477d4:	ff 82 d0 00 00 00    	incl   0xd0(%edx)
5477da:	8d 4b 50             	lea    0x50(%ebx),%ecx
5477dd:	8b 82 c8 00 00 00    	mov    0xc8(%edx),%eax
5477e3:	89 43 04             	mov    %eax,0x4(%ebx)
5477e6:	8b 47 28             	mov    0x28(%edi),%eax
5477e9:	89 43 20             	mov    %eax,0x20(%ebx)
5477ec:	8b 47 2c             	mov    0x2c(%edi),%eax
5477ef:	89 43 24             	mov    %eax,0x24(%ebx)
5477f2:	8b 42 2c             	mov    0x2c(%edx),%eax
5477f5:	89 43 44             	mov    %eax,0x44(%ebx)
5477f8:	8b 02                	mov    (%edx),%eax
5477fa:	89 8d 8c fe ff ff    	mov    %ecx,-0x174(%ebp)
547800:	8b 40 64             	mov    0x64(%eax),%eax
547803:	89 43 48             	mov    %eax,0x48(%ebx)