554576:	5f                   	pop    %edi
554577:	5e                   	pop    %esi
554578:	5b                   	pop    %ebx
554579:	8b e5                	mov    %ebp,%esp
55457b:	5d                   	pop    %ebp
55457c:	c3                   	ret
55457d:	8d 41 01             	lea    0x1(%ecx),%eax
554580:	89 46 6c             	mov    %eax,0x6c(%esi)
554583:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
554586:	8b 46 68             	mov    0x68(%esi),%eax
554589:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
55458d:	5f                   	pop    %edi
55458e:	5e                   	pop    %esi
55458f:	c7 04 88 62 00 00 00 	movl   $0x62,(%eax,%ecx,4)
554596:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
55459a:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
5545a1:	00
5545a2:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5545a9:	00
5545aa:	5b                   	pop    %ebx
5545ab:	8b e5                	mov    %ebp,%esp
5545ad:	5d                   	pop    %ebp
5545ae:	c3                   	ret
5545af:	90                   	nop
5545b0:	8b 47 2c             	mov    0x2c(%edi),%eax
5545b3:	f7 40 04 00 10 00 00 	testl  $0x1000,0x4(%eax)
5545ba:	0f 84 0d 01 00 00    	je     0x5546cd
5545c0:	80 7f 11 5a          	cmpb   $0x5a,0x11(%edi)
5545c4:	0f 84 03 01 00 00    	je     0x5546cd
5545ca:	8b 47 48             	mov    0x48(%edi),%eax
5545cd:	6a 00                	push   $0x0
5545cf:	6a 00                	push   $0x0
5545d1:	ff 70 14             	push   0x14(%eax)
5545d4:	53                   	push   %ebx
5545d5:	e8 96 b6 fd ff       	call   0x52fc70
5545da:	8b 4b 28             	mov    0x28(%ebx),%ecx
5545dd:	8b d0                	mov    %eax,%edx
5545df:	89 4f 3c             	mov    %ecx,0x3c(%edi)
5545e2:	83 c4 10             	add    $0x10,%esp
5545e5:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
5545e8:	ff 43 28             	incl   0x28(%ebx)
5545eb:	41                   	inc    %ecx
5545ec:	89 4f 40             	mov    %ecx,0x40(%edi)
5545ef:	83 43 2c 03          	addl   $0x3,0x2c(%ebx)
5545f3:	89 55 fc             	mov    %edx,-0x4(%ebp)
5545f6:	85 d2                	test   %edx,%edx
5545f8:	74 12                	je     0x55460c
5545fa:	8b 47 2c             	mov    0x2c(%edi),%eax
5545fd:	8b 40 20             	mov    0x20(%eax),%eax
554600:	80 78 01 69          	cmpb   $0x69,0x1(%eax)
554604:	75 06                	jne    0x55460c
554606:	8b 42 10             	mov    0x10(%edx),%eax
554609:	c6 00 01             	movb   $0x1,(%eax)
55460c:	8b 4e 6c             	mov    0x6c(%esi),%ecx
55460f:	8b 47 3c             	mov    0x3c(%edi),%eax
554612:	89 45 f8             	mov    %eax,-0x8(%ebp)
554615:	39 4e 70             	cmp    %ecx,0x70(%esi)
554618:	7f 15                	jg     0x55462f
55461a:	6a 00                	push   $0x0
55461c:	6a 02                	push   $0x2
55461e:	50                   	push   %eax
55461f:	6a 64                	push   $0x64
554621:	56                   	push   %esi
554622:	e8 d9 1e fb ff       	call   0x506500
554627:	8b 55 fc             	mov    -0x4(%ebp),%edx
55462a:	83 c4 14             	add    $0x14,%esp
55462d:	eb 35                	jmp    0x554664
55462f:	8b 5d f8             	mov    -0x8(%ebp),%ebx
554632:	8d 41 01             	lea    0x1(%ecx),%eax
554635:	89 46 6c             	mov    %eax,0x6c(%esi)
554638:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
55463b:	8b 46 68             	mov    0x68(%esi),%eax
55463e:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
554642:	8b 5d 08             	mov    0x8(%ebp),%ebx
554645:	c7 04 88 64 00 00 00 	movl   $0x64,(%eax,%ecx,4)
55464c:	c7 44 88 08 02 00 00 	movl   $0x2,0x8(%eax,%ecx,4)
554653:	00
554654:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
55465b:	00
55465c:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
554663:	00
554664:	8b 06                	mov    (%esi),%eax
554666:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
55466a:	74 0e                	je     0x55467a
55466c:	52                   	push   %edx
55466d:	6a f7                	push   $0xfffffff7
55466f:	50                   	push   %eax
554670:	e8 3b f6 fa ff       	call   0x503cb0
554675:	83 c4 0c             	add    $0xc,%esp
554678:	eb 12                	jmp    0x55468c
55467a:	8b 46 6c             	mov    0x6c(%esi),%eax
55467d:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
554680:	8b 46 68             	mov    0x68(%esi),%eax
554683:	c6 44 88 ed f7       	movb   $0xf7,-0x13(%eax,%ecx,4)
554688:	89 54 88 fc          	mov    %edx,-0x4(%eax,%ecx,4)
55468c:	8b 57 40             	mov    0x40(%edi),%edx
55468f:	8b 4e 6c             	mov    0x6c(%esi),%ecx
554692:	42                   	inc    %edx
554693:	39 4e 70             	cmp    %ecx,0x70(%esi)
554696:	7f 15                	jg     0x5546ad
554698:	6a 00                	push   $0x0
55469a:	52                   	push   %edx
55469b:	6a 00                	push   $0x0
55469d:	6a 45                	push   $0x45
55469f:	56                   	push   %esi
5546a0:	e8 5b 1e fb ff       	call   0x506500
5546a5:	83 c4 14             	add    $0x14,%esp
5546a8:	e9 ca 00 00 00       	jmp    0x554777
5546ad:	8d 41 01             	lea    0x1(%ecx),%eax
5546b0:	89 46 6c             	mov    %eax,0x6c(%esi)
5546b3:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5546b6:	8b 46 68             	mov    0x68(%esi),%eax
5546b9:	c7 04 88 45 00 00 00 	movl   $0x45,(%eax,%ecx,4)
5546c0:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
5546c7:	00
5546c8:	e9 93 00 00 00       	jmp    0x554760
5546cd:	8b 40 20             	mov    0x20(%eax),%eax
5546d0:	3d 80 27 6b 00       	cmp    $0x6b2780,%eax
5546d5:	74 37                	je     0x55470e
5546d7:	3d 8c 27 6b 00       	cmp    $0x6b278c,%eax
5546dc:	74 30                	je     0x55470e
5546de:	3d 98 27 6b 00       	cmp    $0x6b2798,%eax
5546e3:	74 0b                	je     0x5546f0
5546e5:	3d a0 27 6b 00       	cmp    $0x6b27a0,%eax
5546ea:	0f 85 87 00 00 00    	jne    0x554777
5546f0:	8b 43 28             	mov    0x28(%ebx),%eax
5546f3:	89 47 3c             	mov    %eax,0x3c(%edi)
5546f6:	8b 45 0c             	mov    0xc(%ebp),%eax
5546f9:	ff 43 28             	incl   0x28(%ebx)
5546fc:	ff 30                	push   (%eax)
5546fe:	ff 77 3c             	push   0x3c(%edi)
554701:	6a 62                	push   $0x62
554703:	56                   	push   %esi
554704:	e8 d7 d3 fe ff       	call   0x541ae0
554709:	83 c4 10             	add    $0x10,%esp
55470c:	eb 69                	jmp    0x554777
55470e:	8b 43 2c             	mov    0x2c(%ebx),%eax
554711:	40                   	inc    %eax
554712:	89 47 40             	mov    %eax,0x40(%edi)
554715:	8b 43 28             	mov    0x28(%ebx),%eax
554718:	89 47 3c             	mov    %eax,0x3c(%edi)
55471b:	8b 45 0c             	mov    0xc(%ebp),%eax
55471e:	ff 43 28             	incl   0x28(%ebx)
554721:	83 43 2c 02          	addl   $0x2,0x2c(%ebx)
554725:	8b 4e 6c             	mov    0x6c(%esi),%ecx
554728:	8b 10                	mov    (%eax),%edx
55472a:	8b 47 3c             	mov    0x3c(%edi),%eax
55472d:	89 45 f8             	mov    %eax,-0x8(%ebp)
554730:	39 4e 70             	cmp    %ecx,0x70(%esi)
554733:	7f 11                	jg     0x554746
554735:	6a 00                	push   $0x0
554737:	52                   	push   %edx
554738:	50                   	push   %eax
554739:	6a 62                	push   $0x62
55473b:	56                   	push   %esi
55473c:	e8 bf 1d fb ff       	call   0x506500
554741:	83 c4 14             	add    $0x14,%esp
554744:	eb 31                	jmp    0x554777
554746:	8b 5d f8             	mov    -0x8(%ebp),%ebx
554749:	8d 41 01             	lea    0x1(%ecx),%eax
55474c:	89 46 6c             	mov    %eax,0x6c(%esi)
55474f:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
554752:	8b 46 68             	mov    0x68(%esi),%eax
554755:	c7 04 88 62 00 00 00 	movl   $0x62,(%eax,%ecx,4)
55475c:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
554760:	8b 5d 08             	mov    0x8(%ebp),%ebx
554763:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
55476a:	00
55476b:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
554772:	00
554773:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
554777:	8b 7f 24             	mov    0x24(%edi),%edi
55477a:	85 ff                	test   %edi,%edi
55477c:	0f 85 2e fe ff ff    	jne    0x5545b0
554782:	5f                   	pop    %edi
554783:	5e                   	pop    %esi
554784:	5b                   	pop    %ebx
554785:	8b e5                	mov    %ebp,%esp
554787:	5d                   	pop    %ebp
554788:	c3                   	ret
554789:	cc                   	int3
55478a:	cc                   	int3
55478b:	cc                   	int3
55478c:	cc                   	int3
55478d:	cc                   	int3
55478e:	cc                   	int3
55478f:	cc                   	int3
554790:	55                   	push   %ebp
554791:	8b ec                	mov    %esp,%ebp
554793:	83 ec 70             	sub    $0x70,%esp
554796:	8b 45 0c             	mov    0xc(%ebp),%eax
554799:	53                   	push   %ebx
55479a:	8b 5d 08             	mov    0x8(%ebp),%ebx
55479d:	56                   	push   %esi
55479e:	57                   	push   %edi
55479f:	8b 78 44             	mov    0x44(%eax),%edi
5547a2:	8b 73 08             	mov    0x8(%ebx),%esi
5547a5:	89 7d d4             	mov    %edi,-0x2c(%ebp)
5547a8:	8b 4f 0c             	mov    0xc(%edi),%ecx
5547ab:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5547ae:	85 f6                	test   %esi,%esi
5547b0:	75 1f                	jne    0x5547d1
5547b2:	39 73 74             	cmp    %esi,0x74(%ebx)
5547b5:	75 0c                	jne    0x5547c3
5547b7:	8b 03                	mov    (%ebx),%eax
5547b9:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
5547bd:	75 04                	jne    0x5547c3
5547bf:	c6 43 17 01          	movb   $0x1,0x17(%ebx)
5547c3:	53                   	push   %ebx
5547c4:	e8 47 dc fe ff       	call   0x542410
5547c9:	8b f0                	mov    %eax,%esi
5547cb:	83 c4 04             	add    $0x4,%esp
5547ce:	8b 45 0c             	mov    0xc(%ebp),%eax
5547d1:	8b 40 20             	mov    0x20(%eax),%eax
5547d4:	6a 34                	push   $0x34
5547d6:	6a 00                	push   $0x0
5547d8:	8b 48 34             	mov    0x34(%eax),%ecx
5547db:	8b 40 18             	mov    0x18(%eax),%eax
5547de:	89 4d c8             	mov    %ecx,-0x38(%ebp)
5547e1:	0f bf 40 2a          	movswl 0x2a(%eax),%eax
5547e5:	ff 4b 38             	decl   0x38(%ebx)
5547e8:	89 45 dc             	mov    %eax,-0x24(%ebp)
5547eb:	33 c0                	xor    %eax,%eax
5547ed:	89 45 d0             	mov    %eax,-0x30(%ebp)
5547f0:	89 45 cc             	mov    %eax,-0x34(%ebp)
5547f3:	89 45 f0             	mov    %eax,-0x10(%ebp)
5547f6:	89 45 f8             	mov    %eax,-0x8(%ebp)
5547f9:	89 45 f4             	mov    %eax,-0xc(%ebp)
5547fc:	89 45 0c             	mov    %eax,0xc(%ebp)
5547ff:	89 45 fc             	mov    %eax,-0x4(%ebp)
554802:	8b 43 38             	mov    0x38(%ebx),%eax
554805:	89 45 e8             	mov    %eax,-0x18(%ebp)
554808:	8d 45 90             	lea    -0x70(%ebp),%eax
55480b:	50                   	push   %eax
55480c:	e8 ef f1 08 00       	call   0x5e3a00
554811:	8b 4f 30             	mov    0x30(%edi),%ecx
554814:	83 c4 0c             	add    $0xc,%esp
554817:	8b 45 14             	mov    0x14(%ebp),%eax
55481a:	89 45 a0             	mov    %eax,-0x60(%ebp)
55481d:	8b 45 18             	mov    0x18(%ebp),%eax
554820:	89 45 9c             	mov    %eax,-0x64(%ebp)
554823:	8d 41 01             	lea    0x1(%ecx),%eax
554826:	89 45 18             	mov    %eax,0x18(%ebp)
554829:	8d 41 02             	lea    0x2(%ecx),%eax
55482c:	89 45 ac             	mov    %eax,-0x54(%ebp)
55482f:	8d 41 03             	lea    0x3(%ecx),%eax
554832:	89 45 bc             	mov    %eax,-0x44(%ebp)
554835:	8a 47 11             	mov    0x11(%edi),%al
554838:	89 5d 90             	mov    %ebx,-0x70(%ebp)
55483b:	89 7d 94             	mov    %edi,-0x6c(%ebp)
55483e:	89 75 98             	mov    %esi,-0x68(%ebp)
554841:	89 4d 14             	mov    %ecx,0x14(%ebp)
554844:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
554847:	3c 56                	cmp    $0x56,%al
554849:	74 48                	je     0x554893
55484b:	3c 5a                	cmp    $0x5a,%al
55484d:	74 09                	je     0x554858
55484f:	c7 45 a8 02 00 00 00 	movl   $0x2,-0x58(%ebp)
554856:	eb 5d                	jmp    0x5548b5
554858:	57                   	push   %edi
554859:	e8 a2 22 01 00       	call   0x566b00
55485e:	83 c4 04             	add    $0x4,%esp
554861:	85 c0                	test   %eax,%eax
554863:	75 50                	jne    0x5548b5
554865:	80 7f 12 58          	cmpb   $0x58,0x12(%edi)
554869:	75 1f                	jne    0x55488a
55486b:	80 7f 10 59          	cmpb   $0x59,0x10(%edi)
55486f:	74 44                	je     0x5548b5
554871:	ff 77 1c             	push   0x1c(%edi)
554874:	53                   	push   %ebx
554875:	e8 66 2d 01 00       	call   0x5675e0
55487a:	83 c4 08             	add    $0x8,%esp
55487d:	85 c0                	test   %eax,%eax
55487f:	74 34                	je     0x5548b5
554881:	c7 45 a8 03 00 00 00 	movl   $0x3,-0x58(%ebp)
554888:	eb 2b                	jmp    0x5548b5
55488a:	c7 45 a8 01 00 00 00 	movl   $0x1,-0x58(%ebp)
554891:	eb 22                	jmp    0x5548b5
554893:	80 7f 10 59          	cmpb   $0x59,0x10(%edi)
554897:	74 1c                	je     0x5548b5
554899:	ff 77 18             	push   0x18(%edi)
55489c:	53                   	push   %ebx
55489d:	e8 3e 2d 01 00       	call   0x5675e0
5548a2:	8b 4d a8             	mov    -0x58(%ebp),%ecx
5548a5:	83 c4 08             	add    $0x8,%esp
5548a8:	85 c0                	test   %eax,%eax
5548aa:	b8 01 00 00 00       	mov    $0x1,%eax
5548af:	0f 45 c8             	cmovne %eax,%ecx
5548b2:	89 4d a8             	mov    %ecx,-0x58(%ebp)
5548b5:	8b 43 2c             	mov    0x2c(%ebx),%eax
5548b8:	8b 4d dc             	mov    -0x24(%ebp),%ecx
5548bb:	41                   	inc    %ecx
5548bc:	8d 50 01             	lea    0x1(%eax),%edx
5548bf:	03 c1                	add    %ecx,%eax
5548c1:	89 45 d8             	mov    %eax,-0x28(%ebp)
5548c4:	89 55 e0             	mov    %edx,-0x20(%ebp)
5548c7:	8d 48 01             	lea    0x1(%eax),%ecx
5548ca:	89 4b 2c             	mov    %ecx,0x2c(%ebx)
5548cd:	8a 47 11             	mov    0x11(%edi),%al
5548d0:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5548d3:	3c 58                	cmp    $0x58,%al
5548d5:	74 04                	je     0x5548db
5548d7:	3c 56                	cmp    $0x56,%al
5548d9:	75 09                	jne    0x5548e4
5548db:	8d 41 01             	lea    0x1(%ecx),%eax
5548de:	89 45 0c             	mov    %eax,0xc(%ebp)
5548e1:	89 43 2c             	mov    %eax,0x2c(%ebx)
5548e4:	8a 47 12             	mov    0x12(%edi),%al
5548e7:	3c 58                	cmp    $0x58,%al
5548e9:	74 04                	je     0x5548ef
5548eb:	3c 56                	cmp    $0x56,%al
5548ed:	75 09                	jne    0x5548f8
5548ef:	ff 43 2c             	incl   0x2c(%ebx)
5548f2:	8b 43 2c             	mov    0x2c(%ebx),%eax
5548f5:	89 45 fc             	mov    %eax,-0x4(%ebp)
5548f8:	80 7f 10 4c          	cmpb   $0x4c,0x10(%edi)
5548fc:	74 50                	je     0x55494e
5548fe:	8b 45 ec             	mov    -0x14(%ebp),%eax
554901:	85 c0                	test   %eax,%eax
554903:	74 04                	je     0x554909
554905:	8b 08                	mov    (%eax),%ecx
554907:	eb 02                	jmp    0x55490b
554909:	33 c9                	xor    %ecx,%ecx
55490b:	8b 47 4c             	mov    0x4c(%edi),%eax
55490e:	03 c2                	add    %edx,%eax
554910:	89 45 f0             	mov    %eax,-0x10(%ebp)
554913:	8b 47 08             	mov    0x8(%edi),%eax
554916:	85 c0                	test   %eax,%eax
554918:	74 0b                	je     0x554925
55491a:	8b 7d f0             	mov    -0x10(%ebp),%edi
55491d:	03 38                	add    (%eax),%edi
55491f:	89 7d f0             	mov    %edi,-0x10(%ebp)
554922:	8b 7d d4             	mov    -0x2c(%ebp),%edi
554925:	8b 43 2c             	mov    0x2c(%ebx),%eax
554928:	8d 50 01             	lea    0x1(%eax),%edx
55492b:	03 c1                	add    %ecx,%eax
55492d:	89 55 f8             	mov    %edx,-0x8(%ebp)
554930:	8d 50 01             	lea    0x1(%eax),%edx
554933:	03 c1                	add    %ecx,%eax
554935:	89 55 b0             	mov    %edx,-0x50(%ebp)
554938:	8d 50 01             	lea    0x1(%eax),%edx
55493b:	03 c1                	add    %ecx,%eax
55493d:	89 55 b8             	mov    %edx,-0x48(%ebp)
554940:	8d 50 01             	lea    0x1(%eax),%edx
554943:	03 c1                	add    %ecx,%eax
554945:	89 55 c0             	mov    %edx,-0x40(%ebp)
554948:	8b 55 e0             	mov    -0x20(%ebp),%edx
55494b:	89 43 2c             	mov    %eax,0x2c(%ebx)
55494e:	8b 45 dc             	mov    -0x24(%ebp),%eax
554951:	33 db                	xor    %ebx,%ebx