41f4bc:	83 ca ff             	or     $0xffffffff,%edx
41f4bf:	81 7d 08 55 55 55 15 	cmpl   $0x15555555,0x8(%ebp)
41f4c6:	0f 47 ca             	cmova  %edx,%ecx
41f4c9:	51                   	push   %ecx
41f4ca:	e8 b9 31 fe ff       	call   0x402688
41f4cf:	59                   	pop    %ecx
41f4d0:	5d                   	pop    %ebp
41f4d1:	c2 04 00             	ret    $0x4
41f4d4:	55                   	push   %ebp
41f4d5:	8b ec                	mov    %esp,%ebp
41f4d7:	8b 4d 08             	mov    0x8(%ebp),%ecx
41f4da:	83 ca ff             	or     $0xffffffff,%edx
41f4dd:	c1 e1 03             	shl    $0x3,%ecx
41f4e0:	81 7d 08 ff ff ff 1f 	cmpl   $0x1fffffff,0x8(%ebp)
41f4e7:	0f 47 ca             	cmova  %edx,%ecx
41f4ea:	51                   	push   %ecx
41f4eb:	e8 98 31 fe ff       	call   0x402688
41f4f0:	59                   	pop    %ecx
41f4f1:	5d                   	pop    %ebp
41f4f2:	c2 04 00             	ret    $0x4
41f4f5:	55                   	push   %ebp
41f4f6:	8b ec                	mov    %esp,%ebp
41f4f8:	8b 45 08             	mov    0x8(%ebp),%eax
41f4fb:	83 ca ff             	or     $0xffffffff,%edx
41f4fe:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41f503:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
41f506:	0f 47 ca             	cmova  %edx,%ecx
41f509:	51                   	push   %ecx
41f50a:	e8 79 31 fe ff       	call   0x402688
41f50f:	59                   	pop    %ecx
41f510:	5d                   	pop    %ebp
41f511:	c2 04 00             	ret    $0x4
41f514:	55                   	push   %ebp
41f515:	8b ec                	mov    %esp,%ebp
41f517:	8b 45 08             	mov    0x8(%ebp),%eax
41f51a:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
41f51e:	8b 50 10             	mov    0x10(%eax),%edx
41f521:	72 02                	jb     0x41f525
41f523:	8b 00                	mov    (%eax),%eax
41f525:	52                   	push   %edx
41f526:	50                   	push   %eax
41f527:	e8 80 00 00 00       	call   0x41f5ac
41f52c:	5d                   	pop    %ebp
41f52d:	c2 04 00             	ret    $0x4
41f530:	55                   	push   %ebp
41f531:	8b ec                	mov    %esp,%ebp
41f533:	53                   	push   %ebx
41f534:	8b 5d 08             	mov    0x8(%ebp),%ebx
41f537:	57                   	push   %edi
41f538:	8b f9                	mov    %ecx,%edi
41f53a:	8b 47 14             	mov    0x14(%edi),%eax
41f53d:	8b 4f 10             	mov    0x10(%edi),%ecx
41f540:	2b c1                	sub    %ecx,%eax
41f542:	3b d8                	cmp    %eax,%ebx
41f544:	77 2c                	ja     0x41f572
41f546:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
41f54a:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
41f54d:	89 47 10             	mov    %eax,0x10(%edi)
41f550:	8b c7                	mov    %edi,%eax
41f552:	72 02                	jb     0x41f556
41f554:	8b 07                	mov    (%edi),%eax
41f556:	56                   	push   %esi
41f557:	8d 34 08             	lea    (%eax,%ecx,1),%esi
41f55a:	0f be 45 0c          	movsbl 0xc(%ebp),%eax
41f55e:	53                   	push   %ebx
41f55f:	50                   	push   %eax
41f560:	56                   	push   %esi
41f561:	e8 fa 48 02 00       	call   0x443e60
41f566:	83 c4 0c             	add    $0xc,%esp
41f569:	c6 04 1e 00          	movb   $0x0,(%esi,%ebx,1)
41f56d:	8b c7                	mov    %edi,%eax
41f56f:	5e                   	pop    %esi
41f570:	eb 13                	jmp    0x41f585
41f572:	ff 75 0c             	push   0xc(%ebp)
41f575:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
41f579:	8b cf                	mov    %edi,%ecx
41f57b:	53                   	push   %ebx
41f57c:	ff 75 08             	push   0x8(%ebp)
41f57f:	53                   	push   %ebx
41f580:	e8 0c 5d fe ff       	call   0x405291
41f585:	5f                   	pop    %edi
41f586:	5b                   	pop    %ebx
41f587:	5d                   	pop    %ebp
41f588:	c2 08 00             	ret    $0x8
41f58b:	55                   	push   %ebp
41f58c:	8b ec                	mov    %esp,%ebp
41f58e:	8b 55 08             	mov    0x8(%ebp),%edx
41f591:	56                   	push   %esi
41f592:	8d 72 01             	lea    0x1(%edx),%esi
41f595:	8a 02                	mov    (%edx),%al
41f597:	42                   	inc    %edx
41f598:	84 c0                	test   %al,%al
41f59a:	75 f9                	jne    0x41f595
41f59c:	2b d6                	sub    %esi,%edx
41f59e:	52                   	push   %edx
41f59f:	ff 75 08             	push   0x8(%ebp)
41f5a2:	e8 05 00 00 00       	call   0x41f5ac
41f5a7:	5e                   	pop    %esi
41f5a8:	5d                   	pop    %ebp
41f5a9:	c2 04 00             	ret    $0x4
41f5ac:	55                   	push   %ebp
41f5ad:	8b ec                	mov    %esp,%ebp
41f5af:	53                   	push   %ebx
41f5b0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41f5b3:	57                   	push   %edi
41f5b4:	8b f9                	mov    %ecx,%edi
41f5b6:	8b 47 14             	mov    0x14(%edi),%eax
41f5b9:	8b 4f 10             	mov    0x10(%edi),%ecx
41f5bc:	2b c1                	sub    %ecx,%eax
41f5be:	3b d8                	cmp    %eax,%ebx
41f5c0:	77 2a                	ja     0x41f5ec
41f5c2:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
41f5c6:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
41f5c9:	89 47 10             	mov    %eax,0x10(%edi)
41f5cc:	8b c7                	mov    %edi,%eax
41f5ce:	72 02                	jb     0x41f5d2
41f5d0:	8b 07                	mov    (%edi),%eax
41f5d2:	56                   	push   %esi
41f5d3:	53                   	push   %ebx
41f5d4:	ff 75 08             	push   0x8(%ebp)
41f5d7:	8d 34 08             	lea    (%eax,%ecx,1),%esi
41f5da:	56                   	push   %esi
41f5db:	e8 00 43 02 00       	call   0x4438e0
41f5e0:	83 c4 0c             	add    $0xc,%esp
41f5e3:	c6 04 1e 00          	movb   $0x0,(%esi,%ebx,1)
41f5e7:	8b c7                	mov    %edi,%eax
41f5e9:	5e                   	pop    %esi
41f5ea:	eb 13                	jmp    0x41f5ff
41f5ec:	53                   	push   %ebx
41f5ed:	ff 75 08             	push   0x8(%ebp)
41f5f0:	c6 45 0c 00          	movb   $0x0,0xc(%ebp)
41f5f4:	8b cf                	mov    %edi,%ecx
41f5f6:	ff 75 0c             	push   0xc(%ebp)
41f5f9:	53                   	push   %ebx
41f5fa:	e8 08 5c fe ff       	call   0x405207
41f5ff:	5f                   	pop    %edi
41f600:	5b                   	pop    %ebx
41f601:	5d                   	pop    %ebp
41f602:	c2 08 00             	ret    $0x8
41f605:	55                   	push   %ebp
41f606:	8b ec                	mov    %esp,%ebp
41f608:	8b 45 08             	mov    0x8(%ebp),%eax
41f60b:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
41f60f:	8b 50 10             	mov    0x10(%eax),%edx
41f612:	72 02                	jb     0x41f616
41f614:	8b 00                	mov    (%eax),%eax
41f616:	52                   	push   %edx
41f617:	50                   	push   %eax
41f618:	e8 86 00 00 00       	call   0x41f6a3
41f61d:	5d                   	pop    %ebp
41f61e:	c2 04 00             	ret    $0x4
41f621:	55                   	push   %ebp
41f622:	8b ec                	mov    %esp,%ebp
41f624:	56                   	push   %esi
41f625:	8b f1                	mov    %ecx,%esi
41f627:	8b 4d 08             	mov    0x8(%ebp),%ecx
41f62a:	8b 46 14             	mov    0x14(%esi),%eax
41f62d:	8b 56 10             	mov    0x10(%esi),%edx
41f630:	2b c2                	sub    %edx,%eax
41f632:	3b c8                	cmp    %eax,%ecx
41f634:	77 2e                	ja     0x41f664
41f636:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
41f63a:	53                   	push   %ebx
41f63b:	8d 1c 0a             	lea    (%edx,%ecx,1),%ebx
41f63e:	57                   	push   %edi
41f63f:	89 5e 10             	mov    %ebx,0x10(%esi)
41f642:	8b fe                	mov    %esi,%edi
41f644:	72 02                	jb     0x41f648
41f646:	8b 3e                	mov    (%esi),%edi
41f648:	51                   	push   %ecx
41f649:	ff 75 0c             	push   0xc(%ebp)
41f64c:	8d 04 57             	lea    (%edi,%edx,2),%eax
41f64f:	50                   	push   %eax
41f650:	e8 ac 47 00 00       	call   0x423e01
41f655:	83 c4 0c             	add    $0xc,%esp
41f658:	33 c0                	xor    %eax,%eax
41f65a:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
41f65e:	8b c6                	mov    %esi,%eax
41f660:	5f                   	pop    %edi
41f661:	5b                   	pop    %ebx
41f662:	eb 13                	jmp    0x41f677
41f664:	ff 75 0c             	push   0xc(%ebp)
41f667:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
41f66b:	51                   	push   %ecx
41f66c:	ff 75 08             	push   0x8(%ebp)
41f66f:	51                   	push   %ecx
41f670:	8b ce                	mov    %esi,%ecx
41f672:	e8 a4 5c fe ff       	call   0x40531b
41f677:	5e                   	pop    %esi
41f678:	5d                   	pop    %ebp
41f679:	c2 08 00             	ret    $0x8
41f67c:	55                   	push   %ebp
41f67d:	8b ec                	mov    %esp,%ebp
41f67f:	8b 55 08             	mov    0x8(%ebp),%edx
41f682:	56                   	push   %esi
41f683:	8d 72 02             	lea    0x2(%edx),%esi
41f686:	66 8b 02             	mov    (%edx),%ax
41f689:	83 c2 02             	add    $0x2,%edx
41f68c:	66 85 c0             	test   %ax,%ax
41f68f:	75 f5                	jne    0x41f686
41f691:	2b d6                	sub    %esi,%edx
41f693:	d1 fa                	sar    $1,%edx
41f695:	52                   	push   %edx
41f696:	ff 75 08             	push   0x8(%ebp)
41f699:	e8 05 00 00 00       	call   0x41f6a3
41f69e:	5e                   	pop    %esi
41f69f:	5d                   	pop    %ebp
41f6a0:	c2 04 00             	ret    $0x4
41f6a3:	55                   	push   %ebp
41f6a4:	8b ec                	mov    %esp,%ebp
41f6a6:	56                   	push   %esi
41f6a7:	8b f1                	mov    %ecx,%esi
41f6a9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41f6ac:	8b 46 14             	mov    0x14(%esi),%eax
41f6af:	8b 56 10             	mov    0x10(%esi),%edx
41f6b2:	2b c2                	sub    %edx,%eax
41f6b4:	3b c8                	cmp    %eax,%ecx
41f6b6:	77 31                	ja     0x41f6e9
41f6b8:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
41f6bc:	53                   	push   %ebx
41f6bd:	8d 1c 0a             	lea    (%edx,%ecx,1),%ebx
41f6c0:	57                   	push   %edi
41f6c1:	89 5e 10             	mov    %ebx,0x10(%esi)
41f6c4:	8b fe                	mov    %esi,%edi
41f6c6:	72 02                	jb     0x41f6ca
41f6c8:	8b 3e                	mov    (%esi),%edi
41f6ca:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
41f6cd:	50                   	push   %eax
41f6ce:	ff 75 08             	push   0x8(%ebp)
41f6d1:	8d 04 57             	lea    (%edi,%edx,2),%eax
41f6d4:	50                   	push   %eax
41f6d5:	e8 06 42 02 00       	call   0x4438e0
41f6da:	83 c4 0c             	add    $0xc,%esp
41f6dd:	33 c0                	xor    %eax,%eax
41f6df:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
41f6e3:	8b c6                	mov    %esi,%eax
41f6e5:	5f                   	pop    %edi
41f6e6:	5b                   	pop    %ebx
41f6e7:	eb 13                	jmp    0x41f6fc
41f6e9:	51                   	push   %ecx
41f6ea:	ff 75 08             	push   0x8(%ebp)
41f6ed:	c6 45 0c 00          	movb   $0x0,0xc(%ebp)
41f6f1:	ff 75 0c             	push   0xc(%ebp)
41f6f4:	51                   	push   %ecx
41f6f5:	8b ce                	mov    %esi,%ecx
41f6f7:	e8 d7 58 fe ff       	call   0x404fd3
41f6fc:	5e                   	pop    %esi
41f6fd:	5d                   	pop    %ebp
41f6fe:	c2 08 00             	ret    $0x8
41f701:	55                   	push   %ebp
41f702:	8b ec                	mov    %esp,%ebp
41f704:	8b 45 08             	mov    0x8(%ebp),%eax
41f707:	56                   	push   %esi
41f708:	8b 75 0c             	mov    0xc(%ebp),%esi
41f70b:	57                   	push   %edi
41f70c:	8b 50 10             	mov    0x10(%eax),%edx
41f70f:	8b f9                	mov    %ecx,%edi
41f711:	3b d6                	cmp    %esi,%edx
41f713:	72 23                	jb     0x41f738
41f715:	8b 4d 10             	mov    0x10(%ebp),%ecx
41f718:	2b d6                	sub    %esi,%edx
41f71a:	3b d1                	cmp    %ecx,%edx
41f71c:	0f 42 ca             	cmovb  %edx,%ecx
41f71f:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
41f723:	72 02                	jb     0x41f727
41f725:	8b 00                	mov    (%eax),%eax
41f727:	51                   	push   %ecx
41f728:	03 c6                	add    %esi,%eax
41f72a:	8b cf                	mov    %edi,%ecx
41f72c:	50                   	push   %eax
41f72d:	e8 78 00 00 00       	call   0x41f7aa
41f732:	5f                   	pop    %edi
41f733:	5e                   	pop    %esi
41f734:	5d                   	pop    %ebp
41f735:	c2 0c 00             	ret    $0xc
41f738:	e8 8a e0 ff ff       	call   0x41d7c7
41f73d:	cc                   	int3
41f73e:	55                   	push   %ebp
41f73f:	8b ec                	mov    %esp,%ebp
41f741:	56                   	push   %esi
41f742:	8b f1                	mov    %ecx,%esi
41f744:	57                   	push   %edi
41f745:	8b 7d 08             	mov    0x8(%ebp),%edi
41f748:	3b 7e 14             	cmp    0x14(%esi),%edi
41f74b:	77 26                	ja     0x41f773
41f74d:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
41f751:	53                   	push   %ebx
41f752:	8b de                	mov    %esi,%ebx
41f754:	72 02                	jb     0x41f758
41f756:	8b 1e                	mov    (%esi),%ebx
41f758:	0f be 45 0c          	movsbl 0xc(%ebp),%eax
41f75c:	57                   	push   %edi
41f75d:	50                   	push   %eax
41f75e:	53                   	push   %ebx
41f75f:	89 7e 10             	mov    %edi,0x10(%esi)
41f762:	e8 f9 46 02 00       	call   0x443e60
41f767:	83 c4 0c             	add    $0xc,%esp
41f76a:	c6 04 3b 00          	movb   $0x0,(%ebx,%edi,1)
41f76e:	8b c6                	mov    %esi,%eax
41f770:	5b                   	pop    %ebx
41f771:	eb 10                	jmp    0x41f783
41f773:	ff 75 0c             	push   0xc(%ebp)
41f776:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
41f77a:	ff 75 08             	push   0x8(%ebp)
41f77d:	57                   	push   %edi
41f77e:	e8 cd 56 fe ff       	call   0x404e50
41f783:	5f                   	pop    %edi
41f784:	5e                   	pop    %esi
41f785:	5d                   	pop    %ebp
41f786:	c2 08 00             	ret    $0x8
41f789:	55                   	push   %ebp
41f78a:	8b ec                	mov    %esp,%ebp
41f78c:	8b 55 08             	mov    0x8(%ebp),%edx
41f78f:	56                   	push   %esi
41f790:	8d 72 01             	lea    0x1(%edx),%esi
41f793:	8a 02                	mov    (%edx),%al
41f795:	42                   	inc    %edx
41f796:	84 c0                	test   %al,%al
41f798:	75 f9                	jne    0x41f793
41f79a:	2b d6                	sub    %esi,%edx
41f79c:	52                   	push   %edx
41f79d:	ff 75 08             	push   0x8(%ebp)
41f7a0:	e8 05 00 00 00       	call   0x41f7aa
41f7a5:	5e                   	pop    %esi
41f7a6:	5d                   	pop    %ebp
41f7a7:	c2 04 00             	ret    $0x4
41f7aa:	55                   	push   %ebp
41f7ab:	8b ec                	mov    %esp,%ebp
41f7ad:	56                   	push   %esi
41f7ae:	8b f1                	mov    %ecx,%esi
41f7b0:	57                   	push   %edi
41f7b1:	8b 7d 0c             	mov    0xc(%ebp),%edi
41f7b4:	3b 7e 14             	cmp    0x14(%esi),%edi
41f7b7:	77 24                	ja     0x41f7dd
41f7b9:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
41f7bd:	53                   	push   %ebx
41f7be:	8b de                	mov    %esi,%ebx
41f7c0:	72 02                	jb     0x41f7c4
41f7c2:	8b 1e                	mov    (%esi),%ebx
41f7c4:	57                   	push   %edi
41f7c5:	ff 75 08             	push   0x8(%ebp)
41f7c8:	89 7e 10             	mov    %edi,0x10(%esi)
41f7cb:	53                   	push   %ebx
41f7cc:	e8 0f 41 02 00       	call   0x4438e0
41f7d1:	83 c4 0c             	add    $0xc,%esp
41f7d4:	c6 04 3b 00          	movb   $0x0,(%ebx,%edi,1)
41f7d8:	8b c6                	mov    %esi,%eax
41f7da:	5b                   	pop    %ebx
41f7db:	eb 10                	jmp    0x41f7ed
41f7dd:	ff 75 08             	push   0x8(%ebp)