41b4ba:	2b c1                	sub    %ecx,%eax
41b4bc:	d1 f8                	sar    $1,%eax
41b4be:	83 f8 0a             	cmp    $0xa,%eax
41b4c1:	73 92                	jae    0x41b455
41b4c3:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
41b4c6:	3b 8d 54 ff ff ff    	cmp    -0xac(%ebp),%ecx
41b4cc:	7d 12                	jge    0x41b4e0
41b4ce:	8a 80 9c 32 4b 00    	mov    0x4b329c(%eax),%al
41b4d4:	88 03                	mov    %al,(%ebx)
41b4d6:	43                   	inc    %ebx
41b4d7:	41                   	inc    %ecx
41b4d8:	89 5d 98             	mov    %ebx,-0x68(%ebp)
41b4db:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
41b4de:	eb 19                	jmp    0x41b4f9
41b4e0:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
41b4e6:	85 c0                	test   %eax,%eax
41b4e8:	0f b6 c9             	movzbl %cl,%ecx
41b4eb:	b8 01 00 00 00       	mov    $0x1,%eax
41b4f0:	0f 45 c8             	cmovne %eax,%ecx
41b4f3:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
41b4f9:	8b 1e                	mov    (%esi),%ebx
41b4fb:	c6 45 9f 01          	movb   $0x1,-0x61(%ebp)
41b4ff:	85 db                	test   %ebx,%ebx
41b501:	74 4d                	je     0x41b550
41b503:	8b 43 1c             	mov    0x1c(%ebx),%eax
41b506:	83 38 00             	cmpl   $0x0,(%eax)
41b509:	74 1b                	je     0x41b526
41b50b:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41b50e:	8b 01                	mov    (%ecx),%eax
41b510:	85 c0                	test   %eax,%eax
41b512:	7e 12                	jle    0x41b526
41b514:	48                   	dec    %eax
41b515:	89 01                	mov    %eax,(%ecx)
41b517:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41b51a:	8b 11                	mov    (%ecx),%edx
41b51c:	8d 42 02             	lea    0x2(%edx),%eax
41b51f:	89 01                	mov    %eax,(%ecx)
41b521:	0f b7 02             	movzwl (%edx),%eax
41b524:	eb 17                	jmp    0x41b53d
41b526:	8b 03                	mov    (%ebx),%eax
41b528:	8b 78 1c             	mov    0x1c(%eax),%edi
41b52b:	8b cf                	mov    %edi,%ecx
41b52d:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41b533:	8b cb                	mov    %ebx,%ecx
41b535:	ff d7                	call   *%edi
41b537:	8b 7d 90             	mov    -0x70(%ebp),%edi
41b53a:	0f b7 c0             	movzwl %ax,%eax
41b53d:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41b542:	66 3b c8             	cmp    %ax,%cx
41b545:	74 09                	je     0x41b550
41b547:	c6 46 04 00          	movb   $0x0,0x4(%esi)
41b54b:	e9 d7 fe ff ff       	jmp    0x41b427
41b550:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41b556:	c6 46 04 01          	movb   $0x1,0x4(%esi)
41b55a:	e9 c8 fe ff ff       	jmp    0x41b427
41b55f:	fe c1                	inc    %cl
41b561:	88 0f                	mov    %cl,(%edi)
41b563:	3b 7d 80             	cmp    -0x80(%ebp),%edi
41b566:	75 06                	jne    0x41b56e
41b568:	ff 45 88             	incl   -0x78(%ebp)
41b56b:	c6 07 31             	movb   $0x31,(%edi)
41b56e:	8b 7d 90             	mov    -0x70(%ebp),%edi
41b571:	8a 45 9f             	mov    -0x61(%ebp),%al
41b574:	84 c0                	test   %al,%al
41b576:	74 28                	je     0x41b5a0
41b578:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41b57c:	75 07                	jne    0x41b585
41b57e:	8b ce                	mov    %esi,%ecx
41b580:	e8 1b 1e 00 00       	call   0x41d3a0
41b585:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41b589:	75 07                	jne    0x41b592
41b58b:	8b cf                	mov    %edi,%ecx
41b58d:	e8 0e 1e 00 00       	call   0x41d3a0
41b592:	83 3e 00             	cmpl   $0x0,(%esi)
41b595:	8b 07                	mov    (%edi),%eax
41b597:	75 20                	jne    0x41b5b9
41b599:	85 c0                	test   %eax,%eax
41b59b:	75 20                	jne    0x41b5bd
41b59d:	8a 45 9f             	mov    -0x61(%ebp),%al
41b5a0:	80 7d 8f 00          	cmpb   $0x0,-0x71(%ebp)
41b5a4:	75 08                	jne    0x41b5ae
41b5a6:	84 c0                	test   %al,%al
41b5a8:	0f 85 b9 03 00 00    	jne    0x41b967
41b5ae:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
41b5b4:	e9 b1 03 00 00       	jmp    0x41b96a
41b5b9:	85 c0                	test   %eax,%eax
41b5bb:	75 e0                	jne    0x41b59d
41b5bd:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41b5c1:	75 07                	jne    0x41b5ca
41b5c3:	8b ce                	mov    %esi,%ecx
41b5c5:	e8 d6 1d 00 00       	call   0x41d3a0
41b5ca:	66 8b 46 06          	mov    0x6(%esi),%ax
41b5ce:	66 3b 45 ea          	cmp    -0x16(%ebp),%ax
41b5d2:	74 17                	je     0x41b5eb
41b5d4:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41b5d8:	75 07                	jne    0x41b5e1
41b5da:	8b ce                	mov    %esi,%ecx
41b5dc:	e8 bf 1d 00 00       	call   0x41d3a0
41b5e1:	66 8b 46 06          	mov    0x6(%esi),%ax
41b5e5:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
41b5e9:	75 b2                	jne    0x41b59d
41b5eb:	c6 03 65             	movb   $0x65,(%ebx)
41b5ee:	43                   	inc    %ebx
41b5ef:	89 5d 98             	mov    %ebx,-0x68(%ebp)
41b5f2:	8b 1e                	mov    (%esi),%ebx
41b5f4:	85 db                	test   %ebx,%ebx
41b5f6:	74 56                	je     0x41b64e
41b5f8:	8b 43 1c             	mov    0x1c(%ebx),%eax
41b5fb:	83 38 00             	cmpl   $0x0,(%eax)
41b5fe:	74 1b                	je     0x41b61b
41b600:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41b603:	8b 01                	mov    (%ecx),%eax
41b605:	85 c0                	test   %eax,%eax
41b607:	7e 12                	jle    0x41b61b
41b609:	48                   	dec    %eax
41b60a:	89 01                	mov    %eax,(%ecx)
41b60c:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41b60f:	8b 11                	mov    (%ecx),%edx
41b611:	8d 42 02             	lea    0x2(%edx),%eax
41b614:	89 01                	mov    %eax,(%ecx)
41b616:	0f b7 02             	movzwl (%edx),%eax
41b619:	eb 14                	jmp    0x41b62f
41b61b:	8b 03                	mov    (%ebx),%eax
41b61d:	8b 78 1c             	mov    0x1c(%eax),%edi
41b620:	8b cf                	mov    %edi,%ecx
41b622:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41b628:	8b cb                	mov    %ebx,%ecx
41b62a:	ff d7                	call   *%edi
41b62c:	0f b7 c0             	movzwl %ax,%eax
41b62f:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41b634:	66 3b c8             	cmp    %ax,%cx
41b637:	74 15                	je     0x41b64e
41b639:	8b ce                	mov    %esi,%ecx
41b63b:	c6 46 04 00          	movb   $0x0,0x4(%esi)
41b63f:	c6 45 9f 00          	movb   $0x0,-0x61(%ebp)
41b643:	33 db                	xor    %ebx,%ebx
41b645:	e8 56 1d 00 00       	call   0x41d3a0
41b64a:	8a c3                	mov    %bl,%al
41b64c:	eb 11                	jmp    0x41b65f
41b64e:	32 c0                	xor    %al,%al
41b650:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41b656:	c6 46 04 01          	movb   $0x1,0x4(%esi)
41b65a:	33 db                	xor    %ebx,%ebx
41b65c:	88 45 9f             	mov    %al,-0x61(%ebp)
41b65f:	88 45 97             	mov    %al,-0x69(%ebp)
41b662:	8b fb                	mov    %ebx,%edi
41b664:	8b 45 90             	mov    -0x70(%ebp),%eax
41b667:	89 bd 70 ff ff ff    	mov    %edi,-0x90(%ebp)
41b66d:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
41b671:	75 0a                	jne    0x41b67d
41b673:	8b c8                	mov    %eax,%ecx
41b675:	e8 26 1d 00 00       	call   0x41d3a0
41b67a:	8b 45 90             	mov    -0x70(%ebp),%eax
41b67d:	83 3e 00             	cmpl   $0x0,(%esi)
41b680:	8b 00                	mov    (%eax),%eax
41b682:	75 0a                	jne    0x41b68e
41b684:	85 c0                	test   %eax,%eax
41b686:	0f 84 24 01 00 00    	je     0x41b7b0
41b68c:	eb 08                	jmp    0x41b696
41b68e:	85 c0                	test   %eax,%eax
41b690:	0f 85 1a 01 00 00    	jne    0x41b7b0
41b696:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41b69a:	75 07                	jne    0x41b6a3
41b69c:	8b ce                	mov    %esi,%ecx
41b69e:	e8 fd 1c 00 00       	call   0x41d3a0
41b6a3:	66 8b 46 06          	mov    0x6(%esi),%ax
41b6a7:	66 3b 45 e6          	cmp    -0x1a(%ebp),%ax
41b6ab:	75 71                	jne    0x41b71e
41b6ad:	8b 45 98             	mov    -0x68(%ebp),%eax
41b6b0:	c6 00 2b             	movb   $0x2b,(%eax)
41b6b3:	40                   	inc    %eax
41b6b4:	8b 1e                	mov    (%esi),%ebx
41b6b6:	89 45 98             	mov    %eax,-0x68(%ebp)
41b6b9:	85 db                	test   %ebx,%ebx
41b6bb:	74 51                	je     0x41b70e
41b6bd:	8b 43 1c             	mov    0x1c(%ebx),%eax
41b6c0:	83 38 00             	cmpl   $0x0,(%eax)
41b6c3:	74 1b                	je     0x41b6e0
41b6c5:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41b6c8:	8b 01                	mov    (%ecx),%eax
41b6ca:	85 c0                	test   %eax,%eax
41b6cc:	7e 12                	jle    0x41b6e0
41b6ce:	48                   	dec    %eax
41b6cf:	89 01                	mov    %eax,(%ecx)
41b6d1:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41b6d4:	8b 11                	mov    (%ecx),%edx
41b6d6:	8d 42 02             	lea    0x2(%edx),%eax
41b6d9:	89 01                	mov    %eax,(%ecx)
41b6db:	0f b7 02             	movzwl (%edx),%eax
41b6de:	eb 1a                	jmp    0x41b6fa
41b6e0:	8b 03                	mov    (%ebx),%eax
41b6e2:	8b 78 1c             	mov    0x1c(%eax),%edi
41b6e5:	8b cf                	mov    %edi,%ecx
41b6e7:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41b6ed:	8b cb                	mov    %ebx,%ecx
41b6ef:	ff d7                	call   *%edi
41b6f1:	8b bd 70 ff ff ff    	mov    -0x90(%ebp),%edi
41b6f7:	0f b7 c0             	movzwl %ax,%eax
41b6fa:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41b6ff:	66 3b c8             	cmp    %ax,%cx
41b702:	74 0a                	je     0x41b70e
41b704:	32 c0                	xor    %al,%al
41b706:	88 46 04             	mov    %al,0x4(%esi)
41b709:	e9 96 00 00 00       	jmp    0x41b7a4
41b70e:	b0 01                	mov    $0x1,%al
41b710:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41b716:	88 46 04             	mov    %al,0x4(%esi)
41b719:	e9 86 00 00 00       	jmp    0x41b7a4
41b71e:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41b722:	75 07                	jne    0x41b72b
41b724:	8b ce                	mov    %esi,%ecx
41b726:	e8 75 1c 00 00       	call   0x41d3a0
41b72b:	8a 45 97             	mov    -0x69(%ebp),%al
41b72e:	8b df                	mov    %edi,%ebx
41b730:	88 45 9f             	mov    %al,-0x61(%ebp)
41b733:	66 8b 46 06          	mov    0x6(%esi),%ax
41b737:	66 3b 45 e4          	cmp    -0x1c(%ebp),%ax
41b73b:	75 73                	jne    0x41b7b0
41b73d:	8b 45 98             	mov    -0x68(%ebp),%eax
41b740:	c6 00 2d             	movb   $0x2d,(%eax)
41b743:	40                   	inc    %eax
41b744:	8b 1e                	mov    (%esi),%ebx
41b746:	89 45 98             	mov    %eax,-0x68(%ebp)
41b749:	85 db                	test   %ebx,%ebx
41b74b:	74 4d                	je     0x41b79a
41b74d:	8b 43 1c             	mov    0x1c(%ebx),%eax
41b750:	83 38 00             	cmpl   $0x0,(%eax)
41b753:	74 1b                	je     0x41b770
41b755:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41b758:	8b 01                	mov    (%ecx),%eax
41b75a:	85 c0                	test   %eax,%eax
41b75c:	7e 12                	jle    0x41b770
41b75e:	48                   	dec    %eax
41b75f:	89 01                	mov    %eax,(%ecx)
41b761:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41b764:	8b 11                	mov    (%ecx),%edx
41b766:	8d 42 02             	lea    0x2(%edx),%eax
41b769:	89 01                	mov    %eax,(%ecx)
41b76b:	0f b7 02             	movzwl (%edx),%eax
41b76e:	eb 1a                	jmp    0x41b78a
41b770:	8b 03                	mov    (%ebx),%eax
41b772:	8b 78 1c             	mov    0x1c(%eax),%edi
41b775:	8b cf                	mov    %edi,%ecx
41b777:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41b77d:	8b cb                	mov    %ebx,%ecx
41b77f:	ff d7                	call   *%edi
41b781:	8b bd 70 ff ff ff    	mov    -0x90(%ebp),%edi
41b787:	0f b7 c0             	movzwl %ax,%eax
41b78a:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41b78f:	66 3b c8             	cmp    %ax,%cx
41b792:	74 06                	je     0x41b79a
41b794:	c6 46 04 00          	movb   $0x0,0x4(%esi)
41b798:	eb 0a                	jmp    0x41b7a4
41b79a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41b7a0:	c6 46 04 01          	movb   $0x1,0x4(%esi)
41b7a4:	8a 45 97             	mov    -0x69(%ebp),%al
41b7a7:	88 45 9f             	mov    %al,-0x61(%ebp)
41b7aa:	8b df                	mov    %edi,%ebx
41b7ac:	0f 1f 40 00          	nopl   0x0(%eax)
41b7b0:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41b7b4:	75 07                	jne    0x41b7bd
41b7b6:	8b ce                	mov    %esi,%ecx
41b7b8:	e8 e3 1b 00 00       	call   0x41d3a0
41b7bd:	8b 45 90             	mov    -0x70(%ebp),%eax
41b7c0:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
41b7c4:	75 0a                	jne    0x41b7d0
41b7c6:	8b c8                	mov    %eax,%ecx
41b7c8:	e8 d3 1b 00 00       	call   0x41d3a0
41b7cd:	8b 45 90             	mov    -0x70(%ebp),%eax
41b7d0:	83 3e 00             	cmpl   $0x0,(%esi)
41b7d3:	8b fb                	mov    %ebx,%edi
41b7d5:	8b 00                	mov    (%eax),%eax
41b7d7:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
41b7dd:	75 49                	jne    0x41b828
41b7df:	85 c0                	test   %eax,%eax
41b7e1:	75 49                	jne    0x41b82c
41b7e3:	80 7d 9f 00          	cmpb   $0x0,-0x61(%ebp)
41b7e7:	74 0a                	je     0x41b7f3
41b7e9:	8b 45 98             	mov    -0x68(%ebp),%eax
41b7ec:	c6 00 30             	movb   $0x30,(%eax)
41b7ef:	40                   	inc    %eax
41b7f0:	89 45 98             	mov    %eax,-0x68(%ebp)
41b7f3:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41b7f7:	75 07                	jne    0x41b800
41b7f9:	8b ce                	mov    %esi,%ecx
41b7fb:	e8 a0 1b 00 00       	call   0x41d3a0
41b800:	8b 7d 90             	mov    -0x70(%ebp),%edi
41b803:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41b807:	75 07                	jne    0x41b810
41b809:	8b cf                	mov    %edi,%ecx
41b80b:	e8 90 1b 00 00       	call   0x41d3a0
41b810:	83 3e 00             	cmpl   $0x0,(%esi)
41b813:	8b 07                	mov    (%edi),%eax
41b815:	0f 85 93 00 00 00    	jne    0x41b8ae
41b81b:	85 c0                	test   %eax,%eax
41b81d:	0f 84 7a fd ff ff    	je     0x41b59d
41b823:	e9 8e 00 00 00       	jmp    0x41b8b6
41b828:	85 c0                	test   %eax,%eax
41b82a:	75 b7                	jne    0x41b7e3
41b82c:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41b830:	75 07                	jne    0x41b839
41b832:	8b ce                	mov    %esi,%ecx
41b834:	e8 67 1b 00 00       	call   0x41d3a0
41b839:	66 8b 46 06          	mov    0x6(%esi),%ax
41b83d:	8b df                	mov    %edi,%ebx
41b83f:	66 3b 45 d0          	cmp    -0x30(%ebp),%ax
41b843:	75 9e                	jne    0x41b7e3
41b845:	8b 1e                	mov    (%esi),%ebx
41b847:	c6 45 9f 01          	movb   $0x1,-0x61(%ebp)
41b84b:	85 db                	test   %ebx,%ebx
41b84d:	74 50                	je     0x41b89f
41b84f:	8b 43 1c             	mov    0x1c(%ebx),%eax
41b852:	83 38 00             	cmpl   $0x0,(%eax)
41b855:	74 1b                	je     0x41b872
41b857:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41b85a:	8b 01                	mov    (%ecx),%eax
41b85c:	85 c0                	test   %eax,%eax
41b85e:	7e 12                	jle    0x41b872
41b860:	48                   	dec    %eax
41b861:	89 01                	mov    %eax,(%ecx)
41b863:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41b866:	8b 11                	mov    (%ecx),%edx
41b868:	8d 42 02             	lea    0x2(%edx),%eax
41b86b:	89 01                	mov    %eax,(%ecx)
41b86d:	0f b7 02             	movzwl (%edx),%eax
41b870:	eb 1a                	jmp    0x41b88c
41b872:	8b 03                	mov    (%ebx),%eax
41b874:	8b 78 1c             	mov    0x1c(%eax),%edi
41b877:	8b cf                	mov    %edi,%ecx
41b879:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41b87f:	8b cb                	mov    %ebx,%ecx
41b881:	ff d7                	call   *%edi
41b883:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
41b889:	0f b7 c0             	movzwl %ax,%eax
41b88c:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41b891:	66 3b c8             	cmp    %ax,%cx
41b894:	74 09                	je     0x41b89f
41b896:	c6 46 04 00          	movb   $0x0,0x4(%esi)
41b89a:	e9 0b ff ff ff       	jmp    0x41b7aa
41b89f:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41b8a5:	c6 46 04 01          	movb   $0x1,0x4(%esi)
41b8a9:	e9 fc fe ff ff       	jmp    0x41b7aa
41b8ae:	85 c0                	test   %eax,%eax
41b8b0:	0f 85 e7 fc ff ff    	jne    0x41b59d
41b8b6:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41b8ba:	75 07                	jne    0x41b8c3
41b8bc:	8b ce                	mov    %esi,%ecx
41b8be:	e8 dd 1a 00 00       	call   0x41d3a0
41b8c3:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41b8c7:	50                   	push   %eax