44b76b:	24 01                	and    $0x1,%al
44b76d:	0f b6 d0             	movzbl %al,%edx
44b770:	8b 06                	mov    (%esi),%eax
44b772:	f7 da                	neg    %edx
44b774:	1b d2                	sbb    %edx,%edx
44b776:	33 c1                	xor    %ecx,%eax
44b778:	25 fe ff ff 7f       	and    $0x7ffffffe,%eax
44b77d:	33 06                	xor    (%esi),%eax
44b77f:	23 d3                	and    %ebx,%edx
44b781:	d1 e8                	shr    $1,%eax
44b783:	33 86 74 fc ff ff    	xor    -0x38c(%esi),%eax
44b789:	5f                   	pop    %edi
44b78a:	33 c2                	xor    %edx,%eax
44b78c:	89 06                	mov    %eax,(%esi)
44b78e:	5e                   	pop    %esi
44b78f:	5b                   	pop    %ebx
44b790:	c3                   	ret
44b791:	55                   	push   %ebp
44b792:	8b ec                	mov    %esp,%ebp
44b794:	51                   	push   %ecx
44b795:	57                   	push   %edi
44b796:	8b 7d 0c             	mov    0xc(%ebp),%edi
44b799:	89 4d fc             	mov    %ecx,-0x4(%ebp)
44b79c:	85 ff                	test   %edi,%edi
44b79e:	74 40                	je     0x44b7e0
44b7a0:	53                   	push   %ebx
44b7a1:	0f b7 19             	movzwl (%ecx),%ebx
44b7a4:	56                   	push   %esi
44b7a5:	0f b7 71 02          	movzwl 0x2(%ecx),%esi
44b7a9:	7e 2c                	jle    0x44b7d7
44b7ab:	33 c9                	xor    %ecx,%ecx
44b7ad:	8b 45 08             	mov    0x8(%ebp),%eax
44b7b0:	33 d2                	xor    %edx,%edx
44b7b2:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
44b7b6:	03 c3                	add    %ebx,%eax
44b7b8:	bb f1 ff 00 00       	mov    $0xfff1,%ebx
44b7bd:	f7 f3                	div    %ebx
44b7bf:	8b da                	mov    %edx,%ebx
44b7c1:	33 d2                	xor    %edx,%edx
44b7c3:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
44b7c6:	be f1 ff 00 00       	mov    $0xfff1,%esi
44b7cb:	f7 f6                	div    %esi
44b7cd:	41                   	inc    %ecx
44b7ce:	8b f2                	mov    %edx,%esi
44b7d0:	3b cf                	cmp    %edi,%ecx
44b7d2:	7c d9                	jl     0x44b7ad
44b7d4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44b7d7:	c1 e6 10             	shl    $0x10,%esi
44b7da:	03 f3                	add    %ebx,%esi
44b7dc:	89 31                	mov    %esi,(%ecx)
44b7de:	5e                   	pop    %esi
44b7df:	5b                   	pop    %ebx
44b7e0:	5f                   	pop    %edi
44b7e1:	c9                   	leave
44b7e2:	c2 08 00             	ret    $0x8
44b7e5:	53                   	push   %ebx
44b7e6:	56                   	push   %esi
44b7e7:	57                   	push   %edi
44b7e8:	68 00 00 02 00       	push   $0x20000
44b7ed:	8b f9                	mov    %ecx,%edi
44b7ef:	e8 68 81 fd ff       	call   0x42395c
44b7f4:	8b f0                	mov    %eax,%esi
44b7f6:	89 b7 34 04 00 00    	mov    %esi,0x434(%edi)
44b7fc:	c7 04 24 00 00 01 00 	movl   $0x10000,(%esp)
44b803:	e8 54 81 fd ff       	call   0x42395c
44b808:	8b d8                	mov    %eax,%ebx
44b80a:	89 9f 58 04 00 00    	mov    %ebx,0x458(%edi)
44b810:	c7 04 24 00 00 01 00 	movl   $0x10000,(%esp)
44b817:	e8 40 81 fd ff       	call   0x42395c
44b81c:	59                   	pop    %ecx
44b81d:	89 87 54 04 00 00    	mov    %eax,0x454(%edi)
44b823:	85 f6                	test   %esi,%esi
44b825:	74 0c                	je     0x44b833
44b827:	85 db                	test   %ebx,%ebx
44b829:	74 08                	je     0x44b833
44b82b:	85 c0                	test   %eax,%eax
44b82d:	74 04                	je     0x44b833
44b82f:	33 c0                	xor    %eax,%eax
44b831:	eb 0a                	jmp    0x44b83d
44b833:	8b cf                	mov    %edi,%ecx
44b835:	e8 2a 03 00 00       	call   0x44bb64
44b83a:	6a 05                	push   $0x5
44b83c:	58                   	pop    %eax
44b83d:	5f                   	pop    %edi
44b83e:	5e                   	pop    %esi
44b83f:	5b                   	pop    %ebx
44b840:	c3                   	ret
44b841:	55                   	push   %ebp
44b842:	8b ec                	mov    %esp,%ebp
44b844:	56                   	push   %esi
44b845:	8b f1                	mov    %ecx,%esi
44b847:	33 c0                	xor    %eax,%eax
44b849:	57                   	push   %edi
44b84a:	8b 7d 08             	mov    0x8(%ebp),%edi
44b84d:	66 89 86 4a 04 00 00 	mov    %ax,0x44a(%esi)
44b854:	4f                   	dec    %edi
44b855:	83 be 4c 04 00 00 00 	cmpl   $0x0,0x44c(%esi)
44b85c:	75 60                	jne    0x44b8be
44b85e:	83 7e 14 01          	cmpl   $0x1,0x14(%esi)
44b862:	75 29                	jne    0x44b88d
44b864:	8b 4e 0c             	mov    0xc(%esi),%ecx
44b867:	8b 56 04             	mov    0x4(%esi),%edx
44b86a:	0f b6 04 0a          	movzbl (%edx,%ecx,1),%eax
44b86e:	c1 e0 08             	shl    $0x8,%eax
44b871:	09 86 48 04 00 00    	or     %eax,0x448(%esi)
44b877:	41                   	inc    %ecx
44b878:	89 4e 0c             	mov    %ecx,0xc(%esi)
44b87b:	0f b6 04 11          	movzbl (%ecx,%edx,1),%eax
44b87f:	09 86 48 04 00 00    	or     %eax,0x448(%esi)
44b885:	8d 41 01             	lea    0x1(%ecx),%eax
44b888:	89 46 0c             	mov    %eax,0xc(%esi)
44b88b:	eb 27                	jmp    0x44b8b4
44b88d:	8b ce                	mov    %esi,%ecx
44b88f:	e8 60 04 00 00       	call   0x44bcf4
44b894:	0f b6 c0             	movzbl %al,%eax
44b897:	c1 e0 08             	shl    $0x8,%eax
44b89a:	09 86 48 04 00 00    	or     %eax,0x448(%esi)
44b8a0:	8b ce                	mov    %esi,%ecx
44b8a2:	e8 4d 04 00 00       	call   0x44bcf4
44b8a7:	0f b6 c0             	movzbl %al,%eax
44b8aa:	09 86 48 04 00 00    	or     %eax,0x448(%esi)
44b8b0:	83 46 0c 02          	addl   $0x2,0xc(%esi)
44b8b4:	c7 86 4c 04 00 00 10 	movl   $0x10,0x44c(%esi)
44b8bb:	00 00 00
44b8be:	d1 a6 48 04 00 00    	shll   $1,0x448(%esi)
44b8c4:	ff 8e 4c 04 00 00    	decl   0x44c(%esi)
44b8ca:	8b 86 48 04 00 00    	mov    0x448(%esi),%eax
44b8d0:	85 ff                	test   %edi,%edi
44b8d2:	75 80                	jne    0x44b854
44b8d4:	5f                   	pop    %edi
44b8d5:	c1 e8 10             	shr    $0x10,%eax
44b8d8:	5e                   	pop    %esi
44b8d9:	5d                   	pop    %ebp
44b8da:	c2 04 00             	ret    $0x4
44b8dd:	56                   	push   %esi
44b8de:	57                   	push   %edi
44b8df:	6a 02                	push   $0x2
44b8e1:	8b f9                	mov    %ecx,%edi
44b8e3:	33 f6                	xor    %esi,%esi
44b8e5:	e8 57 ff ff ff       	call   0x44b841
44b8ea:	83 f8 03             	cmp    $0x3,%eax
44b8ed:	75 4b                	jne    0x44b93a
44b8ef:	50                   	push   %eax
44b8f0:	5e                   	pop    %esi
44b8f1:	50                   	push   %eax
44b8f2:	8b cf                	mov    %edi,%ecx
44b8f4:	e8 48 ff ff ff       	call   0x44b841
44b8f9:	83 f8 07             	cmp    $0x7,%eax
44b8fc:	75 3c                	jne    0x44b93a
44b8fe:	6a 0a                	push   $0xa
44b900:	5e                   	pop    %esi
44b901:	6a 05                	push   $0x5
44b903:	8b cf                	mov    %edi,%ecx
44b905:	e8 37 ff ff ff       	call   0x44b841
44b90a:	83 f8 1f             	cmp    $0x1f,%eax
44b90d:	75 2b                	jne    0x44b93a
44b90f:	53                   	push   %ebx
44b910:	6a 29                	push   $0x29
44b912:	5e                   	pop    %esi
44b913:	6a 08                	push   $0x8
44b915:	8b cf                	mov    %edi,%ecx
44b917:	e8 25 ff ff ff       	call   0x44b841
44b91c:	bb ff 00 00 00       	mov    $0xff,%ebx
44b921:	3b c3                	cmp    %ebx,%eax
44b923:	75 14                	jne    0x44b939
44b925:	8d 73 29             	lea    0x29(%ebx),%esi
44b928:	eb 02                	jmp    0x44b92c
44b92a:	03 f3                	add    %ebx,%esi
44b92c:	6a 08                	push   $0x8
44b92e:	8b cf                	mov    %edi,%ecx
44b930:	e8 0c ff ff ff       	call   0x44b841
44b935:	3b c3                	cmp    %ebx,%eax
44b937:	74 f1                	je     0x44b92a
44b939:	5b                   	pop    %ebx
44b93a:	83 c6 03             	add    $0x3,%esi
44b93d:	5f                   	pop    %edi
44b93e:	03 c6                	add    %esi,%eax
44b940:	5e                   	pop    %esi
44b941:	c3                   	ret
44b942:	55                   	push   %ebp
44b943:	8b ec                	mov    %esp,%ebp
44b945:	56                   	push   %esi
44b946:	6a 0f                	push   $0xf
44b948:	8b f1                	mov    %ecx,%esi
44b94a:	e8 f2 fe ff ff       	call   0x44b841
44b94f:	8b 55 08             	mov    0x8(%ebp),%edx
44b952:	8b ce                	mov    %esi,%ecx
44b954:	89 02                	mov    %eax,(%edx)
44b956:	e8 82 ff ff ff       	call   0x44b8dd
44b95b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44b95e:	5e                   	pop    %esi
44b95f:	89 01                	mov    %eax,(%ecx)
44b961:	5d                   	pop    %ebp
44b962:	c2 08 00             	ret    $0x8
44b965:	53                   	push   %ebx
44b966:	56                   	push   %esi
44b967:	8b f1                	mov    %ecx,%esi
44b969:	33 db                	xor    %ebx,%ebx
44b96b:	39 5e 14             	cmp    %ebx,0x14(%esi)
44b96e:	75 1f                	jne    0x44b98f
44b970:	8d 46 24             	lea    0x24(%esi),%eax
44b973:	68 f4 ee 4a 00       	push   $0x4aeef4
44b978:	50                   	push   %eax
44b979:	e8 1b 7b fd ff       	call   0x423499
44b97e:	59                   	pop    %ecx
44b97f:	59                   	pop    %ecx
44b980:	89 46 1c             	mov    %eax,0x1c(%esi)
44b983:	85 c0                	test   %eax,%eax
44b985:	75 0b                	jne    0x44b992
44b987:	6a 02                	push   $0x2
44b989:	58                   	pop    %eax
44b98a:	e9 f8 00 00 00       	jmp    0x44ba87
44b98f:	89 5e 1c             	mov    %ebx,0x1c(%esi)
44b992:	39 5e 18             	cmp    %ebx,0x18(%esi)
44b995:	75 2c                	jne    0x44b9c3
44b997:	8d 86 2c 02 00 00    	lea    0x22c(%esi),%eax
44b99d:	68 00 39 4b 00       	push   $0x4b3900
44b9a2:	50                   	push   %eax
44b9a3:	e8 f1 7a fd ff       	call   0x423499
44b9a8:	59                   	pop    %ecx
44b9a9:	59                   	pop    %ecx
44b9aa:	89 46 20             	mov    %eax,0x20(%esi)
44b9ad:	85 c0                	test   %eax,%eax
44b9af:	75 15                	jne    0x44b9c6
44b9b1:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
44b9b4:	74 09                	je     0x44b9bf
44b9b6:	ff 76 1c             	push   0x1c(%esi)
44b9b9:	e8 26 7c fd ff       	call   0x4235e4
44b9be:	59                   	pop    %ecx
44b9bf:	6a 03                	push   $0x3
44b9c1:	eb c6                	jmp    0x44b989
44b9c3:	89 5e 20             	mov    %ebx,0x20(%esi)
44b9c6:	8d 46 10             	lea    0x10(%esi),%eax
44b9c9:	50                   	push   %eax
44b9ca:	8b ce                	mov    %esi,%ecx
44b9cc:	89 5e 0c             	mov    %ebx,0xc(%esi)
44b9cf:	89 5e 08             	mov    %ebx,0x8(%esi)
44b9d2:	89 9e 38 04 00 00    	mov    %ebx,0x438(%esi)
44b9d8:	89 9e 3c 04 00 00    	mov    %ebx,0x43c(%esi)
44b9de:	89 9e 40 04 00 00    	mov    %ebx,0x440(%esi)
44b9e4:	89 9e 48 04 00 00    	mov    %ebx,0x448(%esi)
44b9ea:	89 9e 4c 04 00 00    	mov    %ebx,0x44c(%esi)
44b9f0:	88 9e 44 04 00 00    	mov    %bl,0x444(%esi)
44b9f6:	89 9e 5c 04 00 00    	mov    %ebx,0x45c(%esi)
44b9fc:	89 9e 60 04 00 00    	mov    %ebx,0x460(%esi)
44ba02:	e8 e1 01 00 00       	call   0x44bbe8
44ba07:	85 c0                	test   %eax,%eax
44ba09:	74 21                	je     0x44ba2c
44ba0b:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
44ba0e:	74 09                	je     0x44ba19
44ba10:	ff 76 1c             	push   0x1c(%esi)
44ba13:	e8 cc 7b fd ff       	call   0x4235e4
44ba18:	59                   	pop    %ecx
44ba19:	39 5e 20             	cmp    %ebx,0x20(%esi)
44ba1c:	74 09                	je     0x44ba27
44ba1e:	ff 76 20             	push   0x20(%esi)
44ba21:	e8 be 7b fd ff       	call   0x4235e4
44ba26:	59                   	pop    %ecx
44ba27:	33 c0                	xor    %eax,%eax
44ba29:	40                   	inc    %eax
44ba2a:	eb 5b                	jmp    0x44ba87
44ba2c:	57                   	push   %edi
44ba2d:	8b ce                	mov    %esi,%ecx
44ba2f:	e8 b1 fd ff ff       	call   0x44b7e5
44ba34:	8b f8                	mov    %eax,%edi
44ba36:	85 ff                	test   %edi,%edi
44ba38:	74 20                	je     0x44ba5a
44ba3a:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
44ba3d:	74 09                	je     0x44ba48
44ba3f:	ff 76 1c             	push   0x1c(%esi)
44ba42:	e8 9d 7b fd ff       	call   0x4235e4
44ba47:	59                   	pop    %ecx
44ba48:	39 5e 20             	cmp    %ebx,0x20(%esi)
44ba4b:	74 09                	je     0x44ba56
44ba4d:	ff 76 20             	push   0x20(%esi)
44ba50:	e8 8f 7b fd ff       	call   0x4235e4
44ba55:	59                   	pop    %ecx
44ba56:	8b c7                	mov    %edi,%eax
44ba58:	eb 2c                	jmp    0x44ba86
44ba5a:	8b ce                	mov    %esi,%ecx
44ba5c:	e8 29 00 00 00       	call   0x44ba8a
44ba61:	8b ce                	mov    %esi,%ecx
44ba63:	e8 fc 00 00 00       	call   0x44bb64
44ba68:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
44ba6b:	74 09                	je     0x44ba76
44ba6d:	ff 76 1c             	push   0x1c(%esi)
44ba70:	e8 6f 7b fd ff       	call   0x4235e4
44ba75:	59                   	pop    %ecx
44ba76:	39 5e 20             	cmp    %ebx,0x20(%esi)
44ba79:	74 09                	je     0x44ba84
44ba7b:	ff 76 20             	push   0x20(%esi)
44ba7e:	e8 61 7b fd ff       	call   0x4235e4
44ba83:	59                   	pop    %ecx
44ba84:	33 c0                	xor    %eax,%eax
44ba86:	5f                   	pop    %edi
44ba87:	5e                   	pop    %esi
44ba88:	5b                   	pop    %ebx
44ba89:	c3                   	ret
44ba8a:	55                   	push   %ebp
44ba8b:	8b ec                	mov    %esp,%ebp
44ba8d:	83 ec 0c             	sub    $0xc,%esp
44ba90:	53                   	push   %ebx
44ba91:	56                   	push   %esi
44ba92:	8b f1                	mov    %ecx,%esi
44ba94:	57                   	push   %edi
44ba95:	8b 7e 10             	mov    0x10(%esi),%edi
44ba98:	89 7d f4             	mov    %edi,-0xc(%ebp)
44ba9b:	e9 a5 00 00 00       	jmp    0x44bb45
44baa0:	6a 01                	push   $0x1
44baa2:	8b ce                	mov    %esi,%ecx
44baa4:	e8 98 fd ff ff       	call   0x44b841
44baa9:	8b ce                	mov    %esi,%ecx
44baab:	83 f8 01             	cmp    $0x1,%eax
44baae:	75 2a                	jne    0x44bada
44bab0:	6a 08                	push   $0x8
44bab2:	e8 8a fd ff ff       	call   0x44b841
44bab7:	8b 96 38 04 00 00    	mov    0x438(%esi),%edx
44babd:	8b 8e 34 04 00 00    	mov    0x434(%esi),%ecx
44bac3:	81 e2 ff ff 01 00    	and    $0x1ffff,%edx
44bac9:	88 04 0a             	mov    %al,(%edx,%ecx,1)
44bacc:	ff 86 38 04 00 00    	incl   0x438(%esi)
44bad2:	ff 86 3c 04 00 00    	incl   0x43c(%esi)
44bad8:	eb 54                	jmp    0x44bb2e
44bada:	8d 45 fc             	lea    -0x4(%ebp),%eax
44badd:	50                   	push   %eax
44bade:	8d 45 f8             	lea    -0x8(%ebp),%eax
44bae1:	50                   	push   %eax
44bae2:	e8 5b fe ff ff       	call   0x44b942
44bae7:	8b 9e 38 04 00 00    	mov    0x438(%esi),%ebx
44baed:	2b 5d f8             	sub    -0x8(%ebp),%ebx
44baf0:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
44baf4:	74 38                	je     0x44bb2e
44baf6:	8b 7d fc             	mov    -0x4(%ebp),%edi
44baf9:	8b 8e 38 04 00 00    	mov    0x438(%esi),%ecx
44baff:	8b 96 34 04 00 00    	mov    0x434(%esi),%edx
44bb05:	8b c3                	mov    %ebx,%eax
44bb07:	25 ff ff 01 00       	and    $0x1ffff,%eax
44bb0c:	81 e1 ff ff 01 00    	and    $0x1ffff,%ecx
44bb12:	8a 04 10             	mov    (%eax,%edx,1),%al
44bb15:	43                   	inc    %ebx
44bb16:	88 04 11             	mov    %al,(%ecx,%edx,1)
44bb19:	ff 86 38 04 00 00    	incl   0x438(%esi)
44bb1f:	ff 86 3c 04 00 00    	incl   0x43c(%esi)
44bb25:	4f                   	dec    %edi
44bb26:	75 d1                	jne    0x44baf9
44bb28:	89 7d fc             	mov    %edi,-0x4(%ebp)
44bb2b:	8b 7d f4             	mov    -0xc(%ebp),%edi
44bb2e:	8b ce                	mov    %esi,%ecx
44bb30:	e8 32 01 00 00       	call   0x44bc67
44bb35:	8b ce                	mov    %esi,%ecx