44e54c:	89 7d e8             	mov    %edi,-0x18(%ebp)
44e54f:	8d 77 04             	lea    0x4(%edi),%esi
44e552:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
44e559:	8b ce                	mov    %esi,%ecx
44e55b:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
44e562:	e8 29 fc ff ff       	call   0x44e190
44e567:	8d 43 20             	lea    0x20(%ebx),%eax
44e56a:	c7 07 dc 6b 4b 00    	movl   $0x4b6bdc,(%edi)
44e570:	c1 e8 05             	shr    $0x5,%eax
44e573:	8b c8                	mov    %eax,%ecx
44e575:	89 45 ec             	mov    %eax,-0x14(%ebp)
44e578:	e8 a3 fd ff ff       	call   0x44e320
44e57d:	51                   	push   %ecx
44e57e:	50                   	push   %eax
44e57f:	89 46 04             	mov    %eax,0x4(%esi)
44e582:	e8 f9 51 00 00       	call   0x453780
44e587:	89 46 08             	mov    %eax,0x8(%esi)
44e58a:	8b 47 0c             	mov    0xc(%edi),%eax
44e58d:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
44e594:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
44e59a:	8b 4f 08             	mov    0x8(%edi),%ecx
44e59d:	8b 7f 0c             	mov    0xc(%edi),%edi
44e5a0:	8d 7f 04             	lea    0x4(%edi),%edi
44e5a3:	83 e9 01             	sub    $0x1,%ecx
44e5a6:	74 04                	je     0x44e5ac
44e5a8:	33 c0                	xor    %eax,%eax
44e5aa:	f3 ab                	rep stos %eax,%es:(%edi)
44e5ac:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44e5af:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
44e5b6:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
44e5bd:	e8 5e fd ff ff       	call   0x44e320
44e5c2:	8b f8                	mov    %eax,%edi
44e5c4:	8b 46 04             	mov    0x4(%esi),%eax
44e5c7:	3b f8                	cmp    %eax,%edi
44e5c9:	76 2b                	jbe    0x44e5f6
44e5cb:	6a 01                	push   $0x1
44e5cd:	57                   	push   %edi
44e5ce:	50                   	push   %eax
44e5cf:	ff 76 08             	push   0x8(%esi)
44e5d2:	e8 79 50 00 00       	call   0x453650
44e5d7:	8b 56 04             	mov    0x4(%esi),%edx
44e5da:	8b cf                	mov    %edi,%ecx
44e5dc:	2b ca                	sub    %edx,%ecx
44e5de:	89 46 08             	mov    %eax,0x8(%esi)
44e5e1:	c1 e1 02             	shl    $0x2,%ecx
44e5e4:	51                   	push   %ecx
44e5e5:	8d 04 90             	lea    (%eax,%edx,4),%eax
44e5e8:	6a 00                	push   $0x0
44e5ea:	50                   	push   %eax
44e5eb:	e8 c0 d5 01 00       	call   0x46bbb0
44e5f0:	83 c4 0c             	add    $0xc,%esp
44e5f3:	89 7e 04             	mov    %edi,0x4(%esi)
44e5f6:	8b 55 e8             	mov    -0x18(%ebp),%edx
44e5f9:	8b cb                	mov    %ebx,%ecx
44e5fb:	c1 e9 05             	shr    $0x5,%ecx
44e5fe:	83 e3 1f             	and    $0x1f,%ebx
44e601:	8b 42 0c             	mov    0xc(%edx),%eax
44e604:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
44e607:	8b 01                	mov    (%ecx),%eax
44e609:	0f ab d8             	bts    %ebx,%eax
44e60c:	89 01                	mov    %eax,(%ecx)
44e60e:	8b c2                	mov    %edx,%eax
44e610:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44e613:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
44e61a:	59                   	pop    %ecx
44e61b:	5f                   	pop    %edi
44e61c:	5e                   	pop    %esi
44e61d:	5b                   	pop    %ebx
44e61e:	8b e5                	mov    %ebp,%esp
44e620:	5d                   	pop    %ebp
44e621:	c3                   	ret
44e622:	cc                   	int3
44e623:	cc                   	int3
44e624:	cc                   	int3
44e625:	cc                   	int3
44e626:	cc                   	int3
44e627:	cc                   	int3
44e628:	cc                   	int3
44e629:	cc                   	int3
44e62a:	cc                   	int3
44e62b:	cc                   	int3
44e62c:	cc                   	int3
44e62d:	cc                   	int3
44e62e:	cc                   	int3
44e62f:	cc                   	int3
44e630:	83 ec 08             	sub    $0x8,%esp
44e633:	53                   	push   %ebx
44e634:	55                   	push   %ebp
44e635:	56                   	push   %esi
44e636:	57                   	push   %edi
44e637:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
44e63b:	8b f1                	mov    %ecx,%esi
44e63d:	3b f7                	cmp    %edi,%esi
44e63f:	0f 84 ab 00 00 00    	je     0x44e6f0
44e645:	8b 6e 08             	mov    0x8(%esi),%ebp
44e648:	8d 5f 0c             	lea    0xc(%edi),%ebx
44e64b:	8b 57 08             	mov    0x8(%edi),%edx
44e64e:	3b ea                	cmp    %edx,%ebp
44e650:	75 0c                	jne    0x44e65e
44e652:	8b 03                	mov    (%ebx),%eax
44e654:	8b ca                	mov    %edx,%ecx
44e656:	d1 e9                	shr    $1,%ecx
44e658:	83 3c 88 00          	cmpl   $0x0,(%eax,%ecx,4)
44e65c:	75 71                	jne    0x44e6cf
44e65e:	85 d2                	test   %edx,%edx
44e660:	74 1b                	je     0x44e67d
44e662:	8b 03                	mov    (%ebx),%eax
44e664:	8d 04 90             	lea    (%eax,%edx,4),%eax
44e667:	83 c0 fc             	add    $0xfffffffc,%eax
44e66a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
44e670:	83 38 00             	cmpl   $0x0,(%eax)
44e673:	75 08                	jne    0x44e67d
44e675:	83 e8 04             	sub    $0x4,%eax
44e678:	83 ea 01             	sub    $0x1,%edx
44e67b:	75 f3                	jne    0x44e670
44e67d:	8b ca                	mov    %edx,%ecx
44e67f:	e8 9c fc ff ff       	call   0x44e320
44e684:	8b 56 0c             	mov    0xc(%esi),%edx
44e687:	89 44 24 14          	mov    %eax,0x14(%esp)
44e68b:	3b e8                	cmp    %eax,%ebp
44e68d:	74 38                	je     0x44e6c7
44e68f:	33 c0                	xor    %eax,%eax
44e691:	8b fa                	mov    %edx,%edi
44e693:	8b cd                	mov    %ebp,%ecx
44e695:	f3 ab                	rep stos %eax,%es:(%edi)
44e697:	8d 04 ad 00 00 00 00 	lea    0x0(,%ebp,4),%eax
44e69e:	52                   	push   %edx
44e69f:	83 f8 10             	cmp    $0x10,%eax
44e6a2:	72 07                	jb     0x44e6ab
44e6a4:	e8 b7 78 04 00       	call   0x495f60
44e6a9:	eb 05                	jmp    0x44e6b0
44e6ab:	e8 d2 af 02 00       	call   0x479682
44e6b0:	83 c4 04             	add    $0x4,%esp
44e6b3:	51                   	push   %ecx
44e6b4:	ff 74 24 18          	push   0x18(%esp)
44e6b8:	e8 c3 50 00 00       	call   0x453780
44e6bd:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
44e6c1:	8b d0                	mov    %eax,%edx
44e6c3:	8b 44 24 14          	mov    0x14(%esp),%eax
44e6c7:	89 56 0c             	mov    %edx,0xc(%esi)
44e6ca:	8b e8                	mov    %eax,%ebp
44e6cc:	89 46 08             	mov    %eax,0x8(%esi)
44e6cf:	8b 0b                	mov    (%ebx),%ecx
44e6d1:	8b 56 0c             	mov    0xc(%esi),%edx
44e6d4:	3b d1                	cmp    %ecx,%edx
44e6d6:	74 12                	je     0x44e6ea
44e6d8:	8d 04 ad 00 00 00 00 	lea    0x0(,%ebp,4),%eax
44e6df:	50                   	push   %eax
44e6e0:	51                   	push   %ecx
44e6e1:	52                   	push   %edx
44e6e2:	e8 39 cf 01 00       	call   0x46b620
44e6e7:	83 c4 0c             	add    $0xc,%esp
44e6ea:	8b 47 10             	mov    0x10(%edi),%eax
44e6ed:	89 46 10             	mov    %eax,0x10(%esi)
44e6f0:	5f                   	pop    %edi
44e6f1:	8b c6                	mov    %esi,%eax
44e6f3:	5e                   	pop    %esi
44e6f4:	5d                   	pop    %ebp
44e6f5:	5b                   	pop    %ebx
44e6f6:	83 c4 08             	add    $0x8,%esp
44e6f9:	c2 04 00             	ret    $0x4
44e6fc:	cc                   	int3
44e6fd:	cc                   	int3
44e6fe:	cc                   	int3
44e6ff:	cc                   	int3
44e700:	51                   	push   %ecx
44e701:	56                   	push   %esi
44e702:	8b 74 24 0c          	mov    0xc(%esp),%esi
44e706:	51                   	push   %ecx
44e707:	8b ce                	mov    %esi,%ecx
44e709:	e8 32 fd ff ff       	call   0x44e440
44e70e:	83 7e 10 01          	cmpl   $0x1,0x10(%esi)
44e712:	74 30                	je     0x44e744
44e714:	8b 46 0c             	mov    0xc(%esi),%eax
44e717:	83 38 00             	cmpl   $0x0,(%eax)
44e71a:	75 28                	jne    0x44e744
44e71c:	8b 4e 08             	mov    0x8(%esi),%ecx
44e71f:	85 c9                	test   %ecx,%ecx
44e721:	74 2c                	je     0x44e74f
44e723:	8d 51 ff             	lea    -0x1(%ecx),%edx
44e726:	8d 14 90             	lea    (%eax,%edx,4),%edx
44e729:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
44e730:	83 3a 00             	cmpl   $0x0,(%edx)
44e733:	75 0f                	jne    0x44e744
44e735:	83 ea 04             	sub    $0x4,%edx
44e738:	83 e9 01             	sub    $0x1,%ecx
44e73b:	75 f3                	jne    0x44e730
44e73d:	8b c6                	mov    %esi,%eax
44e73f:	5e                   	pop    %esi
44e740:	59                   	pop    %ecx
44e741:	c2 04 00             	ret    $0x4
44e744:	b8 01 00 00 00       	mov    $0x1,%eax
44e749:	2b 46 10             	sub    0x10(%esi),%eax
44e74c:	89 46 10             	mov    %eax,0x10(%esi)
44e74f:	8b c6                	mov    %esi,%eax
44e751:	5e                   	pop    %esi
44e752:	59                   	pop    %ecx
44e753:	c2 04 00             	ret    $0x4
44e756:	cc                   	int3
44e757:	cc                   	int3
44e758:	cc                   	int3
44e759:	cc                   	int3
44e75a:	cc                   	int3
44e75b:	cc                   	int3
44e75c:	cc                   	int3
44e75d:	cc                   	int3
44e75e:	cc                   	int3
44e75f:	cc                   	int3
44e760:	8b 41 08             	mov    0x8(%ecx),%eax
44e763:	85 c0                	test   %eax,%eax
44e765:	74 16                	je     0x44e77d
44e767:	8b 51 0c             	mov    0xc(%ecx),%edx
44e76a:	8d 14 82             	lea    (%edx,%eax,4),%edx
44e76d:	83 c2 fc             	add    $0xfffffffc,%edx
44e770:	83 3a 00             	cmpl   $0x0,(%edx)
44e773:	75 0b                	jne    0x44e780
44e775:	83 ea 04             	sub    $0x4,%edx
44e778:	83 e8 01             	sub    $0x1,%eax
44e77b:	75 f3                	jne    0x44e770
44e77d:	33 c0                	xor    %eax,%eax
44e77f:	c3                   	ret
44e780:	53                   	push   %ebx
44e781:	8d 1c 85 00 00 00 00 	lea    0x0(,%eax,4),%ebx
44e788:	8b 41 0c             	mov    0xc(%ecx),%eax
44e78b:	57                   	push   %edi
44e78c:	8b 7c 18 fc          	mov    -0x4(%eax,%ebx,1),%edi
44e790:	85 ff                	test   %edi,%edi
44e792:	75 0a                	jne    0x44e79e
44e794:	8d 43 fc             	lea    -0x4(%ebx),%eax
44e797:	33 d2                	xor    %edx,%edx
44e799:	5f                   	pop    %edi
44e79a:	03 c2                	add    %edx,%eax
44e79c:	5b                   	pop    %ebx
44e79d:	c3                   	ret
44e79e:	56                   	push   %esi
44e79f:	33 f6                	xor    %esi,%esi
44e7a1:	ba 20 00 00 00       	mov    $0x20,%edx
44e7a6:	8d 0c 32             	lea    (%edx,%esi,1),%ecx
44e7a9:	8b c7                	mov    %edi,%eax
44e7ab:	d1 e9                	shr    $1,%ecx
44e7ad:	d3 e8                	shr    %cl,%eax
44e7af:	85 c0                	test   %eax,%eax
44e7b1:	0f 44 d1             	cmove  %ecx,%edx
44e7b4:	0f 44 ce             	cmove  %esi,%ecx
44e7b7:	8b f1                	mov    %ecx,%esi
44e7b9:	8b c2                	mov    %edx,%eax
44e7bb:	2b c6                	sub    %esi,%eax
44e7bd:	83 f8 08             	cmp    $0x8,%eax
44e7c0:	77 e4                	ja     0x44e7a6
44e7c2:	5e                   	pop    %esi
44e7c3:	8d 43 fc             	lea    -0x4(%ebx),%eax
44e7c6:	c1 ea 03             	shr    $0x3,%edx
44e7c9:	5f                   	pop    %edi
44e7ca:	03 c2                	add    %edx,%eax
44e7cc:	5b                   	pop    %ebx
44e7cd:	c3                   	ret
44e7ce:	cc                   	int3
44e7cf:	cc                   	int3
44e7d0:	8b 41 08             	mov    0x8(%ecx),%eax
44e7d3:	85 c0                	test   %eax,%eax
44e7d5:	74 16                	je     0x44e7ed
44e7d7:	8b 51 0c             	mov    0xc(%ecx),%edx
44e7da:	8d 14 82             	lea    (%edx,%eax,4),%edx
44e7dd:	83 c2 fc             	add    $0xfffffffc,%edx
44e7e0:	83 3a 00             	cmpl   $0x0,(%edx)
44e7e3:	75 0b                	jne    0x44e7f0
44e7e5:	83 ea 04             	sub    $0x4,%edx
44e7e8:	83 e8 01             	sub    $0x1,%eax
44e7eb:	75 f3                	jne    0x44e7e0
44e7ed:	33 c0                	xor    %eax,%eax
44e7ef:	c3                   	ret
44e7f0:	8b 49 0c             	mov    0xc(%ecx),%ecx
44e7f3:	53                   	push   %ebx
44e7f4:	56                   	push   %esi
44e7f5:	8b 5c 81 fc          	mov    -0x4(%ecx,%eax,4),%ebx
44e7f9:	85 db                	test   %ebx,%ebx
44e7fb:	75 0f                	jne    0x44e80c
44e7fd:	33 f6                	xor    %esi,%esi
44e7ff:	c1 e0 05             	shl    $0x5,%eax
44e802:	be e0 ff ff ff       	mov    $0xffffffe0,%esi
44e807:	03 c6                	add    %esi,%eax
44e809:	5e                   	pop    %esi
44e80a:	5b                   	pop    %ebx
44e80b:	c3                   	ret
44e80c:	57                   	push   %edi
44e80d:	33 ff                	xor    %edi,%edi
44e80f:	be 20 00 00 00       	mov    $0x20,%esi
44e814:	8d 0c 3e             	lea    (%esi,%edi,1),%ecx
44e817:	8b d3                	mov    %ebx,%edx
44e819:	d1 e9                	shr    $1,%ecx
44e81b:	d3 ea                	shr    %cl,%edx
44e81d:	85 d2                	test   %edx,%edx
44e81f:	0f 44 f1             	cmove  %ecx,%esi
44e822:	0f 44 cf             	cmove  %edi,%ecx
44e825:	8b f9                	mov    %ecx,%edi
44e827:	8b ce                	mov    %esi,%ecx
44e829:	2b cf                	sub    %edi,%ecx
44e82b:	83 f9 01             	cmp    $0x1,%ecx
44e82e:	77 e4                	ja     0x44e814
44e830:	83 c6 e0             	add    $0xffffffe0,%esi
44e833:	c1 e0 05             	shl    $0x5,%eax
44e836:	5f                   	pop    %edi
44e837:	03 c6                	add    %esi,%eax
44e839:	5e                   	pop    %esi
44e83a:	5b                   	pop    %ebx
44e83b:	c3                   	ret
44e83c:	cc                   	int3
44e83d:	cc                   	int3
44e83e:	cc                   	int3
44e83f:	cc                   	int3
44e840:	55                   	push   %ebp
44e841:	8b ec                	mov    %esp,%ebp
44e843:	83 e4 f8             	and    $0xfffffff8,%esp
44e846:	83 ec 0c             	sub    $0xc,%esp
44e849:	53                   	push   %ebx
44e84a:	8b 5d 08             	mov    0x8(%ebp),%ebx
44e84d:	56                   	push   %esi
44e84e:	57                   	push   %edi
44e84f:	8b f9                	mov    %ecx,%edi
44e851:	8d 4c 24 0f          	lea    0xf(%esp),%ecx
44e855:	8b 03                	mov    (%ebx),%eax
44e857:	51                   	push   %ecx
44e858:	89 7c 24 14          	mov    %edi,0x14(%esp)
44e85c:	8b 70 50             	mov    0x50(%eax),%esi
44e85f:	8b ce                	mov    %esi,%ecx
44e861:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44e867:	8b cb                	mov    %ebx,%ecx
44e869:	ff d6                	call   *%esi
44e86b:	83 7d 10 01          	cmpl   $0x1,0x10(%ebp)
44e86f:	8a 4c 24 0f          	mov    0xf(%esp),%cl
44e873:	75 0b                	jne    0x44e880
44e875:	84 c9                	test   %cl,%cl
44e877:	79 07                	jns    0x44e880
44e879:	b8 01 00 00 00       	mov    $0x1,%eax
44e87e:	eb 02                	jmp    0x44e882
44e880:	33 c0                	xor    %eax,%eax
44e882:	8b 5d 0c             	mov    0xc(%ebp),%ebx
44e885:	89 47 10             	mov    %eax,0x10(%edi)
44e888:	85 db                	test   %ebx,%ebx
44e88a:	74 5a                	je     0x44e8e6
44e88c:	0f 1f 40 00          	nopl   0x0(%eax)
44e890:	33 c0                	xor    %eax,%eax
44e892:	39 47 10             	cmp    %eax,0x10(%edi)
44e895:	75 04                	jne    0x44e89b
44e897:	84 c9                	test   %cl,%cl
44e899:	eb 03                	jmp    0x44e89e
44e89b:	80 f9 ff             	cmp    $0xff,%cl
44e89e:	0f 94 c0             	sete   %al
44e8a1:	85 c0                	test   %eax,%eax
44e8a3:	74 3e                	je     0x44e8e3