551113:	8b 4c 24 20          	mov    0x20(%esp),%ecx
551117:	33 fa                	xor    %edx,%edi
551119:	8b d1                	mov    %ecx,%edx
55111b:	0b 54 24 10          	or     0x10(%esp),%edx
55111f:	23 4c 24 10          	and    0x10(%esp),%ecx
551123:	23 54 24 28          	and    0x28(%esp),%edx
551127:	89 7c 24 30          	mov    %edi,0x30(%esp)
55112b:	0b d1                	or     %ecx,%edx
55112d:	81 c7 ec 3c d4 53    	add    $0x53d43cec,%edi
551133:	03 fe                	add    %esi,%edi
551135:	c1 c7 07             	rol    $0x7,%edi
551138:	8b cf                	mov    %edi,%ecx
55113a:	33 ce                	xor    %esi,%ecx
55113c:	8b 74 24 70          	mov    0x70(%esp),%esi
551140:	03 4c 24 18          	add    0x18(%esp),%ecx
551144:	33 74 24 38          	xor    0x38(%esp),%esi
551148:	03 ca                	add    %edx,%ecx
55114a:	03 f1                	add    %ecx,%esi
55114c:	c1 44 24 10 09       	roll   $0x9,0x10(%esp)
551151:	8b d5                	mov    %ebp,%edx
551153:	89 74 24 14          	mov    %esi,0x14(%esp)
551157:	33 54 24 54          	xor    0x54(%esp),%edx
55115b:	23 54 24 30          	and    0x30(%esp),%edx
55115f:	33 d5                	xor    %ebp,%edx
551161:	c1 c6 0c             	rol    $0xc,%esi
551164:	03 d7                	add    %edi,%edx
551166:	03 54 24 38          	add    0x38(%esp),%edx
55116a:	03 d3                	add    %ebx,%edx
55116c:	8b 5c 24 54          	mov    0x54(%esp),%ebx
551170:	8b fa                	mov    %edx,%edi
551172:	c1 cb 0d             	ror    $0xd,%ebx
551175:	8b ca                	mov    %edx,%ecx
551177:	c1 cf 0f             	ror    $0xf,%edi
55117a:	c1 c1 09             	rol    $0x9,%ecx
55117d:	33 f9                	xor    %ecx,%edi
55117f:	89 5c 24 54          	mov    %ebx,0x54(%esp)
551183:	8b 4c 24 14          	mov    0x14(%esp),%ecx
551187:	33 fa                	xor    %edx,%edi
551189:	8b d1                	mov    %ecx,%edx
55118b:	89 7c 24 3c          	mov    %edi,0x3c(%esp)
55118f:	23 4c 24 20          	and    0x20(%esp),%ecx
551193:	81 c7 d8 79 a8 a7    	add    $0xa7a879d8,%edi
551199:	0b 54 24 20          	or     0x20(%esp),%edx
55119d:	03 fe                	add    %esi,%edi
55119f:	23 54 24 10          	and    0x10(%esp),%edx
5511a3:	0b d1                	or     %ecx,%edx
5511a5:	c1 c7 07             	rol    $0x7,%edi
5511a8:	8b cf                	mov    %edi,%ecx
5511aa:	33 ce                	xor    %esi,%ecx
5511ac:	8b 74 24 34          	mov    0x34(%esp),%esi
5511b0:	03 4c 24 28          	add    0x28(%esp),%ecx
5511b4:	33 74 24 60          	xor    0x60(%esp),%esi
5511b8:	03 ca                	add    %edx,%ecx
5511ba:	03 f1                	add    %ecx,%esi
5511bc:	8b d3                	mov    %ebx,%edx
5511be:	8b 4c 24 30          	mov    0x30(%esp),%ecx
5511c2:	33 d1                	xor    %ecx,%edx
5511c4:	23 54 24 3c          	and    0x3c(%esp),%edx
5511c8:	33 d3                	xor    %ebx,%edx
5511ca:	c1 c9 0d             	ror    $0xd,%ecx
5511cd:	03 d7                	add    %edi,%edx
5511cf:	89 4c 24 30          	mov    %ecx,0x30(%esp)
5511d3:	03 54 24 34          	add    0x34(%esp),%edx
5511d7:	8b fe                	mov    %esi,%edi
5511d9:	03 d5                	add    %ebp,%edx
5511db:	89 74 24 18          	mov    %esi,0x18(%esp)
5511df:	8b da                	mov    %edx,%ebx
5511e1:	8b 6c 24 20          	mov    0x20(%esp),%ebp
5511e5:	c1 cb 0f             	ror    $0xf,%ebx
5511e8:	8b ca                	mov    %edx,%ecx
5511ea:	c1 c1 09             	rol    $0x9,%ecx
5511ed:	33 d9                	xor    %ecx,%ebx
5511ef:	c1 c7 0c             	rol    $0xc,%edi
5511f2:	33 da                	xor    %edx,%ebx
5511f4:	c1 c5 09             	rol    $0x9,%ebp
5511f7:	8b 54 24 24          	mov    0x24(%esp),%edx
5511fb:	c1 c2 0f             	rol    $0xf,%edx
5511fe:	8b ca                	mov    %edx,%ecx
551200:	89 5c 24 28          	mov    %ebx,0x28(%esp)
551204:	33 4c 24 5c          	xor    0x5c(%esp),%ecx
551208:	81 c3 b1 f3 50 4f    	add    $0x4f50f3b1,%ebx
55120e:	33 4c 24 68          	xor    0x68(%esp),%ecx
551212:	03 df                	add    %edi,%ebx
551214:	8b f1                	mov    %ecx,%esi
551216:	c1 c3 07             	rol    $0x7,%ebx
551219:	c1 c6 0f             	rol    $0xf,%esi
55121c:	c1 c9 09             	ror    $0x9,%ecx
55121f:	33 f1                	xor    %ecx,%esi
551221:	89 6c 24 20          	mov    %ebp,0x20(%esp)
551225:	8b 4c 24 6c          	mov    0x6c(%esp),%ecx
551229:	c1 c1 07             	rol    $0x7,%ecx
55122c:	33 f1                	xor    %ecx,%esi
55122e:	8b 4c 24 18          	mov    0x18(%esp),%ecx
551232:	33 f2                	xor    %edx,%esi
551234:	33 74 24 50          	xor    0x50(%esp),%esi
551238:	33 74 24 38          	xor    0x38(%esp),%esi
55123c:	33 74 24 5c          	xor    0x5c(%esp),%esi
551240:	33 74 24 68          	xor    0x68(%esp),%esi
551244:	8b d1                	mov    %ecx,%edx
551246:	23 4c 24 14          	and    0x14(%esp),%ecx
55124a:	0b 54 24 14          	or     0x14(%esp),%edx
55124e:	23 d5                	and    %ebp,%edx
551250:	c1 44 24 14 09       	roll   $0x9,0x14(%esp)
551255:	0b d1                	or     %ecx,%edx
551257:	8b eb                	mov    %ebx,%ebp
551259:	03 54 24 10          	add    0x10(%esp),%edx
55125d:	33 ef                	xor    %edi,%ebp
55125f:	03 d6                	add    %esi,%edx
551261:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
551265:	03 ea                	add    %edx,%ebp
551267:	8b 54 24 30          	mov    0x30(%esp),%edx
55126b:	33 d1                	xor    %ecx,%edx
55126d:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
551271:	23 54 24 28          	and    0x28(%esp),%edx
551275:	8b fd                	mov    %ebp,%edi
551277:	33 54 24 30          	xor    0x30(%esp),%edx
55127b:	03 d3                	add    %ebx,%edx
55127d:	c1 c9 0d             	ror    $0xd,%ecx
551280:	03 54 24 50          	add    0x50(%esp),%edx
551284:	03 54 24 54          	add    0x54(%esp),%edx
551288:	8b da                	mov    %edx,%ebx
55128a:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
55128e:	8b ca                	mov    %edx,%ecx
551290:	c1 cb 0f             	ror    $0xf,%ebx
551293:	c1 c1 09             	rol    $0x9,%ecx
551296:	33 d9                	xor    %ecx,%ebx
551298:	c1 c7 0c             	rol    $0xc,%edi
55129b:	33 da                	xor    %edx,%ebx
55129d:	8b 54 24 70          	mov    0x70(%esp),%edx
5512a1:	c1 c2 0f             	rol    $0xf,%edx
5512a4:	8b ca                	mov    %edx,%ecx
5512a6:	89 5c 24 54          	mov    %ebx,0x54(%esp)
5512aa:	33 4c 24 40          	xor    0x40(%esp),%ecx
5512ae:	81 c3 62 e7 a1 9e    	add    $0x9ea1e762,%ebx
5512b4:	33 4c 24 78          	xor    0x78(%esp),%ecx
5512b8:	03 df                	add    %edi,%ebx
5512ba:	8b f1                	mov    %ecx,%esi
5512bc:	c1 c3 07             	rol    $0x7,%ebx
5512bf:	c1 c6 0f             	rol    $0xf,%esi
5512c2:	c1 c9 09             	ror    $0x9,%ecx
5512c5:	33 f1                	xor    %ecx,%esi
5512c7:	8b 4c 24 64          	mov    0x64(%esp),%ecx
5512cb:	c1 c1 07             	rol    $0x7,%ecx
5512ce:	33 f1                	xor    %ecx,%esi
5512d0:	8b cd                	mov    %ebp,%ecx
5512d2:	23 4c 24 18          	and    0x18(%esp),%ecx
5512d6:	33 f2                	xor    %edx,%esi
5512d8:	33 74 24 24          	xor    0x24(%esp),%esi
5512dc:	8b d5                	mov    %ebp,%edx
5512de:	0b 54 24 18          	or     0x18(%esp),%edx
5512e2:	8b eb                	mov    %ebx,%ebp
5512e4:	23 54 24 14          	and    0x14(%esp),%edx
5512e8:	33 ef                	xor    %edi,%ebp
5512ea:	33 74 24 34          	xor    0x34(%esp),%esi
5512ee:	0b d1                	or     %ecx,%edx
5512f0:	33 74 24 40          	xor    0x40(%esp),%esi
5512f4:	03 54 24 20          	add    0x20(%esp),%edx
5512f8:	33 74 24 78          	xor    0x78(%esp),%esi
5512fc:	03 d6                	add    %esi,%edx
5512fe:	c1 44 24 18 09       	roll   $0x9,0x18(%esp)
551303:	8b 74 24 28          	mov    0x28(%esp),%esi
551307:	03 ea                	add    %edx,%ebp
551309:	8b d6                	mov    %esi,%edx
55130b:	89 6c 24 10          	mov    %ebp,0x10(%esp)
55130f:	33 54 24 3c          	xor    0x3c(%esp),%edx
551313:	23 54 24 54          	and    0x54(%esp),%edx
551317:	33 54 24 3c          	xor    0x3c(%esp),%edx
55131b:	03 d3                	add    %ebx,%edx
55131d:	c1 ce 0d             	ror    $0xd,%esi
551320:	03 54 24 24          	add    0x24(%esp),%edx
551324:	03 54 24 30          	add    0x30(%esp),%edx
551328:	89 74 24 28          	mov    %esi,0x28(%esp)
55132c:	8b ca                	mov    %edx,%ecx
55132e:	8b f2                	mov    %edx,%esi
551330:	c1 c1 09             	rol    $0x9,%ecx
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