56a327:	cc                   	int3
56a328:	cc                   	int3
56a329:	cc                   	int3
56a32a:	cc                   	int3
56a32b:	cc                   	int3
56a32c:	cc                   	int3
56a32d:	cc                   	int3
56a32e:	cc                   	int3
56a32f:	cc                   	int3
56a330:	b8 04 00 00 00       	mov    $0x4,%eax
56a335:	e8 76 74 06 00       	call   0x5d17b0
56a33a:	53                   	push   %ebx
56a33b:	55                   	push   %ebp
56a33c:	56                   	push   %esi
56a33d:	8b 74 24 1c          	mov    0x1c(%esp),%esi
56a341:	57                   	push   %edi
56a342:	8b 46 10             	mov    0x10(%esi),%eax
56a345:	83 f8 10             	cmp    $0x10,%eax
56a348:	0f 84 b6 00 00 00    	je     0x56a404
56a34e:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
56a352:	85 ff                	test   %edi,%edi
56a354:	75 2d                	jne    0x56a383
56a356:	8b 4e 14             	mov    0x14(%esi),%ecx
56a359:	83 f9 ff             	cmp    $0xffffffff,%ecx
56a35c:	75 0f                	jne    0x56a36d
56a35e:	ff 46 18             	incl   0x18(%esi)
56a361:	89 46 14             	mov    %eax,0x14(%esi)
56a364:	8d 47 01             	lea    0x1(%edi),%eax
56a367:	5f                   	pop    %edi
56a368:	5e                   	pop    %esi
56a369:	5d                   	pop    %ebp
56a36a:	5b                   	pop    %ebx
56a36b:	59                   	pop    %ecx
56a36c:	c3                   	ret
56a36d:	3b c8                	cmp    %eax,%ecx
56a36f:	0f 85 8f 00 00 00    	jne    0x56a404
56a375:	ff 46 18             	incl   0x18(%esi)
56a378:	b8 01 00 00 00       	mov    $0x1,%eax
56a37d:	5f                   	pop    %edi
56a37e:	5e                   	pop    %esi
56a37f:	5d                   	pop    %ebp
56a380:	5b                   	pop    %ebx
56a381:	59                   	pop    %ecx
56a382:	c3                   	ret
56a383:	83 ff 04             	cmp    $0x4,%edi
56a386:	7e 2e                	jle    0x56a3b6
56a388:	83 f8 0c             	cmp    $0xc,%eax
56a38b:	7f 77                	jg     0x56a404
56a38d:	8b 4c 24 18          	mov    0x18(%esp),%ecx
56a391:	80 3c 39 00          	cmpb   $0x0,(%ecx,%edi,1)
56a395:	75 6d                	jne    0x56a404
56a397:	51                   	push   %ecx
56a398:	03 c6                	add    %esi,%eax
56a39a:	50                   	push   %eax
56a39b:	e8 00 ff ff ff       	call   0x56a2a0
56a3a0:	83 c4 08             	add    $0x8,%esp
56a3a3:	85 c0                	test   %eax,%eax
56a3a5:	74 5d                	je     0x56a404
56a3a7:	83 46 10 04          	addl   $0x4,0x10(%esi)
56a3ab:	b8 01 00 00 00       	mov    $0x1,%eax
56a3b0:	5f                   	pop    %edi
56a3b1:	5e                   	pop    %esi
56a3b2:	5d                   	pop    %ebp
56a3b3:	5b                   	pop    %ebx
56a3b4:	59                   	pop    %ecx
56a3b5:	c3                   	ret
56a3b6:	8b 6c 24 18          	mov    0x18(%esp),%ebp
56a3ba:	03 c6                	add    %esi,%eax
56a3bc:	89 44 24 10          	mov    %eax,0x10(%esp)
56a3c0:	33 db                	xor    %ebx,%ebx
56a3c2:	8a 45 00             	mov    0x0(%ebp),%al
56a3c5:	8d 6d 01             	lea    0x1(%ebp),%ebp
56a3c8:	88 44 24 20          	mov    %al,0x20(%esp)
56a3cc:	4f                   	dec    %edi
56a3cd:	ff 74 24 20          	push   0x20(%esp)
56a3d1:	e8 5a 7e f7 ff       	call   0x4e2230
56a3d6:	83 c4 04             	add    $0x4,%esp
56a3d9:	85 c0                	test   %eax,%eax
56a3db:	78 27                	js     0x56a404
56a3dd:	c1 e3 04             	shl    $0x4,%ebx
56a3e0:	0f be c0             	movsbl %al,%eax
56a3e3:	0b d8                	or     %eax,%ebx
56a3e5:	85 ff                	test   %edi,%edi
56a3e7:	75 d9                	jne    0x56a3c2
56a3e9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
56a3ed:	8b c3                	mov    %ebx,%eax
56a3ef:	c1 e8 08             	shr    $0x8,%eax
56a3f2:	88 01                	mov    %al,(%ecx)
56a3f4:	8d 47 01             	lea    0x1(%edi),%eax
56a3f7:	5f                   	pop    %edi
56a3f8:	88 59 01             	mov    %bl,0x1(%ecx)
56a3fb:	83 46 10 02          	addl   $0x2,0x10(%esi)
56a3ff:	5e                   	pop    %esi
56a400:	5d                   	pop    %ebp
56a401:	5b                   	pop    %ebx
56a402:	59                   	pop    %ecx
56a403:	c3                   	ret
56a404:	5f                   	pop    %edi
56a405:	5e                   	pop    %esi
56a406:	5d                   	pop    %ebp
56a407:	33 c0                	xor    %eax,%eax
56a409:	5b                   	pop    %ebx
56a40a:	59                   	pop    %ecx
56a40b:	c3                   	ret
56a40c:	cc                   	int3
56a40d:	cc                   	int3
56a40e:	cc                   	int3
56a40f:	cc                   	int3
56a410:	8b 4c 24 08          	mov    0x8(%esp),%ecx
56a414:	56                   	push   %esi
56a415:	8b f1                	mov    %ecx,%esi
56a417:	57                   	push   %edi
56a418:	8d 56 01             	lea    0x1(%esi),%edx
56a41b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
56a420:	8a 06                	mov    (%esi),%al
56a422:	46                   	inc    %esi
56a423:	84 c0                	test   %al,%al
56a425:	75 f9                	jne    0x56a420
56a427:	8b 7c 24 0c          	mov    0xc(%esp),%edi
56a42b:	2b f2                	sub    %edx,%esi
56a42d:	56                   	push   %esi
56a42e:	51                   	push   %ecx
56a42f:	57                   	push   %edi
56a430:	e8 5b b3 07 00       	call   0x5e5790
56a435:	83 c4 0c             	add    $0xc,%esp
56a438:	85 c0                	test   %eax,%eax
56a43a:	75 15                	jne    0x56a451
56a43c:	8a 04 3e             	mov    (%esi,%edi,1),%al
56a43f:	84 c0                	test   %al,%al
56a441:	74 0c                	je     0x56a44f
56a443:	3c 2e                	cmp    $0x2e,%al
56a445:	74 08                	je     0x56a44f
56a447:	5f                   	pop    %edi
56a448:	b8 01 00 00 00       	mov    $0x1,%eax
56a44d:	5e                   	pop    %esi
56a44e:	c3                   	ret
56a44f:	33 c0                	xor    %eax,%eax
56a451:	5f                   	pop    %edi
56a452:	5e                   	pop    %esi
56a453:	c3                   	ret
56a454:	cc                   	int3
56a455:	cc                   	int3
56a456:	cc                   	int3
56a457:	cc                   	int3
56a458:	cc                   	int3
56a459:	cc                   	int3
56a45a:	cc                   	int3
56a45b:	cc                   	int3
56a45c:	cc                   	int3
56a45d:	cc                   	int3
56a45e:	cc                   	int3
56a45f:	cc                   	int3
56a460:	53                   	push   %ebx
56a461:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
56a465:	85 db                	test   %ebx,%ebx
56a467:	75 1c                	jne    0x56a485
56a469:	68 b0 00 00 00       	push   $0xb0
56a46e:	68 84 85 65 00       	push   $0x658584
56a473:	6a 6d                	push   $0x6d
56a475:	6a 6c                	push   $0x6c
56a477:	6a 22                	push   $0x22
56a479:	e8 02 eb f6 ff       	call   0x4d8f80
56a47e:	83 c4 14             	add    $0x14,%esp
56a481:	33 c0                	xor    %eax,%eax
56a483:	5b                   	pop    %ebx
56a484:	c3                   	ret
56a485:	e8 56 f9 f6 ff       	call   0x4d9de0
56a48a:	89 44 24 0c          	mov    %eax,0xc(%esp)
56a48e:	85 c0                	test   %eax,%eax
56a490:	75 1c                	jne    0x56a4ae
56a492:	68 b5 00 00 00       	push   $0xb5
56a497:	68 84 85 65 00       	push   $0x658584
56a49c:	6a 41                	push   $0x41
56a49e:	6a 6c                	push   $0x6c
56a4a0:	6a 22                	push   $0x22
56a4a2:	e8 d9 ea f6 ff       	call   0x4d8f80
56a4a7:	83 c4 14             	add    $0x14,%esp
56a4aa:	33 c0                	xor    %eax,%eax
56a4ac:	5b                   	pop    %ebx
56a4ad:	c3                   	ret
56a4ae:	8a 03                	mov    (%ebx),%al
56a4b0:	57                   	push   %edi
56a4b1:	3c 2d                	cmp    $0x2d,%al
56a4b3:	75 0a                	jne    0x56a4bf
56a4b5:	8a 4b 01             	mov    0x1(%ebx),%cl
56a4b8:	bf 01 00 00 00       	mov    $0x1,%edi
56a4bd:	eb 04                	jmp    0x56a4c3
56a4bf:	33 ff                	xor    %edi,%edi
56a4c1:	8a c8                	mov    %al,%cl
56a4c3:	56                   	push   %esi
56a4c4:	3c 2d                	cmp    $0x2d,%al
56a4c6:	8d 73 01             	lea    0x1(%ebx),%esi
56a4c9:	0f 45 f3             	cmovne %ebx,%esi
56a4cc:	80 f9 30             	cmp    $0x30,%cl
56a4cf:	75 1b                	jne    0x56a4ec
56a4d1:	8a 46 01             	mov    0x1(%esi),%al
56a4d4:	3c 78                	cmp    $0x78,%al
56a4d6:	74 04                	je     0x56a4dc
56a4d8:	3c 58                	cmp    $0x58,%al
56a4da:	75 10                	jne    0x56a4ec
56a4dc:	83 c6 02             	add    $0x2,%esi
56a4df:	8d 44 24 14          	lea    0x14(%esp),%eax
56a4e3:	56                   	push   %esi
56a4e4:	50                   	push   %eax
56a4e5:	e8 86 eb f9 ff       	call   0x509070
56a4ea:	eb 0b                	jmp    0x56a4f7
56a4ec:	8d 44 24 14          	lea    0x14(%esp),%eax
56a4f0:	56                   	push   %esi
56a4f1:	50                   	push   %eax
56a4f2:	e8 f9 e9 f9 ff       	call   0x508ef0
56a4f7:	83 c4 08             	add    $0x8,%esp
56a4fa:	85 c0                	test   %eax,%eax
56a4fc:	74 69                	je     0x56a567
56a4fe:	80 3c 30 00          	cmpb   $0x0,(%eax,%esi,1)
56a502:	75 63                	jne    0x56a567
56a504:	85 ff                	test   %edi,%edi
56a506:	74 13                	je     0x56a51b
56a508:	ff 74 24 14          	push   0x14(%esp)
56a50c:	e8 4f f8 f6 ff       	call   0x4d9d60
56a511:	33 c9                	xor    %ecx,%ecx
56a513:	83 c4 04             	add    $0x4,%esp
56a516:	85 c0                	test   %eax,%eax
56a518:	0f 45 f9             	cmovne %ecx,%edi
56a51b:	6a 00                	push   $0x0
56a51d:	ff 74 24 18          	push   0x18(%esp)
56a521:	e8 da ef f9 ff       	call   0x509500
56a526:	ff 74 24 1c          	push   0x1c(%esp)
56a52a:	8b f0                	mov    %eax,%esi
56a52c:	e8 ef f6 f6 ff       	call   0x4d9c20
56a531:	83 c4 0c             	add    $0xc,%esp
56a534:	85 f6                	test   %esi,%esi
56a536:	75 1e                	jne    0x56a556
56a538:	68 d6 00 00 00       	push   $0xd6
56a53d:	68 84 85 65 00       	push   $0x658584
56a542:	6a 65                	push   $0x65
56a544:	6a 6c                	push   $0x6c
56a546:	6a 22                	push   $0x22
56a548:	e8 33 ea f6 ff       	call   0x4d8f80
56a54d:	83 c4 14             	add    $0x14,%esp
56a550:	33 c0                	xor    %eax,%eax
56a552:	5e                   	pop    %esi
56a553:	5f                   	pop    %edi
56a554:	5b                   	pop    %ebx
56a555:	c3                   	ret
56a556:	85 ff                	test   %edi,%edi
56a558:	74 07                	je     0x56a561
56a55a:	81 4e 04 00 01 00 00 	orl    $0x100,0x4(%esi)
56a561:	8b c6                	mov    %esi,%eax
56a563:	5e                   	pop    %esi
56a564:	5f                   	pop    %edi
56a565:	5b                   	pop    %ebx
56a566:	c3                   	ret
56a567:	ff 74 24 14          	push   0x14(%esp)
56a56b:	e8 b0 f6 f6 ff       	call   0x4d9c20
56a570:	68 cb 00 00 00       	push   $0xcb
56a575:	68 84 85 65 00       	push   $0x658584
56a57a:	6a 64                	push   $0x64
56a57c:	6a 6c                	push   $0x6c
56a57e:	6a 22                	push   $0x22
56a580:	e8 fb e9 f6 ff       	call   0x4d8f80
56a585:	83 c4 18             	add    $0x18,%esp
56a588:	33 c0                	xor    %eax,%eax
56a58a:	5e                   	pop    %esi
56a58b:	5f                   	pop    %edi
56a58c:	5b                   	pop    %ebx
56a58d:	c3                   	ret
56a58e:	cc                   	int3
56a58f:	cc                   	int3
56a590:	56                   	push   %esi
56a591:	8b 74 24 08          	mov    0x8(%esp),%esi
56a595:	8a 06                	mov    (%esi),%al
56a597:	84 c0                	test   %al,%al
56a599:	74 23                	je     0x56a5be
56a59b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
56a5a0:	0f be c0             	movsbl %al,%eax
56a5a3:	6a 08                	push   $0x8
56a5a5:	50                   	push   %eax
56a5a6:	e8 f5 9a f7 ff       	call   0x4e40a0
56a5ab:	83 c4 08             	add    $0x8,%esp
56a5ae:	85 c0                	test   %eax,%eax
56a5b0:	74 0c                	je     0x56a5be
56a5b2:	8a 46 01             	mov    0x1(%esi),%al
56a5b5:	46                   	inc    %esi
56a5b6:	84 c0                	test   %al,%al
56a5b8:	75 e6                	jne    0x56a5a0
56a5ba:	33 c0                	xor    %eax,%eax
56a5bc:	5e                   	pop    %esi
56a5bd:	c3                   	ret
56a5be:	80 3e 00             	cmpb   $0x0,(%esi)
56a5c1:	74 f7                	je     0x56a5ba
56a5c3:	8b ce                	mov    %esi,%ecx
56a5c5:	8d 51 01             	lea    0x1(%ecx),%edx
56a5c8:	8a 01                	mov    (%ecx),%al
56a5ca:	41                   	inc    %ecx
56a5cb:	84 c0                	test   %al,%al
56a5cd:	75 f9                	jne    0x56a5c8
56a5cf:	57                   	push   %edi
56a5d0:	2b ca                	sub    %edx,%ecx
56a5d2:	8d 7e ff             	lea    -0x1(%esi),%edi
56a5d5:	03 f9                	add    %ecx,%edi
56a5d7:	3b fe                	cmp    %esi,%edi
56a5d9:	74 22                	je     0x56a5fd
56a5db:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
56a5e0:	0f be 07             	movsbl (%edi),%eax
56a5e3:	6a 08                	push   $0x8
56a5e5:	50                   	push   %eax
56a5e6:	e8 b5 9a f7 ff       	call   0x4e40a0
56a5eb:	83 c4 08             	add    $0x8,%esp
56a5ee:	85 c0                	test   %eax,%eax
56a5f0:	74 07                	je     0x56a5f9
56a5f2:	4f                   	dec    %edi
56a5f3:	3b fe                	cmp    %esi,%edi
56a5f5:	75 e9                	jne    0x56a5e0
56a5f7:	eb 04                	jmp    0x56a5fd
56a5f9:	c6 47 01 00          	movb   $0x0,0x1(%edi)
56a5fd:	80 3e 00             	cmpb   $0x0,(%esi)
56a600:	5f                   	pop    %edi
56a601:	74 b7                	je     0x56a5ba
56a603:	8b c6                	mov    %esi,%eax
56a605:	5e                   	pop    %esi
56a606:	c3                   	ret
56a607:	cc                   	int3
56a608:	cc                   	int3
56a609:	cc                   	int3
56a60a:	cc                   	int3
56a60b:	cc                   	int3
56a60c:	cc                   	int3
56a60d:	cc                   	int3
56a60e:	cc                   	int3
56a60f:	cc                   	int3
56a610:	b8 04 00 00 00       	mov    $0x4,%eax
56a615:	e8 96 71 06 00       	call   0x5d17b0
56a61a:	8b 44 24 0c          	mov    0xc(%esp),%eax
56a61e:	33 d2                	xor    %edx,%edx
56a620:	53                   	push   %ebx
56a621:	55                   	push   %ebp
56a622:	56                   	push   %esi
56a623:	57                   	push   %edi
56a624:	33 ed                	xor    %ebp,%ebp
56a626:	89 54 24 10          	mov    %edx,0x10(%esp)
56a62a:	33 ff                	xor    %edi,%edi
56a62c:	8d 5a 01             	lea    0x1(%edx),%ebx
56a62f:	85 c0                	test   %eax,%eax
56a631:	0f 84 fa 00 00 00    	je     0x56a731
56a637:	8b 74 24 18          	mov    0x18(%esp),%esi
56a63b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
56a640:	8a 0e                	mov    (%esi),%cl
56a642:	80 f9 2a             	cmp    $0x2a,%cl
56a645:	75 60                	jne    0x56a6a7
56a647:	8b cb                	mov    %ebx,%ecx