644d3d:	cc                   	int3
644d3e:	cc                   	int3
644d3f:	cc                   	int3
644d40:	8b 44 24 04          	mov    0x4(%esp),%eax
644d44:	85 c0                	test   %eax,%eax
644d46:	75 03                	jne    0x644d4b
644d48:	c2 04 00             	ret    $0x4
644d4b:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
644d50:	77 3b                	ja     0x644d8d
644d52:	c1 e0 02             	shl    $0x2,%eax
644d55:	3d 00 10 00 00       	cmp    $0x1000,%eax
644d5a:	72 22                	jb     0x644d7e
644d5c:	8d 48 23             	lea    0x23(%eax),%ecx
644d5f:	3b c8                	cmp    %eax,%ecx
644d61:	76 2f                	jbe    0x644d92
644d63:	51                   	push   %ecx
644d64:	e8 14 5c de ff       	call   0x42a97d
644d69:	8b c8                	mov    %eax,%ecx
644d6b:	83 c4 04             	add    $0x4,%esp
644d6e:	85 c9                	test   %ecx,%ecx
644d70:	74 25                	je     0x644d97
644d72:	8d 41 23             	lea    0x23(%ecx),%eax
644d75:	83 e0 e0             	and    $0xffffffe0,%eax
644d78:	89 48 fc             	mov    %ecx,-0x4(%eax)
644d7b:	c2 04 00             	ret    $0x4
644d7e:	50                   	push   %eax
644d7f:	e8 f9 5b de ff       	call   0x42a97d
644d84:	83 c4 04             	add    $0x4,%esp
644d87:	85 c0                	test   %eax,%eax
644d89:	75 bd                	jne    0x644d48
644d8b:	eb 0f                	jmp    0x644d9c
644d8d:	e8 8c d1 db ff       	call   0x401f1e
644d92:	e8 87 d1 db ff       	call   0x401f1e
644d97:	e8 f1 8b df ff       	call   0x43d98d
644d9c:	e8 ec 8b df ff       	call   0x43d98d
644da1:	cc                   	int3
644da2:	cc                   	int3
644da3:	cc                   	int3
644da4:	cc                   	int3
644da5:	cc                   	int3
644da6:	cc                   	int3
644da7:	cc                   	int3
644da8:	cc                   	int3
644da9:	cc                   	int3
644daa:	cc                   	int3
644dab:	cc                   	int3
644dac:	cc                   	int3
644dad:	cc                   	int3
644dae:	cc                   	int3
644daf:	cc                   	int3
644db0:	cc                   	int3
644db1:	cc                   	int3
644db2:	cc                   	int3
644db3:	cc                   	int3
644db4:	cc                   	int3
644db5:	cc                   	int3
644db6:	cc                   	int3
644db7:	cc                   	int3
644db8:	cc                   	int3
644db9:	cc                   	int3
644dba:	cc                   	int3
644dbb:	cc                   	int3
644dbc:	cc                   	int3
644dbd:	cc                   	int3
644dbe:	cc                   	int3
644dbf:	cc                   	int3
644dc0:	8b 44 24 04          	mov    0x4(%esp),%eax
644dc4:	8b 09                	mov    (%ecx),%ecx
644dc6:	89 08                	mov    %ecx,(%eax)
644dc8:	c2 04 00             	ret    $0x4
644dcb:	cc                   	int3
644dcc:	cc                   	int3
644dcd:	cc                   	int3
644dce:	cc                   	int3
644dcf:	cc                   	int3
644dd0:	8b 44 24 04          	mov    0x4(%esp),%eax
644dd4:	8b 09                	mov    (%ecx),%ecx
644dd6:	89 08                	mov    %ecx,(%eax)
644dd8:	c2 04 00             	ret    $0x4
644ddb:	cc                   	int3
644ddc:	cc                   	int3
644ddd:	cc                   	int3
644dde:	cc                   	int3
644ddf:	cc                   	int3
644de0:	8b 44 24 04          	mov    0x4(%esp),%eax
644de4:	8b 09                	mov    (%ecx),%ecx
644de6:	89 08                	mov    %ecx,(%eax)
644de8:	c2 04 00             	ret    $0x4
644deb:	cc                   	int3
644dec:	cc                   	int3
644ded:	cc                   	int3
644dee:	cc                   	int3
644def:	cc                   	int3
644df0:	8b 44 24 04          	mov    0x4(%esp),%eax
644df4:	8b 09                	mov    (%ecx),%ecx
644df6:	89 08                	mov    %ecx,(%eax)
644df8:	c2 04 00             	ret    $0x4
644dfb:	cc                   	int3
644dfc:	cc                   	int3
644dfd:	cc                   	int3
644dfe:	cc                   	int3
644dff:	cc                   	int3
644e00:	8b 44 24 04          	mov    0x4(%esp),%eax
644e04:	8b 09                	mov    (%ecx),%ecx
644e06:	89 08                	mov    %ecx,(%eax)
644e08:	c2 04 00             	ret    $0x4
644e0b:	cc                   	int3
644e0c:	cc                   	int3
644e0d:	cc                   	int3
644e0e:	cc                   	int3
644e0f:	cc                   	int3
644e10:	8b 44 24 04          	mov    0x4(%esp),%eax
644e14:	8b 09                	mov    (%ecx),%ecx
644e16:	89 08                	mov    %ecx,(%eax)
644e18:	c2 04 00             	ret    $0x4
644e1b:	cc                   	int3
644e1c:	cc                   	int3
644e1d:	cc                   	int3
644e1e:	cc                   	int3
644e1f:	cc                   	int3
644e20:	8b 44 24 04          	mov    0x4(%esp),%eax
644e24:	8b 09                	mov    (%ecx),%ecx
644e26:	89 08                	mov    %ecx,(%eax)
644e28:	c2 04 00             	ret    $0x4
644e2b:	cc                   	int3
644e2c:	cc                   	int3
644e2d:	cc                   	int3
644e2e:	cc                   	int3
644e2f:	cc                   	int3
644e30:	8b 41 08             	mov    0x8(%ecx),%eax
644e33:	2b 01                	sub    (%ecx),%eax
644e35:	c1 f8 02             	sar    $0x2,%eax
644e38:	c3                   	ret
644e39:	cc                   	int3
644e3a:	cc                   	int3
644e3b:	cc                   	int3
644e3c:	cc                   	int3
644e3d:	cc                   	int3
644e3e:	cc                   	int3
644e3f:	cc                   	int3
644e40:	8b 41 08             	mov    0x8(%ecx),%eax
644e43:	2b 01                	sub    (%ecx),%eax
644e45:	c1 f8 02             	sar    $0x2,%eax
644e48:	c3                   	ret
644e49:	cc                   	int3
644e4a:	cc                   	int3
644e4b:	cc                   	int3
644e4c:	cc                   	int3
644e4d:	cc                   	int3
644e4e:	cc                   	int3
644e4f:	cc                   	int3
644e50:	8b 41 08             	mov    0x8(%ecx),%eax
644e53:	2b 01                	sub    (%ecx),%eax
644e55:	c1 f8 02             	sar    $0x2,%eax
644e58:	c3                   	ret
644e59:	cc                   	int3
644e5a:	cc                   	int3
644e5b:	cc                   	int3
644e5c:	cc                   	int3
644e5d:	cc                   	int3
644e5e:	cc                   	int3
644e5f:	cc                   	int3
644e60:	8b 41 08             	mov    0x8(%ecx),%eax
644e63:	2b 01                	sub    (%ecx),%eax
644e65:	c1 f8 02             	sar    $0x2,%eax
644e68:	c3                   	ret
644e69:	cc                   	int3
644e6a:	cc                   	int3
644e6b:	cc                   	int3
644e6c:	cc                   	int3
644e6d:	cc                   	int3
644e6e:	cc                   	int3
644e6f:	cc                   	int3
644e70:	8b 01                	mov    (%ecx),%eax
644e72:	89 41 04             	mov    %eax,0x4(%ecx)
644e75:	c3                   	ret
644e76:	cc                   	int3
644e77:	cc                   	int3
644e78:	cc                   	int3
644e79:	cc                   	int3
644e7a:	cc                   	int3
644e7b:	cc                   	int3
644e7c:	cc                   	int3
644e7d:	cc                   	int3
644e7e:	cc                   	int3
644e7f:	cc                   	int3
644e80:	8b 01                	mov    (%ecx),%eax
644e82:	89 41 04             	mov    %eax,0x4(%ecx)
644e85:	c3                   	ret
644e86:	cc                   	int3
644e87:	cc                   	int3
644e88:	cc                   	int3
644e89:	cc                   	int3
644e8a:	cc                   	int3
644e8b:	cc                   	int3
644e8c:	cc                   	int3
644e8d:	cc                   	int3
644e8e:	cc                   	int3
644e8f:	cc                   	int3
644e90:	8b 01                	mov    (%ecx),%eax
644e92:	89 41 04             	mov    %eax,0x4(%ecx)
644e95:	c3                   	ret
644e96:	cc                   	int3
644e97:	cc                   	int3
644e98:	cc                   	int3
644e99:	cc                   	int3
644e9a:	cc                   	int3
644e9b:	cc                   	int3
644e9c:	cc                   	int3
644e9d:	cc                   	int3
644e9e:	cc                   	int3
644e9f:	cc                   	int3
644ea0:	8b 01                	mov    (%ecx),%eax
644ea2:	89 41 04             	mov    %eax,0x4(%ecx)
644ea5:	c3                   	ret
644ea6:	cc                   	int3
644ea7:	cc                   	int3
644ea8:	cc                   	int3
644ea9:	cc                   	int3
644eaa:	cc                   	int3
644eab:	cc                   	int3
644eac:	cc                   	int3
644ead:	cc                   	int3
644eae:	cc                   	int3
644eaf:	cc                   	int3
644eb0:	8b 44 24 08          	mov    0x8(%esp),%eax
644eb4:	8b 4c 24 04          	mov    0x4(%esp),%ecx
644eb8:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
644ebd:	77 2e                	ja     0x644eed
644ebf:	c1 e0 02             	shl    $0x2,%eax
644ec2:	3d 00 10 00 00       	cmp    $0x1000,%eax
644ec7:	72 1a                	jb     0x644ee3
644ec9:	f6 c1 1f             	test   $0x1f,%cl
644ecc:	75 24                	jne    0x644ef2
644ece:	8b 41 fc             	mov    -0x4(%ecx),%eax
644ed1:	3b c1                	cmp    %ecx,%eax
644ed3:	73 22                	jae    0x644ef7
644ed5:	2b c8                	sub    %eax,%ecx
644ed7:	83 f9 04             	cmp    $0x4,%ecx
644eda:	72 20                	jb     0x644efc
644edc:	83 f9 23             	cmp    $0x23,%ecx
644edf:	77 20                	ja     0x644f01
644ee1:	8b c8                	mov    %eax,%ecx
644ee3:	51                   	push   %ecx
644ee4:	e8 a6 c8 db ff       	call   0x40178f
644ee9:	59                   	pop    %ecx
644eea:	c2 08 00             	ret    $0x8
644eed:	e8 9b 8a df ff       	call   0x43d98d
644ef2:	e8 96 8a df ff       	call   0x43d98d
644ef7:	e8 91 8a df ff       	call   0x43d98d
644efc:	e8 8c 8a df ff       	call   0x43d98d
644f01:	e8 87 8a df ff       	call   0x43d98d
644f06:	cc                   	int3
644f07:	cc                   	int3
644f08:	cc                   	int3
644f09:	cc                   	int3
644f0a:	cc                   	int3
644f0b:	cc                   	int3
644f0c:	cc                   	int3
644f0d:	cc                   	int3
644f0e:	cc                   	int3
644f0f:	cc                   	int3
644f10:	cc                   	int3
644f11:	cc                   	int3
644f12:	cc                   	int3
644f13:	cc                   	int3
644f14:	cc                   	int3
644f15:	cc                   	int3
644f16:	cc                   	int3
644f17:	cc                   	int3
644f18:	cc                   	int3
644f19:	cc                   	int3
644f1a:	cc                   	int3
644f1b:	cc                   	int3
644f1c:	cc                   	int3
644f1d:	cc                   	int3
644f1e:	cc                   	int3
644f1f:	cc                   	int3
644f20:	8b 44 24 08          	mov    0x8(%esp),%eax
644f24:	8b 4c 24 04          	mov    0x4(%esp),%ecx
644f28:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
644f2d:	77 2e                	ja     0x644f5d
644f2f:	c1 e0 02             	shl    $0x2,%eax
644f32:	3d 00 10 00 00       	cmp    $0x1000,%eax
644f37:	72 1a                	jb     0x644f53
644f39:	f6 c1 1f             	test   $0x1f,%cl
644f3c:	75 24                	jne    0x644f62
644f3e:	8b 41 fc             	mov    -0x4(%ecx),%eax
644f41:	3b c1                	cmp    %ecx,%eax
644f43:	73 22                	jae    0x644f67
644f45:	2b c8                	sub    %eax,%ecx
644f47:	83 f9 04             	cmp    $0x4,%ecx
644f4a:	72 20                	jb     0x644f6c
644f4c:	83 f9 23             	cmp    $0x23,%ecx
644f4f:	77 20                	ja     0x644f71
644f51:	8b c8                	mov    %eax,%ecx
644f53:	51                   	push   %ecx
644f54:	e8 36 c8 db ff       	call   0x40178f
644f59:	59                   	pop    %ecx
644f5a:	c2 08 00             	ret    $0x8
644f5d:	e8 2b 8a df ff       	call   0x43d98d
644f62:	e8 26 8a df ff       	call   0x43d98d
644f67:	e8 21 8a df ff       	call   0x43d98d
644f6c:	e8 1c 8a df ff       	call   0x43d98d
644f71:	e8 17 8a df ff       	call   0x43d98d
644f76:	cc                   	int3
644f77:	cc                   	int3
644f78:	cc                   	int3
644f79:	cc                   	int3
644f7a:	cc                   	int3
644f7b:	cc                   	int3
644f7c:	cc                   	int3
644f7d:	cc                   	int3
644f7e:	cc                   	int3
644f7f:	cc                   	int3
644f80:	cc                   	int3
644f81:	cc                   	int3
644f82:	cc                   	int3
644f83:	cc                   	int3
644f84:	cc                   	int3
644f85:	cc                   	int3
644f86:	cc                   	int3
644f87:	cc                   	int3
644f88:	cc                   	int3
644f89:	cc                   	int3
644f8a:	cc                   	int3
644f8b:	cc                   	int3
644f8c:	cc                   	int3
644f8d:	cc                   	int3
644f8e:	cc                   	int3
644f8f:	cc                   	int3
644f90:	8b 44 24 08          	mov    0x8(%esp),%eax
644f94:	8b 4c 24 04          	mov    0x4(%esp),%ecx
644f98:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
644f9d:	77 2e                	ja     0x644fcd
644f9f:	c1 e0 02             	shl    $0x2,%eax
644fa2:	3d 00 10 00 00       	cmp    $0x1000,%eax
644fa7:	72 1a                	jb     0x644fc3
644fa9:	f6 c1 1f             	test   $0x1f,%cl
644fac:	75 24                	jne    0x644fd2
644fae:	8b 41 fc             	mov    -0x4(%ecx),%eax
644fb1:	3b c1                	cmp    %ecx,%eax
644fb3:	73 22                	jae    0x644fd7
644fb5:	2b c8                	sub    %eax,%ecx
644fb7:	83 f9 04             	cmp    $0x4,%ecx
644fba:	72 20                	jb     0x644fdc
644fbc:	83 f9 23             	cmp    $0x23,%ecx
644fbf:	77 20                	ja     0x644fe1
644fc1:	8b c8                	mov    %eax,%ecx
644fc3:	51                   	push   %ecx