56d442:	75 3b                	jne    0x56d47f
56d444:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
56d448:	0f 85 b7 00 00 00    	jne    0x56d505
56d44e:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
56d452:	0f 85 ad 00 00 00    	jne    0x56d505
56d458:	83 fe 02             	cmp    $0x2,%esi
56d45b:	74 22                	je     0x56d47f
56d45d:	52                   	push   %edx
56d45e:	85 f6                	test   %esi,%esi
56d460:	b8 01 00 00 00       	mov    $0x1,%eax
56d465:	55                   	push   %ebp
56d466:	0f 44 f0             	cmove  %eax,%esi
56d469:	e8 a2 00 00 00       	call   0x56d510
56d46e:	83 c4 08             	add    $0x8,%esp
56d471:	85 c0                	test   %eax,%eax
56d473:	75 05                	jne    0x56d47a
56d475:	8d 70 02             	lea    0x2(%eax),%esi
56d478:	eb 05                	jmp    0x56d47f
56d47a:	83 f8 2f             	cmp    $0x2f,%eax
56d47d:	75 77                	jne    0x56d4f6
56d47f:	ff 37                	push   (%edi)
56d481:	43                   	inc    %ebx
56d482:	e8 39 7c f7 ff       	call   0x4e50c0
56d487:	83 c4 04             	add    $0x4,%esp
56d48a:	3b d8                	cmp    %eax,%ebx
56d48c:	7c a2                	jl     0x56d430
56d48e:	83 fe 01             	cmp    $0x1,%esi
56d491:	75 08                	jne    0x56d49b
56d493:	5f                   	pop    %edi
56d494:	8d 46 2e             	lea    0x2e(%esi),%eax
56d497:	5e                   	pop    %esi
56d498:	5d                   	pop    %ebp
56d499:	5b                   	pop    %ebx
56d49a:	c3                   	ret
56d49b:	ff 77 04             	push   0x4(%edi)
56d49e:	33 f6                	xor    %esi,%esi
56d4a0:	e8 1b 7c f7 ff       	call   0x4e50c0
56d4a5:	83 c4 04             	add    $0x4,%esp
56d4a8:	85 c0                	test   %eax,%eax
56d4aa:	7e 48                	jle    0x56d4f4
56d4ac:	0f 1f 40 00          	nopl   0x0(%eax)
56d4b0:	56                   	push   %esi
56d4b1:	ff 77 04             	push   0x4(%edi)
56d4b4:	e8 c7 7d f7 ff       	call   0x4e5280
56d4b9:	8b 4d 00             	mov    0x0(%ebp),%ecx
56d4bc:	83 c4 08             	add    $0x8,%esp
56d4bf:	8b 10                	mov    (%eax),%edx
56d4c1:	3b 0a                	cmp    (%edx),%ecx
56d4c3:	75 1f                	jne    0x56d4e4
56d4c5:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
56d4c9:	75 3a                	jne    0x56d505
56d4cb:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
56d4cf:	75 34                	jne    0x56d505
56d4d1:	52                   	push   %edx
56d4d2:	55                   	push   %ebp
56d4d3:	e8 38 00 00 00       	call   0x56d510
56d4d8:	83 c4 08             	add    $0x8,%esp
56d4db:	85 c0                	test   %eax,%eax
56d4dd:	74 1c                	je     0x56d4fb
56d4df:	83 f8 2f             	cmp    $0x2f,%eax
56d4e2:	75 12                	jne    0x56d4f6
56d4e4:	ff 77 04             	push   0x4(%edi)
56d4e7:	46                   	inc    %esi
56d4e8:	e8 d3 7b f7 ff       	call   0x4e50c0
56d4ed:	83 c4 04             	add    $0x4,%esp
56d4f0:	3b f0                	cmp    %eax,%esi
56d4f2:	7c bc                	jl     0x56d4b0
56d4f4:	33 c0                	xor    %eax,%eax
56d4f6:	5f                   	pop    %edi
56d4f7:	5e                   	pop    %esi
56d4f8:	5d                   	pop    %ebp
56d4f9:	5b                   	pop    %ebx
56d4fa:	c3                   	ret
56d4fb:	5f                   	pop    %edi
56d4fc:	5e                   	pop    %esi
56d4fd:	5d                   	pop    %ebp
56d4fe:	b8 30 00 00 00       	mov    $0x30,%eax
56d503:	5b                   	pop    %ebx
56d504:	c3                   	ret
56d505:	5f                   	pop    %edi
56d506:	5e                   	pop    %esi
56d507:	5d                   	pop    %ebp
56d508:	b8 31 00 00 00       	mov    $0x31,%eax
56d50d:	5b                   	pop    %ebx
56d50e:	c3                   	ret
56d50f:	cc                   	int3
56d510:	b8 04 00 00 00       	mov    $0x4,%eax
56d515:	e8 96 42 06 00       	call   0x5d17b0
56d51a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
56d51e:	53                   	push   %ebx
56d51f:	56                   	push   %esi
56d520:	57                   	push   %edi
56d521:	8b 01                	mov    (%ecx),%eax
56d523:	48                   	dec    %eax
56d524:	83 f8 06             	cmp    $0x6,%eax
56d527:	0f 87 b4 02 00 00    	ja     0x56d7e1
56d52d:	ff 24 85 ec d7 56 00 	jmp    *0x56d7ec(,%eax,4)
56d534:	8b 44 24 14          	mov    0x14(%esp),%eax
56d538:	8b 71 04             	mov    0x4(%ecx),%esi
56d53b:	8b 78 04             	mov    0x4(%eax),%edi
56d53e:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
56d542:	74 19                	je     0x56d55d
56d544:	6a 00                	push   $0x0
56d546:	57                   	push   %edi
56d547:	e8 c4 e7 fe ff       	call   0x55bd10
56d54c:	83 c4 08             	add    $0x8,%esp
56d54f:	85 c0                	test   %eax,%eax
56d551:	79 0a                	jns    0x56d55d
56d553:	5f                   	pop    %edi
56d554:	5e                   	pop    %esi
56d555:	b8 11 00 00 00       	mov    $0x11,%eax
56d55a:	5b                   	pop    %ebx
56d55b:	59                   	pop    %ecx
56d55c:	c3                   	ret
56d55d:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
56d561:	74 0f                	je     0x56d572
56d563:	6a 00                	push   $0x0
56d565:	56                   	push   %esi
56d566:	e8 a5 e7 fe ff       	call   0x55bd10
56d56b:	83 c4 08             	add    $0x8,%esp
56d56e:	85 c0                	test   %eax,%eax
56d570:	78 e1                	js     0x56d553
56d572:	8b 4e 10             	mov    0x10(%esi),%ecx
56d575:	3b 4f 10             	cmp    0x10(%edi),%ecx
56d578:	7f 4e                	jg     0x56d5c8
56d57a:	8b 56 0c             	mov    0xc(%esi),%edx
56d57d:	8b 77 0c             	mov    0xc(%edi),%esi
56d580:	83 e9 04             	sub    $0x4,%ecx
56d583:	72 11                	jb     0x56d596
56d585:	8b 02                	mov    (%edx),%eax
56d587:	3b 06                	cmp    (%esi),%eax
56d589:	75 10                	jne    0x56d59b
56d58b:	83 c2 04             	add    $0x4,%edx
56d58e:	83 c6 04             	add    $0x4,%esi
56d591:	83 e9 04             	sub    $0x4,%ecx
56d594:	73 ef                	jae    0x56d585
56d596:	83 f9 fc             	cmp    $0xfffffffc,%ecx
56d599:	74 37                	je     0x56d5d2
56d59b:	8a 02                	mov    (%edx),%al
56d59d:	3a 06                	cmp    (%esi),%al
56d59f:	75 27                	jne    0x56d5c8
56d5a1:	83 f9 fd             	cmp    $0xfffffffd,%ecx
56d5a4:	74 2c                	je     0x56d5d2
56d5a6:	8a 42 01             	mov    0x1(%edx),%al
56d5a9:	3a 46 01             	cmp    0x1(%esi),%al
56d5ac:	75 1a                	jne    0x56d5c8
56d5ae:	83 f9 fe             	cmp    $0xfffffffe,%ecx
56d5b1:	74 1f                	je     0x56d5d2
56d5b3:	8a 42 02             	mov    0x2(%edx),%al
56d5b6:	3a 46 02             	cmp    0x2(%esi),%al
56d5b9:	75 0d                	jne    0x56d5c8
56d5bb:	83 f9 ff             	cmp    $0xffffffff,%ecx
56d5be:	74 12                	je     0x56d5d2
56d5c0:	8a 42 03             	mov    0x3(%edx),%al
56d5c3:	3a 46 03             	cmp    0x3(%esi),%al
56d5c6:	74 0a                	je     0x56d5d2
56d5c8:	5f                   	pop    %edi
56d5c9:	5e                   	pop    %esi
56d5ca:	b8 2f 00 00 00       	mov    $0x2f,%eax
56d5cf:	5b                   	pop    %ebx
56d5d0:	59                   	pop    %ecx
56d5d1:	c3                   	ret
56d5d2:	5f                   	pop    %edi
56d5d3:	5e                   	pop    %esi
56d5d4:	33 c0                	xor    %eax,%eax
56d5d6:	5b                   	pop    %ebx
56d5d7:	59                   	pop    %ecx
56d5d8:	c3                   	ret
56d5d9:	8b 51 04             	mov    0x4(%ecx),%edx
56d5dc:	8b 44 24 14          	mov    0x14(%esp),%eax
56d5e0:	8b 72 08             	mov    0x8(%edx),%esi
56d5e3:	8b 48 04             	mov    0x4(%eax),%ecx
56d5e6:	8a 1e                	mov    (%esi),%bl
56d5e8:	8b 41 08             	mov    0x8(%ecx),%eax
56d5eb:	84 db                	test   %bl,%bl
56d5ed:	74 e3                	je     0x56d5d2
56d5ef:	8b 09                	mov    (%ecx),%ecx
56d5f1:	8b 12                	mov    (%edx),%edx
56d5f3:	3b ca                	cmp    %edx,%ecx
56d5f5:	7e 0f                	jle    0x56d606
56d5f7:	2b ca                	sub    %edx,%ecx
56d5f9:	03 c1                	add    %ecx,%eax
56d5fb:	80 fb 2e             	cmp    $0x2e,%bl
56d5fe:	74 06                	je     0x56d606
56d600:	80 78 ff 2e          	cmpb   $0x2e,-0x1(%eax)
56d604:	75 c2                	jne    0x56d5c8
56d606:	6a ff                	push   $0xffffffff
56d608:	50                   	push   %eax
56d609:	56                   	push   %esi
56d60a:	e8 a1 fd ff ff       	call   0x56d3b0
56d60f:	83 c4 0c             	add    $0xc,%esp
56d612:	f7 d8                	neg    %eax
56d614:	1b c0                	sbb    %eax,%eax
56d616:	83 e0 2f             	and    $0x2f,%eax
56d619:	5f                   	pop    %edi
56d61a:	5e                   	pop    %esi
56d61b:	5b                   	pop    %ebx
56d61c:	59                   	pop    %ecx
56d61d:	c3                   	ret
56d61e:	8b 44 24 14          	mov    0x14(%esp),%eax
56d622:	8b 49 04             	mov    0x4(%ecx),%ecx
56d625:	55                   	push   %ebp
56d626:	6a 40                	push   $0x40
56d628:	8b 40 04             	mov    0x4(%eax),%eax
56d62b:	8b 71 08             	mov    0x8(%ecx),%esi
56d62e:	56                   	push   %esi
56d62f:	89 4c 24 18          	mov    %ecx,0x18(%esp)
56d633:	8b 58 08             	mov    0x8(%eax),%ebx
56d636:	89 44 24 24          	mov    %eax,0x24(%esp)
56d63a:	e8 31 5d 06 00       	call   0x5d3370
56d63f:	6a 40                	push   $0x40
56d641:	53                   	push   %ebx
56d642:	8b f8                	mov    %eax,%edi
56d644:	e8 27 5d 06 00       	call   0x5d3370
56d649:	8b e8                	mov    %eax,%ebp
56d64b:	83 c4 10             	add    $0x10,%esp
56d64e:	85 ed                	test   %ebp,%ebp
56d650:	75 09                	jne    0x56d65b
56d652:	8d 45 35             	lea    0x35(%ebp),%eax
56d655:	5d                   	pop    %ebp
56d656:	5f                   	pop    %edi
56d657:	5e                   	pop    %esi
56d658:	5b                   	pop    %ebx
56d659:	59                   	pop    %ecx
56d65a:	c3                   	ret
56d65b:	85 ff                	test   %edi,%edi
56d65d:	75 3a                	jne    0x56d699
56d65f:	80 3e 2e             	cmpb   $0x2e,(%esi)
56d662:	75 57                	jne    0x56d6bb
56d664:	8b 44 24 1c          	mov    0x1c(%esp),%eax
56d668:	8b 4c 24 10          	mov    0x10(%esp),%ecx
56d66c:	8b 00                	mov    (%eax),%eax
56d66e:	8b 09                	mov    (%ecx),%ecx
56d670:	3b c1                	cmp    %ecx,%eax
56d672:	7e 1a                	jle    0x56d68e
56d674:	2b c1                	sub    %ecx,%eax
56d676:	6a ff                	push   $0xffffffff
56d678:	03 c3                	add    %ebx,%eax
56d67a:	50                   	push   %eax
56d67b:	56                   	push   %esi
56d67c:	e8 2f fd ff ff       	call   0x56d3b0
56d681:	83 c4 0c             	add    $0xc,%esp
56d684:	85 c0                	test   %eax,%eax
56d686:	75 06                	jne    0x56d68e
56d688:	5d                   	pop    %ebp
56d689:	5f                   	pop    %edi
56d68a:	5e                   	pop    %esi
56d68b:	5b                   	pop    %ebx
56d68c:	59                   	pop    %ecx
56d68d:	c3                   	ret
56d68e:	5d                   	pop    %ebp
56d68f:	5f                   	pop    %edi
56d690:	5e                   	pop    %esi
56d691:	b8 2f 00 00 00       	mov    $0x2f,%eax
56d696:	5b                   	pop    %ebx
56d697:	59                   	pop    %ecx
56d698:	c3                   	ret
56d699:	3b fe                	cmp    %esi,%edi
56d69b:	74 1b                	je     0x56d6b8
56d69d:	8b cd                	mov    %ebp,%ecx
56d69f:	8b c7                	mov    %edi,%eax
56d6a1:	2b cb                	sub    %ebx,%ecx
56d6a3:	2b c6                	sub    %esi,%eax
56d6a5:	3b c1                	cmp    %ecx,%eax
56d6a7:	75 e5                	jne    0x56d68e
56d6a9:	51                   	push   %ecx
56d6aa:	53                   	push   %ebx
56d6ab:	56                   	push   %esi
56d6ac:	e8 df 80 07 00       	call   0x5e5790
56d6b1:	83 c4 0c             	add    $0xc,%esp
56d6b4:	85 c0                	test   %eax,%eax
56d6b6:	75 d6                	jne    0x56d68e
56d6b8:	8d 77 01             	lea    0x1(%edi),%esi
56d6bb:	6a ff                	push   $0xffffffff
56d6bd:	8d 45 01             	lea    0x1(%ebp),%eax
56d6c0:	50                   	push   %eax
56d6c1:	56                   	push   %esi
56d6c2:	e8 e9 fc ff ff       	call   0x56d3b0
56d6c7:	83 c4 0c             	add    $0xc,%esp
56d6ca:	f7 d8                	neg    %eax
56d6cc:	1b c0                	sbb    %eax,%eax
56d6ce:	83 e0 2f             	and    $0x2f,%eax
56d6d1:	5d                   	pop    %ebp
56d6d2:	5f                   	pop    %edi
56d6d3:	5e                   	pop    %esi
56d6d4:	5b                   	pop    %ebx
56d6d5:	59                   	pop    %ecx
56d6d6:	c3                   	ret
56d6d7:	8b 44 24 14          	mov    0x14(%esp),%eax
56d6db:	8b 59 04             	mov    0x4(%ecx),%ebx
56d6de:	6a 3a                	push   $0x3a
56d6e0:	8b 40 04             	mov    0x4(%eax),%eax
56d6e3:	8b 7b 08             	mov    0x8(%ebx),%edi
56d6e6:	ff 70 08             	push   0x8(%eax)
56d6e9:	e8 82 5c 06 00       	call   0x5d3370
56d6ee:	83 c4 08             	add    $0x8,%esp
56d6f1:	85 c0                	test   %eax,%eax
56d6f3:	0f 84 80 00 00 00    	je     0x56d779
56d6f9:	80 78 01 2f          	cmpb   $0x2f,0x1(%eax)
56d6fd:	75 7a                	jne    0x56d779
56d6ff:	80 78 02 2f          	cmpb   $0x2f,0x2(%eax)
56d703:	75 74                	jne    0x56d779
56d705:	8d 70 03             	lea    0x3(%eax),%esi
56d708:	6a 3a                	push   $0x3a
56d70a:	56                   	push   %esi
56d70b:	e8 60 5c 06 00       	call   0x5d3370
56d710:	8b c8                	mov    %eax,%ecx
56d712:	83 c4 08             	add    $0x8,%esp
56d715:	85 c9                	test   %ecx,%ecx
56d717:	75 22                	jne    0x56d73b
56d719:	6a 2f                	push   $0x2f
56d71b:	56                   	push   %esi
56d71c:	e8 4f 5c 06 00       	call   0x5d3370
56d721:	8b c8                	mov    %eax,%ecx
56d723:	83 c4 08             	add    $0x8,%esp
56d726:	85 c9                	test   %ecx,%ecx
56d728:	75 11                	jne    0x56d73b
56d72a:	8b ce                	mov    %esi,%ecx
56d72c:	8d 51 01             	lea    0x1(%ecx),%edx
56d72f:	90                   	nop
56d730:	8a 01                	mov    (%ecx),%al
56d732:	41                   	inc    %ecx
56d733:	84 c0                	test   %al,%al
56d735:	75 f9                	jne    0x56d730
56d737:	2b ca                	sub    %edx,%ecx
56d739:	eb 02                	jmp    0x56d73d
56d73b:	2b ce                	sub    %esi,%ecx
56d73d:	85 c9                	test   %ecx,%ecx
56d73f:	74 38                	je     0x56d779
56d741:	80 3f 2e             	cmpb   $0x2e,(%edi)
56d744:	8b 03                	mov    (%ebx),%eax
56d746:	75 24                	jne    0x56d76c
56d748:	3b c8                	cmp    %eax,%ecx
56d74a:	0f 8e 78 fe ff ff    	jle    0x56d5c8
56d750:	50                   	push   %eax
56d751:	2b c8                	sub    %eax,%ecx
56d753:	57                   	push   %edi
56d754:	03 ce                	add    %esi,%ecx
56d756:	51                   	push   %ecx
56d757:	e8 54 fc ff ff       	call   0x56d3b0
56d75c:	83 c4 0c             	add    $0xc,%esp
56d75f:	85 c0                	test   %eax,%eax
56d761:	0f 85 61 fe ff ff    	jne    0x56d5c8
56d767:	5f                   	pop    %edi
56d768:	5e                   	pop    %esi
56d769:	5b                   	pop    %ebx
56d76a:	59                   	pop    %ecx
56d76b:	c3                   	ret
56d76c:	3b c1                	cmp    %ecx,%eax
56d76e:	0f 85 54 fe ff ff    	jne    0x56d5c8