551333:	c1 ce 0f             	ror    $0xf,%esi
551336:	33 f1                	xor    %ecx,%esi
551338:	33 f2                	xor    %edx,%esi
55133a:	89 74 24 24          	mov    %esi,0x24(%esp)
55133e:	8b 4c 24 60          	mov    0x60(%esp),%ecx
551342:	8d 9e c5 ce 43 3d    	lea    0x3d43cec5(%esi),%ebx
551348:	c1 c1 0f             	rol    $0xf,%ecx
55134b:	8b fd                	mov    %ebp,%edi
55134d:	8b 6c 24 28          	mov    0x28(%esp),%ebp
551351:	33 6c 24 54          	xor    0x54(%esp),%ebp
551355:	89 4c 24 60          	mov    %ecx,0x60(%esp)
551359:	23 ee                	and    %esi,%ebp
55135b:	33 4c 24 2c          	xor    0x2c(%esp),%ecx
55135f:	33 4c 24 74          	xor    0x74(%esp),%ecx
551363:	8b f1                	mov    %ecx,%esi
551365:	33 6c 24 28          	xor    0x28(%esp),%ebp
551369:	c1 c9 09             	ror    $0x9,%ecx
55136c:	c1 c6 0f             	rol    $0xf,%esi
55136f:	33 f1                	xor    %ecx,%esi
551371:	c1 c7 0c             	rol    $0xc,%edi
551374:	8b 4c 24 44          	mov    0x44(%esp),%ecx
551378:	03 df                	add    %edi,%ebx
55137a:	c1 c1 07             	rol    $0x7,%ecx
55137d:	33 f1                	xor    %ecx,%esi
55137f:	c1 c3 07             	rol    $0x7,%ebx
551382:	33 74 24 60          	xor    0x60(%esp),%esi
551386:	03 eb                	add    %ebx,%ebp
551388:	8b 4c 24 10          	mov    0x10(%esp),%ecx
55138c:	33 df                	xor    %edi,%ebx
55138e:	33 74 24 70          	xor    0x70(%esp),%esi
551392:	8b d1                	mov    %ecx,%edx
551394:	23 4c 24 1c          	and    0x1c(%esp),%ecx
551398:	0b 54 24 1c          	or     0x1c(%esp),%edx
55139c:	23 54 24 18          	and    0x18(%esp),%edx
5513a0:	33 74 24 50          	xor    0x50(%esp),%esi
5513a4:	0b d1                	or     %ecx,%edx
5513a6:	03 54 24 14          	add    0x14(%esp),%edx
5513aa:	33 74 24 2c          	xor    0x2c(%esp),%esi
5513ae:	8b 4c 24 7c          	mov    0x7c(%esp),%ecx
5513b2:	33 4c 24 10          	xor    0x10(%esp),%ecx
5513b6:	33 74 24 74          	xor    0x74(%esp),%esi
5513ba:	03 6c 24 70          	add    0x70(%esp),%ebp
5513be:	03 d6                	add    %esi,%edx
5513c0:	03 6c 24 3c          	add    0x3c(%esp),%ebp
5513c4:	03 da                	add    %edx,%ebx
5513c6:	8b 94 24 80 00 00 00 	mov    0x80(%esp),%edx
5513cd:	89 4c 24 7c          	mov    %ecx,0x7c(%esp)
5513d1:	89 48 04             	mov    %ecx,0x4(%eax)
5513d4:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
5513d8:	c1 c1 09             	rol    $0x9,%ecx
5513db:	33 d1                	xor    %ecx,%edx
5513dd:	31 18                	xor    %ebx,(%eax)
5513df:	8b 8c 24 8c 00 00 00 	mov    0x8c(%esp),%ecx
5513e6:	33 4c 24 18          	xor    0x18(%esp),%ecx
5513ea:	89 8c 24 8c 00 00 00 	mov    %ecx,0x8c(%esp)
5513f1:	89 48 0c             	mov    %ecx,0xc(%eax)
5513f4:	8b cd                	mov    %ebp,%ecx
5513f6:	89 94 24 80 00 00 00 	mov    %edx,0x80(%esp)
5513fd:	89 50 08             	mov    %edx,0x8(%eax)
551400:	8b d5                	mov    %ebp,%edx
551402:	c1 c1 09             	rol    $0x9,%ecx
551405:	c1 ca 0f             	ror    $0xf,%edx
551408:	33 d1                	xor    %ecx,%edx
55140a:	8b 8c 24 90 00 00 00 	mov    0x90(%esp),%ecx
551411:	33 4c 24 24          	xor    0x24(%esp),%ecx
551415:	33 94 24 84 00 00 00 	xor    0x84(%esp),%edx
55141c:	33 d5                	xor    %ebp,%edx
55141e:	89 8c 24 90 00 00 00 	mov    %ecx,0x90(%esp)
551425:	89 48 14             	mov    %ecx,0x14(%eax)
551428:	8b fa                	mov    %edx,%edi
55142a:	8b 4c 24 54          	mov    0x54(%esp),%ecx
55142e:	c1 c9 0d             	ror    $0xd,%ecx
551431:	89 94 24 84 00 00 00 	mov    %edx,0x84(%esp)
551438:	8b 94 24 88 00 00 00 	mov    0x88(%esp),%edx
55143f:	33 d1                	xor    %ecx,%edx
551441:	89 78 10             	mov    %edi,0x10(%eax)
551444:	8b 8c 24 94 00 00 00 	mov    0x94(%esp),%ecx
55144b:	33 4c 24 28          	xor    0x28(%esp),%ecx
55144f:	89 8c 24 94 00 00 00 	mov    %ecx,0x94(%esp)
551456:	89 48 1c             	mov    %ecx,0x1c(%eax)
551459:	8b 8c 24 a4 00 00 00 	mov    0xa4(%esp),%ecx
551460:	89 94 24 88 00 00 00 	mov    %edx,0x88(%esp)
551467:	89 50 18             	mov    %edx,0x18(%eax)
55146a:	85 c9                	test   %ecx,%ecx
55146c:	0f 85 6e d6 ff ff    	jne    0x54eae0
551472:	5f                   	pop    %edi
551473:	5e                   	pop    %esi
551474:	5d                   	pop    %ebp
551475:	5b                   	pop    %ebx
551476:	81 c4 88 00 00 00    	add    $0x88,%esp
55147c:	c3                   	ret
55147d:	cc                   	int3
55147e:	cc                   	int3
55147f:	cc                   	int3
551480:	53                   	push   %ebx
551481:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
551485:	56                   	push   %esi
551486:	57                   	push   %edi
551487:	8d 7b 28             	lea    0x28(%ebx),%edi
55148a:	8b 73 68             	mov    0x68(%ebx),%esi
55148d:	c6 04 3e 80          	movb   $0x80,(%esi,%edi,1)
551491:	46                   	inc    %esi
551492:	83 fe 38             	cmp    $0x38,%esi
551495:	76 21                	jbe    0x5514b8
551497:	b8 40 00 00 00       	mov    $0x40,%eax
55149c:	2b c6                	sub    %esi,%eax
55149e:	50                   	push   %eax
55149f:	8d 04 3e             	lea    (%esi,%edi,1),%eax
5514a2:	6a 00                	push   $0x0
5514a4:	50                   	push   %eax
5514a5:	e8 c6 17 08 00       	call   0x5d2c70
5514aa:	6a 01                	push   $0x1
5514ac:	57                   	push   %edi
5514ad:	53                   	push   %ebx
5514ae:	33 f6                	xor    %esi,%esi
5514b0:	e8 bb d5 ff ff       	call   0x54ea70
5514b5:	83 c4 18             	add    $0x18,%esp
5514b8:	b8 38 00 00 00       	mov    $0x38,%eax
5514bd:	2b c6                	sub    %esi,%eax
5514bf:	50                   	push   %eax
5514c0:	8d 04 3e             	lea    (%esi,%edi,1),%eax
5514c3:	6a 00                	push   $0x0
5514c5:	50                   	push   %eax
5514c6:	e8 a5 17 08 00       	call   0x5d2c70
5514cb:	0f b6 43 27          	movzbl 0x27(%ebx),%eax
5514cf:	88 47 38             	mov    %al,0x38(%edi)
5514d2:	0f b6 43 26          	movzbl 0x26(%ebx),%eax
5514d6:	88 47 39             	mov    %al,0x39(%edi)
5514d9:	0f b6 43 25          	movzbl 0x25(%ebx),%eax
5514dd:	88 47 3a             	mov    %al,0x3a(%edi)
5514e0:	0f b6 43 24          	movzbl 0x24(%ebx),%eax
5514e4:	88 47 3b             	mov    %al,0x3b(%edi)
5514e7:	0f b6 43 23          	movzbl 0x23(%ebx),%eax
5514eb:	88 47 3c             	mov    %al,0x3c(%edi)
5514ee:	0f b6 43 22          	movzbl 0x22(%ebx),%eax
5514f2:	88 47 3d             	mov    %al,0x3d(%edi)
5514f5:	0f b6 43 21          	movzbl 0x21(%ebx),%eax
5514f9:	6a 01                	push   $0x1
5514fb:	88 47 3e             	mov    %al,0x3e(%edi)
5514fe:	0f b6 43 20          	movzbl 0x20(%ebx),%eax
551502:	57                   	push   %edi
551503:	53                   	push   %ebx
551504:	88 47 3f             	mov    %al,0x3f(%edi)
551507:	e8 64 d5 ff ff       	call   0x54ea70
55150c:	6a 40                	push   $0x40
55150e:	57                   	push   %edi
55150f:	c7 43 68 00 00 00 00 	movl   $0x0,0x68(%ebx)
551516:	e8 c5 04 eb ff       	call   0x4019e0
55151b:	8b 0b                	mov    (%ebx),%ecx
55151d:	83 c4 20             	add    $0x20,%esp
551520:	8b 54 24 10          	mov    0x10(%esp),%edx
551524:	8b c1                	mov    %ecx,%eax
551526:	c1 e8 18             	shr    $0x18,%eax
551529:	88 02                	mov    %al,(%edx)
55152b:	8b c1                	mov    %ecx,%eax
55152d:	c1 e8 10             	shr    $0x10,%eax
551530:	88 42 01             	mov    %al,0x1(%edx)
551533:	8b c1                	mov    %ecx,%eax
551535:	c1 e8 08             	shr    $0x8,%eax
551538:	88 42 02             	mov    %al,0x2(%edx)
55153b:	88 4a 03             	mov    %cl,0x3(%edx)
55153e:	8b 4b 04             	mov    0x4(%ebx),%ecx
551541:	8b c1                	mov    %ecx,%eax
551543:	c1 e8 18             	shr    $0x18,%eax
551546:	88 42 04             	mov    %al,0x4(%edx)
551549:	8b c1                	mov    %ecx,%eax
55154b:	c1 e8 10             	shr    $0x10,%eax
55154e:	88 42 05             	mov    %al,0x5(%edx)
551551:	8b c1                	mov    %ecx,%eax
551553:	c1 e8 08             	shr    $0x8,%eax
551556:	88 42 06             	mov    %al,0x6(%edx)
551559:	88 4a 07             	mov    %cl,0x7(%edx)
55155c:	8b 4b 08             	mov    0x8(%ebx),%ecx
55155f:	8b c1                	mov    %ecx,%eax
551561:	c1 e8 18             	shr    $0x18,%eax
551564:	88 42 08             	mov    %al,0x8(%edx)
551567:	8b c1                	mov    %ecx,%eax
551569:	c1 e8 10             	shr    $0x10,%eax
55156c:	88 42 09             	mov    %al,0x9(%edx)
55156f:	8b c1                	mov    %ecx,%eax
551571:	c1 e8 08             	shr    $0x8,%eax
551574:	88 42 0a             	mov    %al,0xa(%edx)
551577:	88 4a 0b             	mov    %cl,0xb(%edx)
55157a:	8b 4b 0c             	mov    0xc(%ebx),%ecx
55157d:	8b c1                	mov    %ecx,%eax
55157f:	c1 e8 18             	shr    $0x18,%eax
551582:	88 42 0c             	mov    %al,0xc(%edx)
551585:	8b c1                	mov    %ecx,%eax
551587:	c1 e8 10             	shr    $0x10,%eax
55158a:	88 42 0d             	mov    %al,0xd(%edx)
55158d:	8b c1                	mov    %ecx,%eax
55158f:	c1 e8 08             	shr    $0x8,%eax
551592:	88 42 0e             	mov    %al,0xe(%edx)
551595:	88 4a 0f             	mov    %cl,0xf(%edx)
551598:	8b 4b 10             	mov    0x10(%ebx),%ecx
55159b:	8b c1                	mov    %ecx,%eax
55159d:	c1 e8 18             	shr    $0x18,%eax
5515a0:	88 42 10             	mov    %al,0x10(%edx)
5515a3:	8b c1                	mov    %ecx,%eax
5515a5:	88 4a 13             	mov    %cl,0x13(%edx)
5515a8:	c1 e8 10             	shr    $0x10,%eax
5515ab:	88 42 11             	mov    %al,0x11(%edx)
5515ae:	8b c1                	mov    %ecx,%eax
5515b0:	c1 e8 08             	shr    $0x8,%eax
5515b3:	88 42 12             	mov    %al,0x12(%edx)
5515b6:	8b 4b 14             	mov    0x14(%ebx),%ecx
5515b9:	8b c1                	mov    %ecx,%eax
5515bb:	c1 e8 18             	shr    $0x18,%eax
5515be:	88 42 14             	mov    %al,0x14(%edx)
5515c1:	8b c1                	mov    %ecx,%eax
5515c3:	c1 e8 10             	shr    $0x10,%eax
5515c6:	88 42 15             	mov    %al,0x15(%edx)
5515c9:	8b c1                	mov    %ecx,%eax
5515cb:	c1 e8 08             	shr    $0x8,%eax
5515ce:	88 42 16             	mov    %al,0x16(%edx)
5515d1:	88 4a 17             	mov    %cl,0x17(%edx)
5515d4:	8b 4b 18             	mov    0x18(%ebx),%ecx
5515d7:	8b c1                	mov    %ecx,%eax
5515d9:	c1 e8 18             	shr    $0x18,%eax
5515dc:	88 42 18             	mov    %al,0x18(%edx)
5515df:	8b c1                	mov    %ecx,%eax
5515e1:	c1 e8 10             	shr    $0x10,%eax
5515e4:	88 42 19             	mov    %al,0x19(%edx)
5515e7:	8b c1                	mov    %ecx,%eax
5515e9:	c1 e8 08             	shr    $0x8,%eax
5515ec:	88 42 1a             	mov    %al,0x1a(%edx)
5515ef:	88 4a 1b             	mov    %cl,0x1b(%edx)
5515f2:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
5515f5:	8b c1                	mov    %ecx,%eax
5515f7:	c1 e8 18             	shr    $0x18,%eax
5515fa:	88 42 1c             	mov    %al,0x1c(%edx)
5515fd:	8b c1                	mov    %ecx,%eax
5515ff:	c1 e8 10             	shr    $0x10,%eax
551602:	88 42 1d             	mov    %al,0x1d(%edx)
551605:	8b c1                	mov    %ecx,%eax
551607:	5f                   	pop    %edi
551608:	c1 e8 08             	shr    $0x8,%eax
55160b:	5e                   	pop    %esi
55160c:	88 42 1e             	mov    %al,0x1e(%edx)
55160f:	b8 01 00 00 00       	mov    $0x1,%eax
551614:	88 4a 1f             	mov    %cl,0x1f(%edx)
551617:	5b                   	pop    %ebx
551618:	c3                   	ret
551619:	cc                   	int3
55161a:	cc                   	int3
55161b:	cc                   	int3
55161c:	cc                   	int3
55161d:	cc                   	int3
55161e:	cc                   	int3
55161f:	cc                   	int3
551620:	56                   	push   %esi
551621:	8b 74 24 08          	mov    0x8(%esp),%esi
551625:	6a 4c                	push   $0x4c
551627:	6a 00                	push   $0x0
551629:	8d 46 20             	lea    0x20(%esi),%eax
55162c:	50                   	push   %eax
55162d:	e8 3e 16 08 00       	call   0x5d2c70
551632:	83 c4 0c             	add    $0xc,%esp
551635:	c7 06 6f 16 80 73    	movl   $0x7380166f,(%esi)
55163b:	c7 46 04 b9 b2 14 49 	movl   $0x4914b2b9,0x4(%esi)
551642:	b8 01 00 00 00       	mov    $0x1,%eax
551647:	c7 46 08 d7 42 24 17 	movl   $0x172442d7,0x8(%esi)
55164e:	c7 46 0c 00 06 8a da 	movl   $0xda8a0600,0xc(%esi)
551655:	c7 46 10 bc 30 6f a9 	movl   $0xa96f30bc,0x10(%esi)
55165c:	c7 46 14 aa 38 31 16 	movl   $0x163138aa,0x14(%esi)
551663:	c7 46 18 4d ee 8d e3 	movl   $0xe38dee4d,0x18(%esi)
55166a:	c7 46 1c 4e 0e fb b0 	movl   $0xb0fb0e4e,0x1c(%esi)
551671:	5e                   	pop    %esi
551672:	c3                   	ret
551673:	cc                   	int3
551674:	cc                   	int3
551675:	cc                   	int3
551676:	cc                   	int3
551677:	cc                   	int3
551678:	cc                   	int3
551679:	cc                   	int3
55167a:	cc                   	int3
55167b:	cc                   	int3
55167c:	cc                   	int3
55167d:	cc                   	int3
55167e:	cc                   	int3
55167f:	cc                   	int3
551680:	53                   	push   %ebx
551681:	8b 5c 24 08          	mov    0x8(%esp),%ebx
551685:	55                   	push   %ebp
551686:	8b 6c 24 10          	mov    0x10(%esp),%ebp
55168a:	56                   	push   %esi
55168b:	57                   	push   %edi
55168c:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
551690:	85 ff                	test   %edi,%edi
551692:	0f 84 b6 00 00 00    	je     0x55174e
551698:	8b 43 20             	mov    0x20(%ebx),%eax
55169b:	8b 4b 24             	mov    0x24(%ebx),%ecx
55169e:	8d 14 f8             	lea    (%eax,%edi,8),%edx
5516a1:	3b d0                	cmp    %eax,%edx
5516a3:	73 01                	jae    0x5516a6
5516a5:	41                   	inc    %ecx
5516a6:	8b c7                	mov    %edi,%eax
5516a8:	89 53 20             	mov    %edx,0x20(%ebx)
5516ab:	c1 e8 1d             	shr    $0x1d,%eax
5516ae:	03 c1                	add    %ecx,%eax
5516b0:	8b 4b 68             	mov    0x68(%ebx),%ecx
5516b3:	89 43 24             	mov    %eax,0x24(%ebx)
5516b6:	85 c9                	test   %ecx,%ecx
5516b8:	74 64                	je     0x55171e
5516ba:	8d 53 28             	lea    0x28(%ebx),%edx
5516bd:	83 ff 40             	cmp    $0x40,%edi
5516c0:	73 23                	jae    0x5516e5
5516c2:	8d 04 39             	lea    (%ecx,%edi,1),%eax
5516c5:	83 f8 40             	cmp    $0x40,%eax
5516c8:	73 1b                	jae    0x5516e5
5516ca:	57                   	push   %edi
5516cb:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
5516ce:	55                   	push   %ebp
5516cf:	50                   	push   %eax
5516d0:	e8 fb 16 08 00       	call   0x5d2dd0
5516d5:	83 c4 0c             	add    $0xc,%esp
5516d8:	b8 01 00 00 00       	mov    $0x1,%eax
5516dd:	01 7b 68             	add    %edi,0x68(%ebx)
5516e0:	5f                   	pop    %edi
5516e1:	5e                   	pop    %esi
5516e2:	5d                   	pop    %ebp
5516e3:	5b                   	pop    %ebx
5516e4:	c3                   	ret
5516e5:	be 40 00 00 00       	mov    $0x40,%esi
5516ea:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
5516ed:	2b f1                	sub    %ecx,%esi
5516ef:	56                   	push   %esi
5516f0:	55                   	push   %ebp
5516f1:	50                   	push   %eax
5516f2:	e8 d9 16 08 00       	call   0x5d2dd0
5516f7:	6a 01                	push   $0x1
5516f9:	8d 43 28             	lea    0x28(%ebx),%eax
5516fc:	50                   	push   %eax
5516fd:	53                   	push   %ebx
5516fe:	e8 6d d3 ff ff       	call   0x54ea70
551703:	6a 40                	push   $0x40
551705:	8d 43 28             	lea    0x28(%ebx),%eax
551708:	c7 43 68 00 00 00 00 	movl   $0x0,0x68(%ebx)
55170f:	6a 00                	push   $0x0
551711:	50                   	push   %eax
551712:	03 ee                	add    %esi,%ebp
551714:	2b fe                	sub    %esi,%edi
551716:	e8 55 15 08 00       	call   0x5d2c70
55171b:	83 c4 24             	add    $0x24,%esp
55171e:	8b f7                	mov    %edi,%esi
551720:	c1 ee 06             	shr    $0x6,%esi
551723:	85 f6                	test   %esi,%esi
551725:	74 12                	je     0x551739
551727:	56                   	push   %esi