444970:	79 15                	jns    0x444987
444972:	56                   	push   %esi
444973:	68 15 01 00 00       	push   $0x115
444978:	68 8c 67 46 00       	push   $0x46678c
44497d:	e8 51 ee fb ff       	call   0x4037d3
444982:	e9 a7 00 00 00       	jmp    0x444a2e
444987:	53                   	push   %ebx
444988:	57                   	push   %edi
444989:	ff 15 98 b2 44 00    	call   *0x44b298
44498f:	8b f8                	mov    %eax,%edi
444991:	85 ff                	test   %edi,%edi
444993:	75 0d                	jne    0x4449a2
444995:	be 0e 00 07 80       	mov    $0x8007000e,%esi
44499a:	56                   	push   %esi
44499b:	68 19 01 00 00       	push   $0x119
4449a0:	eb d6                	jmp    0x444978
4449a2:	57                   	push   %edi
4449a3:	53                   	push   %ebx
4449a4:	ff 75 fc             	push   -0x4(%ebp)
4449a7:	ff 75 08             	push   0x8(%ebp)
4449aa:	e8 51 4b 00 00       	call   0x449500
4449af:	85 c0                	test   %eax,%eax
4449b1:	75 2a                	jne    0x4449dd
4449b3:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4449b9:	0f b7 f0             	movzwl %ax,%esi
4449bc:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4449c2:	85 c0                	test   %eax,%eax
4449c4:	0f 4e f0             	cmovle %eax,%esi
4449c7:	85 f6                	test   %esi,%esi
4449c9:	79 12                	jns    0x4449dd
4449cb:	56                   	push   %esi
4449cc:	68 1d 01 00 00       	push   $0x11d
4449d1:	68 8c 67 46 00       	push   $0x46678c
4449d6:	e8 f8 ed fb ff       	call   0x4037d3
4449db:	eb 4a                	jmp    0x444a27
4449dd:	8d 45 f4             	lea    -0xc(%ebp),%eax
4449e0:	50                   	push   %eax
4449e1:	8d 45 f8             	lea    -0x8(%ebp),%eax
4449e4:	50                   	push   %eax
4449e5:	68 90 b7 44 00       	push   $0x44b790
4449ea:	57                   	push   %edi
4449eb:	e8 20 4b 00 00       	call   0x449510
4449f0:	85 c0                	test   %eax,%eax
4449f2:	75 20                	jne    0x444a14
4449f4:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4449fa:	0f b7 f0             	movzwl %ax,%esi
4449fd:	81 ce 00 00 07 80    	or     $0x80070000,%esi
444a03:	85 c0                	test   %eax,%eax
444a05:	0f 4e f0             	cmovle %eax,%esi
444a08:	85 f6                	test   %esi,%esi
444a0a:	79 08                	jns    0x444a14
444a0c:	56                   	push   %esi
444a0d:	68 22 01 00 00       	push   $0x122
444a12:	eb bd                	jmp    0x4449d1
444a14:	8b 55 f8             	mov    -0x8(%ebp),%edx
444a17:	8b 45 0c             	mov    0xc(%ebp),%eax
444a1a:	8b 4a 08             	mov    0x8(%edx),%ecx
444a1d:	89 08                	mov    %ecx,(%eax)
444a1f:	8b 4d 10             	mov    0x10(%ebp),%ecx
444a22:	8b 52 0c             	mov    0xc(%edx),%edx
444a25:	89 11                	mov    %edx,(%ecx)
444a27:	57                   	push   %edi
444a28:	ff 15 9c b2 44 00    	call   *0x44b29c
444a2e:	5f                   	pop    %edi
444a2f:	8b c6                	mov    %esi,%eax
444a31:	5e                   	pop    %esi
444a32:	5b                   	pop    %ebx
444a33:	8b e5                	mov    %ebp,%esp
444a35:	5d                   	pop    %ebp
444a36:	c2 0c 00             	ret    $0xc
444a39:	55                   	push   %ebp
444a3a:	8b ec                	mov    %esp,%ebp
444a3c:	8b 45 08             	mov    0x8(%ebp),%eax
444a3f:	53                   	push   %ebx
444a40:	8b 5d 0c             	mov    0xc(%ebp),%ebx
444a43:	56                   	push   %esi
444a44:	57                   	push   %edi
444a45:	8b 7d 10             	mov    0x10(%ebp),%edi
444a48:	33 f6                	xor    %esi,%esi
444a4a:	89 33                	mov    %esi,(%ebx)
444a4c:	6a 76                	push   $0x76
444a4e:	89 45 08             	mov    %eax,0x8(%ebp)
444a51:	89 37                	mov    %esi,(%edi)
444a53:	0f b7 08             	movzwl (%eax),%ecx
444a56:	5a                   	pop    %edx
444a57:	66 3b d1             	cmp    %cx,%dx
444a5a:	74 08                	je     0x444a64
444a5c:	6a 56                	push   $0x56
444a5e:	5a                   	pop    %edx
444a5f:	66 3b d1             	cmp    %cx,%dx
444a62:	75 06                	jne    0x444a6a
444a64:	83 c0 02             	add    $0x2,%eax
444a67:	89 45 08             	mov    %eax,0x8(%ebp)
444a6a:	6a 0a                	push   $0xa
444a6c:	8d 4d 08             	lea    0x8(%ebp),%ecx
444a6f:	51                   	push   %ecx
444a70:	50                   	push   %eax
444a71:	e8 1a 1a ff ff       	call   0x436490
444a76:	83 c4 0c             	add    $0xc,%esp
444a79:	8b c8                	mov    %eax,%ecx
444a7b:	8b 45 08             	mov    0x8(%ebp),%eax
444a7e:	6a 2e                	push   $0x2e
444a80:	5a                   	pop    %edx
444a81:	85 c0                	test   %eax,%eax
444a83:	74 0d                	je     0x444a92
444a85:	66 3b 10             	cmp    (%eax),%dx
444a88:	75 08                	jne    0x444a92
444a8a:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
444a90:	72 09                	jb     0x444a9b
444a92:	66 39 30             	cmp    %si,(%eax)
444a95:	0f 85 b3 00 00 00    	jne    0x444b4e
444a9b:	c1 e1 10             	shl    $0x10,%ecx
444a9e:	89 0b                	mov    %ecx,(%ebx)
444aa0:	66 39 30             	cmp    %si,(%eax)
444aa3:	0f 84 a8 00 00 00    	je     0x444b51
444aa9:	6a 0a                	push   $0xa
444aab:	8d 4d 08             	lea    0x8(%ebp),%ecx
444aae:	83 c0 02             	add    $0x2,%eax
444ab1:	51                   	push   %ecx
444ab2:	50                   	push   %eax
444ab3:	89 45 08             	mov    %eax,0x8(%ebp)
444ab6:	e8 d5 19 ff ff       	call   0x436490
444abb:	8b c8                	mov    %eax,%ecx
444abd:	83 c4 0c             	add    $0xc,%esp
444ac0:	8b 45 08             	mov    0x8(%ebp),%eax
444ac3:	85 c0                	test   %eax,%eax
444ac5:	74 10                	je     0x444ad7
444ac7:	6a 2e                	push   $0x2e
444ac9:	5a                   	pop    %edx
444aca:	66 3b 10             	cmp    (%eax),%dx
444acd:	75 08                	jne    0x444ad7
444acf:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
444ad5:	72 05                	jb     0x444adc
444ad7:	66 39 30             	cmp    %si,(%eax)
444ada:	75 72                	jne    0x444b4e
444adc:	09 0b                	or     %ecx,(%ebx)
444ade:	66 39 30             	cmp    %si,(%eax)
444ae1:	74 6e                	je     0x444b51
444ae3:	6a 0a                	push   $0xa
444ae5:	8d 4d 08             	lea    0x8(%ebp),%ecx
444ae8:	83 c0 02             	add    $0x2,%eax
444aeb:	51                   	push   %ecx
444aec:	50                   	push   %eax
444aed:	89 45 08             	mov    %eax,0x8(%ebp)
444af0:	e8 9b 19 ff ff       	call   0x436490
444af5:	8b c8                	mov    %eax,%ecx
444af7:	83 c4 0c             	add    $0xc,%esp
444afa:	8b 45 08             	mov    0x8(%ebp),%eax
444afd:	85 c0                	test   %eax,%eax
444aff:	74 10                	je     0x444b11
444b01:	6a 2e                	push   $0x2e
444b03:	5a                   	pop    %edx
444b04:	66 3b 10             	cmp    (%eax),%dx
444b07:	75 08                	jne    0x444b11
444b09:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
444b0f:	72 05                	jb     0x444b16
444b11:	66 39 30             	cmp    %si,(%eax)
444b14:	75 38                	jne    0x444b4e
444b16:	c1 e1 10             	shl    $0x10,%ecx
444b19:	89 0f                	mov    %ecx,(%edi)
444b1b:	66 39 30             	cmp    %si,(%eax)
444b1e:	74 31                	je     0x444b51
444b20:	6a 0a                	push   $0xa
444b22:	8d 4d 08             	lea    0x8(%ebp),%ecx
444b25:	83 c0 02             	add    $0x2,%eax
444b28:	51                   	push   %ecx
444b29:	50                   	push   %eax
444b2a:	89 45 08             	mov    %eax,0x8(%ebp)
444b2d:	e8 5e 19 ff ff       	call   0x436490
444b32:	8b 4d 08             	mov    0x8(%ebp),%ecx
444b35:	83 c4 0c             	add    $0xc,%esp
444b38:	85 c9                	test   %ecx,%ecx
444b3a:	74 12                	je     0x444b4e
444b3c:	33 d2                	xor    %edx,%edx
444b3e:	66 3b 11             	cmp    (%ecx),%dx
444b41:	75 0b                	jne    0x444b4e
444b43:	3d 00 00 01 00       	cmp    $0x10000,%eax
444b48:	73 04                	jae    0x444b4e
444b4a:	09 07                	or     %eax,(%edi)
444b4c:	eb 03                	jmp    0x444b51
444b4e:	33 f6                	xor    %esi,%esi
444b50:	46                   	inc    %esi
444b51:	5f                   	pop    %edi
444b52:	8b c6                	mov    %esi,%eax
444b54:	5e                   	pop    %esi
444b55:	5b                   	pop    %ebx
444b56:	5d                   	pop    %ebp
444b57:	c2 0c 00             	ret    $0xc
444b5a:	55                   	push   %ebp
444b5b:	8b ec                	mov    %esp,%ebp
444b5d:	83 ec 14             	sub    $0x14,%esp
444b60:	33 c0                	xor    %eax,%eax
444b62:	0f 57 c0             	xorps  %xmm0,%xmm0
444b65:	53                   	push   %ebx
444b66:	8b 5d 08             	mov    0x8(%ebp),%ebx
444b69:	56                   	push   %esi
444b6a:	89 45 08             	mov    %eax,0x8(%ebp)
444b6d:	89 45 fc             	mov    %eax,-0x4(%ebp)
444b70:	8b 45 0c             	mov    0xc(%ebp),%eax
444b73:	66 0f 13 45 ec       	movlpd %xmm0,-0x14(%ebp)
444b78:	57                   	push   %edi
444b79:	8b fb                	mov    %ebx,%edi
444b7b:	85 c0                	test   %eax,%eax
444b7d:	75 0f                	jne    0x444b8e
444b7f:	53                   	push   %ebx
444b80:	ff 15 f8 b0 44 00    	call   *0x44b0f8
444b86:	85 c0                	test   %eax,%eax
444b88:	0f 84 89 00 00 00    	je     0x444c17
444b8e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
444b91:	8d 04 43             	lea    (%ebx,%eax,2),%eax
444b94:	89 4d f8             	mov    %ecx,-0x8(%ebp)
444b97:	8b 4d ec             	mov    -0x14(%ebp),%ecx
444b9a:	89 45 f4             	mov    %eax,-0xc(%ebp)
444b9d:	89 4d 0c             	mov    %ecx,0xc(%ebp)
444ba0:	eb 0b                	jmp    0x444bad
444ba2:	6a 2e                	push   $0x2e
444ba4:	59                   	pop    %ecx
444ba5:	66 3b 0f             	cmp    (%edi),%cx
444ba8:	74 07                	je     0x444bb1
444baa:	83 c7 02             	add    $0x2,%edi
444bad:	3b f8                	cmp    %eax,%edi
444baf:	72 f1                	jb     0x444ba2
444bb1:	3b df                	cmp    %edi,%ebx
444bb3:	74 62                	je     0x444c17
444bb5:	8b f7                	mov    %edi,%esi
444bb7:	83 c8 ff             	or     $0xffffffff,%eax
444bba:	2b f3                	sub    %ebx,%esi
444bbc:	d1 fe                	sar    $1,%esi
444bbe:	0f 49 c6             	cmovns %esi,%eax
444bc1:	c1 fe 1f             	sar    $0x1f,%esi
444bc4:	81 e6 16 02 07 80    	and    $0x80070216,%esi
444bca:	7c 50                	jl     0x444c1c
444bcc:	8d 4d fc             	lea    -0x4(%ebp),%ecx
444bcf:	51                   	push   %ecx
444bd0:	50                   	push   %eax
444bd1:	53                   	push   %ebx
444bd2:	e8 bb dd fb ff       	call   0x402992
444bd7:	8b f0                	mov    %eax,%esi
444bd9:	85 f6                	test   %esi,%esi
444bdb:	78 3f                	js     0x444c1c
444bdd:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
444be1:	6a 30                	push   $0x30
444be3:	59                   	pop    %ecx
444be4:	2b 4d 08             	sub    0x8(%ebp),%ecx
444be7:	99                   	cltd
444be8:	e8 33 52 00 00       	call   0x449e20
444bed:	8b 5d 0c             	mov    0xc(%ebp),%ebx
444bf0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
444bf3:	0b d8                	or     %eax,%ebx
444bf5:	8b 45 f4             	mov    -0xc(%ebp),%eax
444bf8:	0b ca                	or     %edx,%ecx
444bfa:	89 5d 0c             	mov    %ebx,0xc(%ebp)
444bfd:	89 4d f8             	mov    %ecx,-0x8(%ebp)
444c00:	3b f8                	cmp    %eax,%edi
444c02:	73 23                	jae    0x444c27
444c04:	8b 4d 08             	mov    0x8(%ebp),%ecx
444c07:	83 c7 02             	add    $0x2,%edi
444c0a:	83 c1 10             	add    $0x10,%ecx
444c0d:	8b df                	mov    %edi,%ebx
444c0f:	89 4d 08             	mov    %ecx,0x8(%ebp)
444c12:	83 f9 40             	cmp    $0x40,%ecx
444c15:	72 96                	jb     0x444bad
444c17:	be 57 00 07 80       	mov    $0x80070057,%esi
444c1c:	5f                   	pop    %edi
444c1d:	8b c6                	mov    %esi,%eax
444c1f:	5e                   	pop    %esi
444c20:	5b                   	pop    %ebx
444c21:	8b e5                	mov    %ebp,%esp
444c23:	5d                   	pop    %ebp
444c24:	c2 0c 00             	ret    $0xc
444c27:	8b 45 10             	mov    0x10(%ebp),%eax
444c2a:	89 18                	mov    %ebx,(%eax)
444c2c:	89 48 04             	mov    %ecx,0x4(%eax)
444c2f:	eb eb                	jmp    0x444c1c
444c31:	55                   	push   %ebp
444c32:	8b ec                	mov    %esp,%ebp
444c34:	8b 4d 08             	mov    0x8(%ebp),%ecx
444c37:	8b 55 0c             	mov    0xc(%ebp),%edx
444c3a:	0f b7 c1             	movzwl %cx,%eax
444c3d:	50                   	push   %eax
444c3e:	8b c2                	mov    %edx,%eax
444c40:	0f ac c1 10          	shrd   $0x10,%eax,%ecx
444c44:	c1 e8 10             	shr    $0x10,%eax
444c47:	0f b7 c1             	movzwl %cx,%eax
444c4a:	50                   	push   %eax
444c4b:	0f b7 c2             	movzwl %dx,%eax
444c4e:	50                   	push   %eax
444c4f:	c1 ea 10             	shr    $0x10,%edx
444c52:	52                   	push   %edx
444c53:	68 9c 67 46 00       	push   $0x46679c
444c58:	ff 75 10             	push   0x10(%ebp)
444c5b:	e8 c0 d2 fb ff       	call   0x401f20
444c60:	83 c4 18             	add    $0x18,%esp
444c63:	5d                   	pop    %ebp
444c64:	c2 0c 00             	ret    $0xc
444c67:	55                   	push   %ebp
444c68:	8b ec                	mov    %esp,%ebp
444c6a:	56                   	push   %esi
444c6b:	57                   	push   %edi
444c6c:	6a 00                	push   $0x0
444c6e:	ff 75 0c             	push   0xc(%ebp)
444c71:	6a 02                	push   $0x2
444c73:	6a 00                	push   $0x0
444c75:	6a 01                	push   $0x1
444c77:	68 00 00 00 40       	push   $0x40000000
444c7c:	ff 75 08             	push   0x8(%ebp)
444c7f:	ff 15 d8 b0 44 00    	call   *0x44b0d8
444c85:	8b f8                	mov    %eax,%edi
444c87:	83 ff ff             	cmp    $0xffffffff,%edi
444c8a:	75 30                	jne    0x444cbc
444c8c:	ff 15 e8 b0 44 00    	call   *0x44b0e8
444c92:	0f b7 f0             	movzwl %ax,%esi
444c95:	81 ce 00 00 07 80    	or     $0x80070000,%esi
444c9b:	85 c0                	test   %eax,%eax
444c9d:	0f 4e f0             	cmovle %eax,%esi
444ca0:	b8 05 40 00 80       	mov    $0x80004005,%eax
444ca5:	85 f6                	test   %esi,%esi
444ca7:	0f 49 f0             	cmovns %eax,%esi
444caa:	56                   	push   %esi
444cab:	68 c2 03 00 00       	push   $0x3c2
444cb0:	68 8c 67 46 00       	push   $0x46678c
444cb5:	e8 19 eb fb ff       	call   0x4037d3
444cba:	eb 2a                	jmp    0x444ce6
444cbc:	ff 75 14             	push   0x14(%ebp)
444cbf:	ff 75 10             	push   0x10(%ebp)
444cc2:	57                   	push   %edi
444cc3:	e8 26 00 00 00       	call   0x444cee
444cc8:	8b f0                	mov    %eax,%esi
444cca:	85 f6                	test   %esi,%esi
444ccc:	78 0c                	js     0x444cda
444cce:	8b 45 18             	mov    0x18(%ebp),%eax
444cd1:	85 c0                	test   %eax,%eax
444cd3:	74 05                	je     0x444cda
444cd5:	89 38                	mov    %edi,(%eax)
444cd7:	83 cf ff             	or     $0xffffffff,%edi
444cda:	83 ff ff             	cmp    $0xffffffff,%edi
444cdd:	74 07                	je     0x444ce6
444cdf:	57                   	push   %edi
444ce0:	ff 15 d4 b0 44 00    	call   *0x44b0d4
444ce6:	5f                   	pop    %edi
444ce7:	8b c6                	mov    %esi,%eax
444ce9:	5e                   	pop    %esi
444cea:	5d                   	pop    %ebp
444ceb:	c2 14 00             	ret    $0x14
444cee:	55                   	push   %ebp
444cef:	8b ec                	mov    %esp,%ebp
444cf1:	51                   	push   %ecx
444cf2:	53                   	push   %ebx
444cf3:	8b 5d 0c             	mov    0xc(%ebp),%ebx
444cf6:	56                   	push   %esi