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
44e8a5:	8b 45 08             	mov    0x8(%ebp),%eax
44e8a8:	6a 00                	push   $0x0
44e8aa:	6a 01                	push   $0x1
44e8ac:	8b 00                	mov    (%eax),%eax
44e8ae:	8b 70 54             	mov    0x54(%eax),%esi
44e8b1:	8b ce                	mov    %esi,%ecx
44e8b3:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44e8b9:	8b 4d 08             	mov    0x8(%ebp),%ecx
44e8bc:	ff d6                	call   *%esi
44e8be:	8b 45 08             	mov    0x8(%ebp),%eax
44e8c1:	8d 4c 24 0f          	lea    0xf(%esp),%ecx
44e8c5:	51                   	push   %ecx
44e8c6:	8b 00                	mov    (%eax),%eax
44e8c8:	8b 70 50             	mov    0x50(%eax),%esi
44e8cb:	8b ce                	mov    %esi,%ecx
44e8cd:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44e8d3:	8b 4d 08             	mov    0x8(%ebp),%ecx
44e8d6:	ff d6                	call   *%esi
44e8d8:	83 eb 01             	sub    $0x1,%ebx
44e8db:	74 06                	je     0x44e8e3
44e8dd:	8a 4c 24 0f          	mov    0xf(%esp),%cl
44e8e1:	eb ad                	jmp    0x44e890
44e8e3:	89 5d 0c             	mov    %ebx,0xc(%ebp)
44e8e6:	8d 4b 03             	lea    0x3(%ebx),%ecx
44e8e9:	c1 e9 02             	shr    $0x2,%ecx
44e8ec:	e8 2f fa ff ff       	call   0x44e320
44e8f1:	8b 4f 08             	mov    0x8(%edi),%ecx
44e8f4:	8b f0                	mov    %eax,%esi
44e8f6:	8b 57 0c             	mov    0xc(%edi),%edx
44e8f9:	89 4c 24 14          	mov    %ecx,0x14(%esp)
44e8fd:	3b ce                	cmp    %esi,%ecx
44e8ff:	74 2f                	je     0x44e930
44e901:	33 c0                	xor    %eax,%eax
44e903:	8b fa                	mov    %edx,%edi
44e905:	f3 ab                	rep stos %eax,%es:(%edi)
44e907:	8b 44 24 14          	mov    0x14(%esp),%eax
44e90b:	c1 e0 02             	shl    $0x2,%eax
44e90e:	52                   	push   %edx
44e90f:	83 f8 10             	cmp    $0x10,%eax
44e912:	72 07                	jb     0x44e91b
44e914:	e8 47 76 04 00       	call   0x495f60
44e919:	eb 05                	jmp    0x44e920
44e91b:	e8 62 ad 02 00       	call   0x479682
44e920:	83 c4 04             	add    $0x4,%esp
44e923:	51                   	push   %ecx
44e924:	56                   	push   %esi
44e925:	e8 56 4e 00 00       	call   0x453780
44e92a:	8b 7c 24 10          	mov    0x10(%esp),%edi
44e92e:	8b d0                	mov    %eax,%edx
44e930:	8d 0c b5 00 00 00 00 	lea    0x0(,%esi,4),%ecx
44e937:	89 57 0c             	mov    %edx,0xc(%edi)
44e93a:	51                   	push   %ecx
44e93b:	6a 00                	push   $0x0
44e93d:	52                   	push   %edx
44e93e:	89 77 08             	mov    %esi,0x8(%edi)
44e941:	e8 6a d2 01 00       	call   0x46bbb0
44e946:	83 c4 0c             	add    $0xc,%esp
44e949:	85 db                	test   %ebx,%ebx
44e94b:	74 58                	je     0x44e9a5
44e94d:	8d 43 ff             	lea    -0x1(%ebx),%eax
44e950:	89 5c 24 14          	mov    %ebx,0x14(%esp)
44e954:	8b 5d 08             	mov    0x8(%ebp),%ebx
44e957:	89 44 24 10          	mov    %eax,0x10(%esp)
44e95b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
44e960:	8b 03                	mov    (%ebx),%eax
44e962:	8d 4c 24 0f          	lea    0xf(%esp),%ecx
44e966:	51                   	push   %ecx
44e967:	8b 70 48             	mov    0x48(%eax),%esi
44e96a:	8b ce                	mov    %esi,%ecx
44e96c:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44e972:	8b cb                	mov    %ebx,%ecx
44e974:	ff d6                	call   *%esi
44e976:	8b 74 24 10          	mov    0x10(%esp),%esi
44e97a:	8b ce                	mov    %esi,%ecx
44e97c:	8b 47 0c             	mov    0xc(%edi),%eax
44e97f:	c1 e9 02             	shr    $0x2,%ecx
44e982:	8d 14 88             	lea    (%eax,%ecx,4),%edx
44e985:	0f b6 44 24 0f       	movzbl 0xf(%esp),%eax
44e98a:	8b ce                	mov    %esi,%ecx
44e98c:	4e                   	dec    %esi
44e98d:	83 e1 03             	and    $0x3,%ecx
44e990:	89 74 24 10          	mov    %esi,0x10(%esp)
44e994:	c1 e1 03             	shl    $0x3,%ecx
44e997:	d3 e0                	shl    %cl,%eax
44e999:	09 02                	or     %eax,(%edx)
44e99b:	83 6c 24 14 01       	subl   $0x1,0x14(%esp)
44e9a0:	75 be                	jne    0x44e960
44e9a2:	8b 5d 0c             	mov    0xc(%ebp),%ebx
44e9a5:	83 7f 10 01          	cmpl   $0x1,0x10(%edi)
44e9a9:	75 48                	jne    0x44e9f3
44e9ab:	8b 57 08             	mov    0x8(%edi),%edx
44e9ae:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
44e9b5:	3b d8                	cmp    %eax,%ebx
44e9b7:	73 32                	jae    0x44e9eb
44e9b9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
44e9c0:	8b 47 0c             	mov    0xc(%edi),%eax
44e9c3:	8b cb                	mov    %ebx,%ecx
44e9c5:	c1 e9 02             	shr    $0x2,%ecx
44e9c8:	8d 14 88             	lea    (%eax,%ecx,4),%edx
44e9cb:	8b cb                	mov    %ebx,%ecx
44e9cd:	83 e1 03             	and    $0x3,%ecx
44e9d0:	b8 ff 00 00 00       	mov    $0xff,%eax
44e9d5:	c1 e1 03             	shl    $0x3,%ecx
44e9d8:	43                   	inc    %ebx
44e9d9:	d3 e0                	shl    %cl,%eax
44e9db:	09 02                	or     %eax,(%edx)
44e9dd:	8b 57 08             	mov    0x8(%edi),%edx
44e9e0:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
44e9e7:	3b d8                	cmp    %eax,%ebx
44e9e9:	72 d5                	jb     0x44e9c0
44e9eb:	8b 4f 0c             	mov    0xc(%edi),%ecx
44e9ee:	e8 3d 3a ff ff       	call   0x442430
44e9f3:	5f                   	pop    %edi
44e9f4:	5e                   	pop    %esi
44e9f5:	5b                   	pop    %ebx
44e9f6:	8b e5                	mov    %ebp,%esp
44e9f8:	5d                   	pop    %ebp
44e9f9:	c2 0c 00             	ret    $0xc
44e9fc:	cc                   	int3
44e9fd:	cc                   	int3
44e9fe:	cc                   	int3
44e9ff:	cc                   	int3
44ea00:	55                   	push   %ebp
44ea01:	8b ec                	mov    %esp,%ebp
44ea03:	6a ff                	push   $0xffffffff
44ea05:	68 1e b0 49 00       	push   $0x49b01e
44ea0a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
44ea10:	50                   	push   %eax
44ea11:	83 ec 30             	sub    $0x30,%esp
44ea14:	53                   	push   %ebx
44ea15:	56                   	push   %esi
44ea16:	57                   	push   %edi
44ea17:	a1 14 40 4c 00       	mov    0x4c4014,%eax
44ea1c:	33 c5                	xor    %ebp,%eax
44ea1e:	50                   	push   %eax
44ea1f:	8d 45 f4             	lea    -0xc(%ebp),%eax
44ea22:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
44ea28:	8b f9                	mov    %ecx,%edi
44ea2a:	33 db                	xor    %ebx,%ebx
44ea2c:	89 5d ec             	mov    %ebx,-0x14(%ebp)
44ea2f:	e8 2c fd ff ff       	call   0x44e760
44ea34:	be 01 00 00 00       	mov    $0x1,%esi
44ea39:	3b c6                	cmp    %esi,%eax
44ea3b:	0f 47 f0             	cmova  %eax,%esi
44ea3e:	83 7f 10 01          	cmpl   $0x1,0x10(%edi)
44ea42:	74 5d                	je     0x44eaa1
44ea44:	8d 4e ff             	lea    -0x1(%esi),%ecx
44ea47:	8b d1                	mov    %ecx,%edx
44ea49:	c1 ea 02             	shr    $0x2,%edx
44ea4c:	3b 57 08             	cmp    0x8(%edi),%edx
44ea4f:	73 13                	jae    0x44ea64
44ea51:	8b 47 0c             	mov    0xc(%edi),%eax
44ea54:	83 e1 03             	and    $0x3,%ecx
44ea57:	c1 e1 03             	shl    $0x3,%ecx
44ea5a:	8b 04 90             	mov    (%eax,%edx,4),%eax
44ea5d:	d3 e8                	shr    %cl,%eax
44ea5f:	84 c0                	test   %al,%al
44ea61:	79 38                	jns    0x44ea9b
44ea63:	46                   	inc    %esi
44ea64:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
44ea68:	f6 c3 02             	test   $0x2,%bl
44ea6b:	0f 84 9d 00 00 00    	je     0x44eb0e
44ea71:	8b 45 e4             	mov    -0x1c(%ebp),%eax
44ea74:	83 e3 fd             	and    $0xfffffffd,%ebx
44ea77:	8b 55 e0             	mov    -0x20(%ebp),%edx
44ea7a:	8b f8                	mov    %eax,%edi
44ea7c:	89 45 ec             	mov    %eax,-0x14(%ebp)
44ea7f:	8b ca                	mov    %edx,%ecx
44ea81:	ff 75 ec             	push   -0x14(%ebp)
44ea84:	33 c0                	xor    %eax,%eax
44ea86:	f3 ab                	rep stos %eax,%es:(%edi)
44ea88:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
44ea8f:	83 f8 10             	cmp    $0x10,%eax
44ea92:	72 72                	jb     0x44eb06
44ea94:	e8 c7 74 04 00       	call   0x495f60