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
56a649:	48                   	dec    %eax
56a64a:	83 e1 01             	and    $0x1,%ecx
56a64d:	3b f8                	cmp    %eax,%edi
56a64f:	74 0a                	je     0x56a65b
56a651:	80 7e 01 2e          	cmpb   $0x2e,0x1(%esi)
56a655:	74 04                	je     0x56a65b
56a657:	33 c0                	xor    %eax,%eax
56a659:	eb 05                	jmp    0x56a660
56a65b:	b8 01 00 00 00       	mov    $0x1,%eax
56a660:	85 d2                	test   %edx,%edx
56a662:	0f 85 c9 00 00 00    	jne    0x56a731
56a668:	f6 c3 08             	test   $0x8,%bl
56a66b:	0f 85 c0 00 00 00    	jne    0x56a731
56a671:	85 ed                	test   %ebp,%ebp
56a673:	0f 85 b8 00 00 00    	jne    0x56a731
56a679:	f6 44 24 20 04       	testb  $0x4,0x20(%esp)
56a67e:	74 10                	je     0x56a690
56a680:	85 c9                	test   %ecx,%ecx
56a682:	0f 84 a9 00 00 00    	je     0x56a731
56a688:	85 c0                	test   %eax,%eax
56a68a:	0f 84 a1 00 00 00    	je     0x56a731
56a690:	85 c9                	test   %ecx,%ecx
56a692:	75 08                	jne    0x56a69c
56a694:	85 c0                	test   %eax,%eax
56a696:	0f 84 95 00 00 00    	je     0x56a731
56a69c:	8b d6                	mov    %esi,%edx
56a69e:	83 e3 fe             	and    $0xfffffffe,%ebx
56a6a1:	89 54 24 10          	mov    %edx,0x10(%esp)
56a6a5:	eb 6a                	jmp    0x56a711
56a6a7:	80 f9 61             	cmp    $0x61,%cl
56a6aa:	72 05                	jb     0x56a6b1
56a6ac:	80 f9 7a             	cmp    $0x7a,%cl
56a6af:	76 15                	jbe    0x56a6c6
56a6b1:	80 f9 41             	cmp    $0x41,%cl
56a6b4:	72 05                	jb     0x56a6bb
56a6b6:	80 f9 5a             	cmp    $0x5a,%cl
56a6b9:	76 0b                	jbe    0x56a6c6
56a6bb:	8d 41 d0             	lea    -0x30(%ecx),%eax
56a6be:	3c 09                	cmp    $0x9,%al
56a6c0:	77 30                	ja     0x56a6f2
56a6c2:	8b 44 24 1c          	mov    0x1c(%esp),%eax
56a6c6:	f6 c3 01             	test   $0x1,%bl
56a6c9:	74 22                	je     0x56a6ed
56a6cb:	2b c7                	sub    %edi,%eax
56a6cd:	83 f8 04             	cmp    $0x4,%eax
56a6d0:	72 1b                	jb     0x56a6ed
56a6d2:	6a 04                	push   $0x4
56a6d4:	68 d8 85 65 00       	push   $0x6585d8
56a6d9:	56                   	push   %esi
56a6da:	e8 7a b2 07 00       	call   0x5e5959
56a6df:	8b 54 24 1c          	mov    0x1c(%esp),%edx
56a6e3:	83 c4 0c             	add    $0xc,%esp
56a6e6:	85 c0                	test   %eax,%eax
56a6e8:	75 03                	jne    0x56a6ed
56a6ea:	83 cb 08             	or     $0x8,%ebx
56a6ed:	83 e3 fa             	and    $0xfffffffa,%ebx
56a6f0:	eb 1f                	jmp    0x56a711
56a6f2:	80 f9 2e             	cmp    $0x2e,%cl
56a6f5:	75 0d                	jne    0x56a704
56a6f7:	f6 c3 05             	test   $0x5,%bl
56a6fa:	75 35                	jne    0x56a731
56a6fc:	bb 01 00 00 00       	mov    $0x1,%ebx
56a701:	45                   	inc    %ebp
56a702:	eb 0d                	jmp    0x56a711
56a704:	80 f9 2d             	cmp    $0x2d,%cl
56a707:	75 28                	jne    0x56a731
56a709:	f6 c3 01             	test   $0x1,%bl
56a70c:	75 23                	jne    0x56a731
56a70e:	83 cb 04             	or     $0x4,%ebx
56a711:	8b 44 24 1c          	mov    0x1c(%esp),%eax
56a715:	47                   	inc    %edi
56a716:	46                   	inc    %esi
56a717:	3b f8                	cmp    %eax,%edi
56a719:	0f 82 21 ff ff ff    	jb     0x56a640
56a71f:	f6 c3 05             	test   $0x5,%bl
56a722:	75 0d                	jne    0x56a731
56a724:	83 fd 02             	cmp    $0x2,%ebp
56a727:	7c 08                	jl     0x56a731
56a729:	5f                   	pop    %edi
56a72a:	5e                   	pop    %esi
56a72b:	5d                   	pop    %ebp
56a72c:	8b c2                	mov    %edx,%eax
56a72e:	5b                   	pop    %ebx
56a72f:	59                   	pop    %ecx
56a730:	c3                   	ret
56a731:	5f                   	pop    %edi
56a732:	5e                   	pop    %esi
56a733:	5d                   	pop    %ebp
56a734:	33 c0                	xor    %eax,%eax
56a736:	5b                   	pop    %ebx
56a737:	59                   	pop    %ecx
56a738:	c3                   	ret
56a739:	cc                   	int3
56a73a:	cc                   	int3
56a73b:	cc                   	int3
56a73c:	cc                   	int3
56a73d:	cc                   	int3
56a73e:	cc                   	int3
56a73f:	cc                   	int3
56a740:	b8 04 00 00 00       	mov    $0x4,%eax
56a745:	e8 66 70 06 00       	call   0x5d17b0
56a74a:	53                   	push   %ebx
56a74b:	55                   	push   %ebp
56a74c:	56                   	push   %esi
56a74d:	8b 74 24 14          	mov    0x14(%esp),%esi
56a751:	83 cd ff             	or     $0xffffffff,%ebp
56a754:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
56a759:	57                   	push   %edi
56a75a:	8b 7e 24             	mov    0x24(%esi),%edi
56a75d:	75 20                	jne    0x56a77f
56a75f:	68 e0 00 00 00       	push   $0xe0
56a764:	68 68 86 65 00       	push   $0x658668
56a769:	6a 73                	push   $0x73
56a76b:	6a 75                	push   $0x75
56a76d:	6a 20                	push   $0x20
56a76f:	e8 0c e8 f6 ff       	call   0x4d8f80
56a774:	83 c4 14             	add    $0x14,%esp
56a777:	8b c5                	mov    %ebp,%eax
56a779:	5f                   	pop    %edi
56a77a:	5e                   	pop    %esi
56a77b:	5d                   	pop    %ebp
56a77c:	5b                   	pop    %ebx
56a77d:	59                   	pop    %ecx
56a77e:	c3                   	ret
56a77f:	f7 46 18 00 02 00 00 	testl  $0x200,0x18(%esi)
56a786:	74 20                	je     0x56a7a8
56a788:	68 e4 00 00 00       	push   $0xe4
56a78d:	68 68 86 65 00       	push   $0x658668
56a792:	6a 7e                	push   $0x7e
56a794:	6a 75                	push   $0x75
56a796:	6a 20                	push   $0x20
56a798:	e8 e3 e7 f6 ff       	call   0x4d8f80
56a79d:	83 c4 14             	add    $0x14,%esp
56a7a0:	8b c5                	mov    %ebp,%eax
56a7a2:	5f                   	pop    %edi
56a7a3:	5e                   	pop    %esi
56a7a4:	5d                   	pop    %ebp
56a7a5:	5b                   	pop    %ebx
56a7a6:	59                   	pop    %ecx
56a7a7:	c3                   	ret
56a7a8:	6a 0f                	push   $0xf
56a7aa:	56                   	push   %esi
56a7ab:	e8 50 e3 f8 ff       	call   0x4f8b00
56a7b0:	8b 5c 24 28          	mov    0x28(%esp),%ebx
56a7b4:	83 c4 08             	add    $0x8,%esp
56a7b7:	85 db                	test   %ebx,%ebx
56a7b9:	75 08                	jne    0x56a7c3
56a7bb:	5f                   	pop    %edi
56a7bc:	5e                   	pop    %esi
56a7bd:	5d                   	pop    %ebp
56a7be:	33 c0                	xor    %eax,%eax
56a7c0:	5b                   	pop    %ebx
56a7c1:	59                   	pop    %ecx
56a7c2:	c3                   	ret
56a7c3:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
56a7c7:	8b 47 04             	mov    0x4(%edi),%eax
56a7ca:	8b 08                	mov    (%eax),%ecx
56a7cc:	89 4c 24 10          	mov    %ecx,0x10(%esp)
56a7d0:	74 43                	je     0x56a815
56a7d2:	8b 76 24             	mov    0x24(%esi),%esi
56a7d5:	85 f6                	test   %esi,%esi
56a7d7:	74 3c                	je     0x56a815
56a7d9:	8b 06                	mov    (%esi),%eax
56a7db:	8b 56 04             	mov    0x4(%esi),%edx
56a7de:	8b 40 04             	mov    0x4(%eax),%eax
56a7e1:	89 44 24 18          	mov    %eax,0x18(%esp)
56a7e5:	8b 42 04             	mov    0x4(%edx),%eax
56a7e8:	3b 44 24 18          	cmp    0x18(%esp),%eax
56a7ec:	74 27                	je     0x56a815
56a7ee:	ff 32                	push   (%edx)
56a7f0:	50                   	push   %eax
56a7f1:	ff 74 24 20          	push   0x20(%esp)
56a7f5:	e8 d6 85 06 00       	call   0x5d2dd0
56a7fa:	8b 46 04             	mov    0x4(%esi),%eax
56a7fd:	83 c4 0c             	add    $0xc,%esp